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 )
トレイトパスについて、そのパスに関連付けられたデータ要素を書き出します。
呼び出し元はオプションでハンドルセットを渡すこともできます。これにより、親プロパティ パスハンドルの直接の子ノードのより狭いセットでマージ操作を利用できます。
詳細 | |||||
---|---|---|---|---|---|
戻り値 |
|