nl:: Weave:: Profiles:: DataManagement_Current:: NotificationEngine:: NotifyRequestBuilder
#include <src/lib/profiles/data-management/Current/NotificationEngine.h>
これは、通知を作成し、そのコンシューマーからのメッセージの構築と構造を抽象化するためのヘルパークラスを提供します。
概要
これは、MessageDef.cpp に用意されている同様のクラスのよりコンパクトなバージョンで、デバイスのフラッシュと RAM のニーズに敏感になることを目的としています。
パブリック関数 |
|
---|---|
Checkpoint(TLV::TLVWriter & aPoint)
|
リクエストの状態を TLVWriter にチェックポイントを設定します。
|
EndDataList()
|
データリスト配列の作成を終了します。
|
EndEventList()
|
イベントリストの作成を終了します。
|
EndNotifyRequest()
|
通知の作成を終了します。
|
GetWriter(void)
|
|
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
|
ビルダーを初期化します。
|
MoveToState(NotifyRequestBuilderState aDesiredState)
|
メインの状態遷移関数。
|
Rollback(TLV::TLVWriter & aPoint)
|
リクエストの状態をチェックポイントが設定された TLVWriter にロールバックします。
|
StartDataList(void)
|
データリスト配列の作成を開始します。
|
StartEventList()
|
イベントリストの作成を開始します。
|
StartNotifyRequest()
|
通知の作成を開始します。
|
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
|
トレイトパスがあれば、そのパスに関連するデータ要素を書き出します。
|
パブリック関数
チェックポイント
WEAVE_ERROR Checkpoint( TLV::TLVWriter & aPoint )
リクエストの状態を TLVWriter にチェックポイントを設定します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
EndDataList
WEAVE_ERROR EndDataList()
データリスト配列の作成を終了します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
EndEventList
WEAVE_ERROR EndEventList()
イベントリストの作成を終了します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
EndNotifyRequest
WEAVE_ERROR EndNotifyRequest()
通知の作成を終了します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
GetWriter
TLV::TLVWriter * GetWriter( void )
init
WEAVE_ERROR Init( PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize )
ビルダーを初期化します。
1 回だけ呼び出します。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|
MoveToState
WEAVE_ERROR MoveToState( NotifyRequestBuilderState aDesiredState )
メインの状態遷移関数。
この関数は目的の状態(到達する通知リクエスト ビルダーのフェーズ)を取得し、リクエストをその状態に遷移します。望ましい状態が現在の状態と同じ場合、この関数は何も行いません。それ以外の場合は、PacketBuffer が割り当てられます(必要な場合)。この関数は、まずリクエストを最上位の通知リクエストに移行し(必要に応じて、通知リクエストの TLV 構造を開くか、現在の TLV データコンテナをクローズします)、次に適切な TLV データコンテナを開くか、包括的な Notify リクエストを閉じることで Notify リクエストを移行します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
ロールバック
WEAVE_ERROR Rollback( TLV::TLVWriter & aPoint )
リクエストの状態をチェックポイントが設定された TLVWriter にロールバックします。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
StartDataList
WEAVE_ERROR StartDataList( void )
データリスト配列の作成を開始します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
StartEventList
WEAVE_ERROR StartEventList()
イベントリストの作成を開始します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
StartNotifyRequest
WEAVE_ERROR StartNotifyRequest()
通知の作成を開始します。
詳細 | |||||||
---|---|---|---|---|---|---|---|
戻り値 |
|
WriteDataElement
WEAVE_ERROR WriteDataElement( TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles )
トレイトパスがあれば、そのパスに関連するデータ要素を書き出します。
呼び出し元は、オプションでハンドルセットを渡すこともできます。これにより、親プロパティ パスハンドルの直接の子ノードのセットを絞り込んだマージ操作を利用できます。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|