nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
摘要
繼承
沿用自: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
|
公開函式
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
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。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||
傳回值 |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
鎖定
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
宣告指定的 PropertyPathHandle 具有本機修改。
更新要求處理完畢之前,NotificationEngine 不會覆寫處理常式及其子系。應用程式會收到此處理常式或其其中一個祖系的 kEvent_OnUpdateComplete 回呼,以及更新作業的結果。修改可以是有條件的。如果特徵執行個體的本機副本與發布者不再同步,因為發布商本身或其他用戶端變更了條件式資料,就會遺失條件資料更新。在同一個特徵例項中,無法同時支援條件式和非條件式異動。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|