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 結構體,請剖析該結構體,並將相符的句柄傳回至特徵。
|
Clear(void)
|
|
DispatchEvent(uint16_t aEvent, void *aContext) const
|
virtual WEAVE_ERROR
將事件分派給這個目錄中包含的所有特徵資料執行個體。
|
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
針對特徵句柄,寫出 Path::kCsTag_RootSection 結構體的 TLV。
|
Iterate(IteratorCallback aCallback, void *aContext)
|
virtual void
|
Locate(TraitDataHandle aHandle, T **aTraitInstance) const
|
virtual WEAVE_ERROR
在提供句柄的情況下,傳回相符特徵資料例項的參照。
|
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
傳回目錄中的特徵例項數量。
|
公開函式
新增
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
將事件分派給目錄中收錄的所有特徵資料例項。
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
針對特徵句柄,寫出 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
傳回目錄中的特徵例項數量。
~GenericTraitCatalogImpl
virtual ~GenericTraitCatalogImpl( void )