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 では、更新リクエストの処理が完了するまでハンドルとその子孫がオーバーライドされません。アプリケーションは、このハンドルまたはそのいずれかの祖先の kEvent_OnUpdateComplete コールバックを、update オペレーションの結果とともに受け取ります。変更は条件付きであっても、そうでなくてもかまいません。トレイト インスタンスのローカルコピーがパブリッシャー自身または別のクライアントによって変更され、パブリッシャーと同期しなくなった場合、条件付きデータの更新は失われます。条件付きミューテーションと無条件ミューテーションは、同じトレイト インスタンスで同時にサポートされません。
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
|