nl::Weave::Profiles::DataManagement_Current::GenericTraitCatalogImpl

#include <src/lib/profiles/data-management/Current/GenericTraitCatalogImpl.h>

Weave는 모두 동일한 리소스를 참조하는 trait 데이터 인스턴스 컬렉션에 대한 TraitCatalogBase 인터페이스 구현을 제공했습니다.

요약

이러한 인스턴스를 위해 C++ 맵 지원 저장소를 제공합니다.

상속

상속 대상: nl::Weave::Profiles::DataManagement_Current::TraitCatalogBase< T >

생성자 및 소멸자

GenericTraitCatalogImpl(void)
~GenericTraitCatalogImpl(void)

공개 함수

Add(const ResourceIdentifier & aResourceId, const uint64_t & aInstanceId, PropertyPathHandle basePathHandle, T *traitInstance, TraitDataHandle & aHandle)
AddressToHandle(TLV::TLVReader & aReader, TraitDataHandle & aHandle, SchemaVersionRange & aSchemaVersionRange) const
virtual WEAVE_ERROR
WDM 경로의 Path::kCsTag_RootSection 구조에 배치된 리더가 주어지면 이 구조를 파싱하고 일치하는 핸들을 트레잇에 반환합니다.
Clear(void)
DispatchEvent(uint16_t aEvent, void *aContext) const
virtual WEAVE_ERROR
이 카탈로그에 있는 모든 trait 데이터 인스턴스에 이벤트를 전달합니다.
GetInstanceId(TraitDataHandle aHandle, uint64_t & aInstanceId) const
virtual WEAVE_ERROR
GetResourceId(TraitDataHandle aHandle, ResourceIdentifier & aResourceId) const
virtual WEAVE_ERROR
HandleToAddress(TraitDataHandle aHandle, TLV::TLVWriter & aWriter, SchemaVersionRange & aSchemaVersionRange) const
virtual WEAVE_ERROR
trait 핸들이 주어지면 Path::kCsTag_RootSection 구조의 TLV를 작성합니다.
Iterate(IteratorCallback aCallback, void *aContext)
virtual void
Locate(TraitDataHandle aHandle, T **aTraitInstance) const
virtual WEAVE_ERROR
핸들이 주어지면 일치하는 trait 데이터 인스턴스에 대한 참조를 반환합니다.
Locate(T *aTraitInstance, TraitDataHandle & aHandle) const
virtual WEAVE_ERROR
되돌림.
Locate(uint32_t aProfileId, uint64_t aInstanceId, ResourceIdentifier aResourceId, TraitDataHandle & aHandle) const
Locate(uint32_t aProfileId, uint64_t aInstanceId, ResourceIdentifier aResourceId, T **aTraitInstance) const
PrepareSubscriptionPathList(TraitPath *pathList, uint16_t pathListSize, uint16_t & pathListLen)
PrepareSubscriptionSpecificPathList(TraitPath *pathList, uint16_t pathListSize, TraitDataHandle aHandle)
Remove(T *traitInstance)
Remove(TraitDataHandle aHandle)
SetNodeId(uint64_t aNodeId)
void
Size(void) const
uint32_t
카탈로그의 trait 인스턴스 수를 반환합니다.

공개 함수

추가

WEAVE_ERROR Add(
  const ResourceIdentifier & aResourceId,
  const uint64_t & aInstanceId,
  PropertyPathHandle basePathHandle,
  T *traitInstance,
  TraitDataHandle & aHandle
)

AddressToHandle

virtual WEAVE_ERROR AddressToHandle(
  TLV::TLVReader & aReader,
  TraitDataHandle & aHandle,
  SchemaVersionRange & aSchemaVersionRange
) const 

WDM 경로의 Path::kCsTag_RootSection 구조에 배치된 리더가 주어지면 이 구조를 파싱하고 일치하는 핸들을 트레잇에 반환합니다.

지우기

WEAVE_ERROR Clear(
  void
)

DispatchEvent

virtual WEAVE_ERROR DispatchEvent(
  uint16_t aEvent,
  void *aContext
) const 

이 카탈로그에 있는 모든 trait 데이터 인스턴스에 이벤트를 전달합니다.

GenericTraitCatalogImpl

 GenericTraitCatalogImpl(
  void
)

GetInstanceId

virtual WEAVE_ERROR GetInstanceId(
  TraitDataHandle aHandle,
  uint64_t & aInstanceId
) const 

GetResourceId

virtual WEAVE_ERROR GetResourceId(
  TraitDataHandle aHandle,
  ResourceIdentifier & aResourceId
) const 

HandleToAddress

virtual WEAVE_ERROR HandleToAddress(
  TraitDataHandle aHandle,
  TLV::TLVWriter & aWriter,
  SchemaVersionRange & aSchemaVersionRange
) const 

trait 핸들이 주어지면 Path::kCsTag_RootSection 구조의 TLV를 작성합니다.

재조정

virtual void Iterate(
  IteratorCallback aCallback,
  void *aContext
)

위치 확인

virtual WEAVE_ERROR Locate(
  TraitDataHandle aHandle,
  T **aTraitInstance
) const 

핸들이 주어지면 일치하는 trait 데이터 인스턴스에 대한 참조를 반환합니다.

위치 확인

virtual WEAVE_ERROR Locate(
  T *aTraitInstance,
  TraitDataHandle & aHandle
) const 

되돌림.

위치 확인

WEAVE_ERROR Locate(
  uint32_t aProfileId,
  uint64_t aInstanceId,
  ResourceIdentifier aResourceId,
  TraitDataHandle & aHandle
) const 

위치 확인

WEAVE_ERROR Locate(
  uint32_t aProfileId,
  uint64_t aInstanceId,
  ResourceIdentifier aResourceId,
  T **aTraitInstance
) const 

PrepareSubscriptionPathList

WEAVE_ERROR PrepareSubscriptionPathList(
  TraitPath *pathList,
  uint16_t pathListSize,
  uint16_t & pathListLen
)

PrepareSubscriptionSpecificPathList

WEAVE_ERROR PrepareSubscriptionSpecificPathList(
  TraitPath *pathList,
  uint16_t pathListSize,
  TraitDataHandle aHandle
)

삭제

WEAVE_ERROR Remove(
  T *traitInstance
)

삭제

WEAVE_ERROR Remove(
  TraitDataHandle aHandle
)

SetNodeId

void SetNodeId(
  uint64_t aNodeId
)

크기

uint32_t Size(
  void
) const 

카탈로그의 trait 인스턴스 수를 반환합니다.

~GenericTraitCatalogImpl

virtual  ~GenericTraitCatalogImpl(
  void
)