NL::编织::简介::数据管理_当前::特性可更新数据接收器
概括
遗产
继承自:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
构造函数和析构函数 | |
---|---|
TraitUpdatableDataSink (const TraitSchemaEngine *aEngine) |
公共职能 | |
---|---|
ClearUpdated ( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle) | |
GetData ( PropertyPathHandle aHandle, uint64_t aTagToWrite,nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE | virtual WEAVE_ERROR 给定一个路径处理一个节点, TLV作家,以及指示值是否为空或不存在布尔,摆脱,将建立一个通知特征源中的数据。 |
GetSubscriptionClient () __OVERRIDE | virtual SubscriptionClient * |
GetUpdateEncoder () __OVERRIDE | virtual UpdateEncoder * |
IsUpdatableDataSink (void) __OVERRIDE | virtual bool |
Lock ( SubscriptionClient *apSubClient) | void |
ReadData (TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite,TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom) | |
SetSubscriptionClient ( SubscriptionClient *apSubClient) __OVERRIDE | virtual WEAVE_ERROR |
SetUpdateEncoder ( UpdateEncoder *apEncoder) __OVERRIDE | virtual WEAVE_ERROR |
SetUpdated ( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional) | 声明给定的 PropertyPathHandle 具有本地修改。 |
Unlock ( SubscriptionClient *apSubClient) | void |
公共职能
清除更新
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
获取数据
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
给定一个路径处理一个节点, TLV作家,以及指示值是否为空或不存在布尔,摆脱,将建立一个通知特征源中的数据。
如果路径句柄不是叶节点,TDM 将处理向编写器写入值(如打开容器、取消结构等)。如果非叶节点为空或不存在,TDM 将不会为其子节点调用 GetData。
只会为可为空、可选、临时或叶子的句柄调用此函数。期望是任何具有启用这些选项的句柄的特征都将实现适当的逻辑来填充 aIsNull 和 aIsPresent。
细节 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||||
返回值 |
|
获取订阅客户端
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
获取更新编码器
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
可更新数据接收器
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
锁
void Lock( SubscriptionClient *apSubClient )
读取数据
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
设置订阅客户端
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
设置更新编码器
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
设置更新
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
声明给定的 PropertyPathHandle 具有本地修改。
该NotificationEngine直到更新请求已经被处理将不会覆盖手柄及其后代。应用程序将接收此句柄或其祖先之一的 kEvent_OnUpdateComplete 回调以及更新操作的结果。修改可以是有条件的,也可以不是。如果特征实例的本地副本不再与发布者同步,则条件数据更新将丢失,因为它被发布者本身或另一个客户端改变了。同一特征实例中不支持同时进行条件和无条件突变。
细节 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
| ||||||||||||
返回值 |
|
特性可更新数据接收器
TraitUpdatableDataSink( const TraitSchemaEngine *aEngine )
开锁
void Unlock( SubscriptionClient *apSubClient )