nl:: Weave:: Profiles:: DataManagement_Current:: GenericTraitCatalogImpl
#include <src/lib/profiles/data-management/Current/GenericTraitCatalogImpl.h>
Weave 提供了 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 结构的读取器,请解析该结构,并将匹配的句柄返回给 trait。
|
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 结构的读取器,请解析该结构,并将匹配的句柄返回给 trait。
清除
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
给定句柄,返回对匹配特征数据实例的引用。
定位
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 )