Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl ::織り::プロファイル:: DataManagement_Current :: UpdateEncoder

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

このオブジェクトエンコードWDM UpdateRequestとPartialUpdateRequestペイロード。

概要

両方のリクエストの形式が同じであることに注意してください。これらは、このオブジェクトの範囲外であるメッセージタイプによってのみ区別されます。

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

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

UpdateEncoder ()
~UpdateEncoder ()

公の行事

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

構造体

NL ::織り::プロファイル:: DataManagement_Current :: UpdateEncoder ::コンテキスト

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

公の行事

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

WDM更新要求ペイロードをエンコードします。

参照してくださいUpdateEncoder ::コンテキスト。 PacketBufferのデータ長は、成功した場合にのみ更新されますが、バッファーの内容は保持されません。

詳細
戻り値
WEAVE_NO_ERROR
少なくとも1で定義するDataElementは、ペイロードのデータリストでエンコードされました。
WEAVE_ERROR_BUFFER_TOO_SMALL
最初の定義するDataElementは、ペイロードに収まることができませんでした。
WEAVE_ERROR_INVALID_ARGUMENT
aContextが無効な値で初期化されました。
other
下位レベルのオブジェクト(TLVWriter、SchemaEngineなど)からの他のエラー。

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

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

このメソッドは、スキーマツリーをトラバースするときにSchemaEngineによって呼び出されることを意図しており、ディクショナリをリストにプッシュバックする必要があります。

詳細
パラメーター
[in] aItem
TraitPath符号化されているリストに挿入します。
戻り値
WEAVE_NO_ERROR
アイテムは正常に挿入されました。
WEAVE_NO_MEMORY
中にはスペースがありませんでしたTraitPathStore項目を挿入するには。

UpdateEncoder

 UpdateEncoder()

〜UpdateEncoder

 ~UpdateEncoder()