nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

#include <src/lib/profiles/data-management/Current/UpdateEncoder.h>

このオブジェクトは、WDM の UpdateRequest ペイロードと PartialUpdateRequest ペイロードをエンコードします。

概要

両方のリクエストの形式は同じであり、このオブジェクトのスコープ外であるメッセージ タイプによってのみ区別されます。

エンコードは、EncodeRequest メソッドによって同期的に行われます。他のパブリック メソッドは、InsertInProgressUpdateItem のみです。これは、辞書をキューに push する必要がある場合に SchemaEngine によって呼び出されます。

コンストラクタとデストラクタ

UpdateEncoder()
~UpdateEncoder()

パブリック関数

EncodeRequest(Context & aContext)
WDM 更新リクエストのペイロードをエンコードします。
InsertInProgressUpdateItem(const TraitPath & aItem)
進行中のパスのリストにプライベート パスを追加し、その時点でエンコードされているパスの後に挿入します。

構造体

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

この構造体は、EncodeRequest メソッドの I/O 引数を保持します。

パブリック関数

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

WDM 更新リクエストのペイロードをエンコードします。

UpdateEncoder::Context をご覧ください。PacketBuffer のデータ長は成功した場合にのみ更新されますが、バッファの内容は保持されません。

詳細
戻り値
WEAVE_NO_ERROR
ペイロードの DataList で、少なくとも 1 つの DataElement がエンコードされている。
WEAVE_ERROR_BUFFER_TOO_SMALL
最初の DataElement がペイロードに収まらなかった。
WEAVE_ERROR_INVALID_ARGUMENT
aContext が無効な値で初期化されました。
other
下位レベルのオブジェクト(TLVWriter、SchemaEngine など)からのその他のエラー。

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

進行中のパスのリストにプライベート パスを追加し、その時点でエンコードされているパスの後に挿入します。

このメソッドは、スキーマツリーを走査し、辞書をリストに push する必要があるときに、SchemaEngine によって呼び出されるように意図されています。

詳細
パラメータ
[in] aItem
エンコードされるリストに挿入する TraitPath
戻り値
WEAVE_NO_ERROR
アイテムを挿入しました。
WEAVE_NO_MEMORY
TraitPathStore にアイテムを挿入するスペースがありませんでした。

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()