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 ライター、値が null かどうかを示すブール値が与えられた場合、通知を作成するトレイト ソースからデータを取得します。
|
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 ライター、値が null かどうかを示すブール値が与えられた場合、通知を作成するトレイト ソースからデータを取得します。
パスハンドルがリーフノードでない場合、TDM はライターへの値の書き込み(コンテナを開く、構造体を null 化するなど)を処理します。非リーフノードが null または存在しない場合、TDM はその子の GetData を呼び出しません。
この関数は、null 値許容のハンドル、オプション、エフェメラル、リーフのハンドルに対してのみ呼び出されます。これらのオプションが有効になっているハンドルを持つトレイトは、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 はハンドルとその子孫をオーバーライドしません。アプリは、このハンドルまたはその祖先の 1 つについて、更新操作の結果とともに kEvent_OnUpdateComplete コールバックを受け取ります。変更は条件付きの場合もあれば、そうでない場合もあります。トレイト インスタンスのローカルコピーがパブリッシャー自体または別のクライアントによって変更されたため、パブリッシャーと同期しなくなった場合、条件付きデータの更新は失われます。条件付きミューテーションと無条件ミューテーションは、同じトレイト インスタンスで同時にはサポートされていません。
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|