nl::Weave::TLV::Utilities

この名前空間には、Weave の TLV を管理、操作するためのタイプとユーティリティ インターフェースが含まれています。

概要

Typedef

IterateHandler)(const TLVReader &aReader, size_t aDepth, void *aContext) typedef

関数

Count(const TLVReader & aReader, size_t & aCount)
指定された TLV リーダー内の TLV 要素の数を、配列または構造に降順に並べ替えます。
Count(const TLVReader & aReader, size_t & aCount, const bool aRecurse)
指定された TLV リーダー内の TLV 要素の数をカウントします。配列または構造に降順で場合もあります。
CountHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
TLV データに対して反復処理を行うときに、カウンタを増やします。
Find(const TLVReader & aReader, const uint64_t & aTag, TLVReader & aResult)
提供された TLV リーダー内で指定されたタグを検索します。
Find(const TLVReader & aReader, const uint64_t & aTag, TLVReader & aResult, const bool aRecurse)
提供された TLV リーダー内で、指定されたタグを検索します。必要に応じて、配列または構造に降順に並べ替えます。
Find(const TLVReader & aReader, IterateHandler aPredicate, void *aContext, TLVReader & aResult)
TLV リーダー内で述語に一致する最初の要素を、配列または構造に降順に並べ替えて検索します。
Find(const TLVReader & aReader, IterateHandler aPredicate, void *aContext, TLVReader & aResult, const bool aRecurse)
TLV リーダー内で述語に一致する最初の要素を検索し、必要に応じて配列または構造に降下させます。
FindHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
提供された TLV リーダー内で指定されたタグを検索します。
FindPredicateHandler(const TLVReader & aReader, size_t aDepth, void *aContext)
Iterate(TLVReader & aReader, size_t aDepth, IterateHandler aHandler, void *aContext, bool aRecurse)
aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext)
aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext, const bool aRecurse)
aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。

構造体

nl::Weave::TLV::Utilities::FindContext
nl::Weave::TLV::Utilities::FindPredicateContext

Typedef

IterateHandler

WEAVE_ERROR(* IterateHandler)(const TLVReader &aReader, size_t aDepth, void *aContext)

関数

カウント

WEAVE_ERROR Count(
  const TLVReader & aReader,
  size_t & aCount
)

指定された TLV リーダー内の TLV 要素の数を、配列または構造に降順に並べ替えます。

詳細
パラメータ
[in] aReader
TLV 要素の数をカウントするための TLV リーダーへの読み取り専用参照。
[in,out] aCount
返されるカウントのストレージへの参照。カウント前にゼロ(0)に初期化され、成功時にカウントする要素の数に設定されます。
戻り値
WEAVE_NO_ERROR
成功時。

カウント

WEAVE_ERROR Count(
  const TLVReader & aReader,
  size_t & aCount,
  const bool aRecurse
)

指定された TLV リーダー内の TLV 要素の数をカウントします。配列または構造に降順で場合もあります。

詳細
パラメータ
[in] aReader
TLV 要素の数をカウントするための TLV リーダーへの読み取り専用参照。
[in,out] aCount
返されるカウントのストレージへの参照。カウント前にゼロ(0)に初期化され、成功時にカウントする要素の数に設定されます。
[in] aRecurse
遭遇した配列または構造体の子孫の導出が必要(true)か否か(false)を示すブール値。
戻り値
WEAVE_NO_ERROR
成功時。

CountHandler

WEAVE_ERROR CountHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

TLV データに対して反復処理を行うときに、カウンタを増やします。

詳細
パラメータ
[in] aReader
TLV 要素の数をカウントする TLV データを含む TLV リーダーへの参照。
[in] aDepth
TLV データの現在の深さ。
[in,out] aContext
ハンドラ固有のコンテキストへのポインタ。カウント値用のストレージへのポインタです。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_INVALID_ARGUMENT
aContext が NULL の場合。

検索

WEAVE_ERROR Find(
  const TLVReader & aReader,
  const uint64_t & aTag,
  TLVReader & aResult
)

提供された TLV リーダー内で指定されたタグを検索します。

詳細
パラメータ
[in] aReader
指定されたタグを見つけるための TLV リーダーへの読み取り専用参照。
[in] aTag
検索対象の TLV タグへの読み取り専用参照。
[out] aResult
成功時に指定されたタグに配置される TLV リーダーへのストレージへの参照。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_TLV_TAG_NOT_FOUND
指定されたタグ aTag が見つからなかった場合。

検索

WEAVE_ERROR Find(
  const TLVReader & aReader,
  const uint64_t & aTag,
  TLVReader & aResult,
  const bool aRecurse
)

提供された TLV リーダー内で、指定されたタグを検索します。必要に応じて、配列または構造に降順に並べ替えます。

詳細
パラメータ
[in] aReader
指定されたタグを見つけるための TLV リーダーへの読み取り専用参照。
[in] aTag
検索対象の TLV タグへの読み取り専用参照。
[out] aResult
成功時に指定されたタグに配置される TLV リーダーへのストレージへの参照。
[in] aRecurse
遭遇した配列または構造体の子孫の導出が必要(true)か否か(false)を示すブール値。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_TLV_TAG_NOT_FOUND
指定されたタグ aTag が見つからなかった場合。

検索

WEAVE_ERROR Find(
  const TLVReader & aReader,
  IterateHandler aPredicate,
  void *aContext,
  TLVReader & aResult
)

TLV リーダー内で述語に一致する最初の要素を、配列または構造に降順に並べ替えて検索します。

aPredicate はアクセスされた各 TLV 要素に適用されます。aPredicate は一致する要素に対しては WEAVE_ERROR_MAX、一致しない要素に対しては WEAVE_NO_ERROR、検索を終了するためのその他の値を返します。

詳細
パラメータ
[in] aReader
述語に一致する要素を見つけるための TLV リーダーへの読み取り専用参照。
[in] aPredicate
TLV 要素に適用される述語。コードの再利用をサポートするため、Predicate には IterateHandler 型があります。aPredicate の戻り値が検索を制御します。WEAVE_ERROR_MAX は目的の要素が見つかったことを通知し、WEAVE_NO_ERROR は目的の要素が見つからなかったことを通知し、他のすべての値は検索を終了する必要があることを示します。
[in] aContext
呼び出し元が提供するコンテキスト データへのポインタ(省略可)。
[out] aResult
成功時に指定されたタグに配置される TLV リーダーへのストレージへの参照。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_TLV_TAG_NOT_FOUND
指定された aPredicate が指定された要素を見つけられなかった場合

検索

WEAVE_ERROR Find(
  const TLVReader & aReader,
  IterateHandler aPredicate,
  void *aContext,
  TLVReader & aResult,
  const bool aRecurse
)

TLV リーダー内で述語に一致する最初の要素を検索し、必要に応じて配列または構造に降下させます。

aPredicate はアクセスされた各 TLV 要素に適用されます。aPredicate は一致する要素に対しては WEAVE_ERROR_MAX、一致しない要素に対しては WEAVE_NO_ERROR、検索を終了するためのその他の値を返します。

詳細
パラメータ
[in] aReader
述語に一致する要素を見つけるための TLV リーダーへの読み取り専用参照。
[in] aPredicate
TLV 要素に適用される述語。コードの再利用をサポートするため、Predicate には IterateHandler 型があります。aPredicate の戻り値が検索を制御します。WEAVE_ERROR_MAX は目的の要素が見つかったことを通知し、WEAVE_NO_ERROR は目的の要素が見つからなかったことを通知し、他のすべての値は検索を終了する必要があることを示します。
[in] aContext
呼び出し元が提供するコンテキスト データへのポインタ(省略可)。
[out] aResult
成功時に指定されたタグに配置される TLV リーダーへのストレージへの参照。
[in] aRecurse
遭遇した配列または構造体を子孫にするかどうか(true)またはしない(false)を示すブール値。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_TLV_TAG_NOT_FOUND
指定された aPredicate が指定された要素を見つけられなかった場合

FindHandler

WEAVE_ERROR FindHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

提供された TLV リーダー内で指定されたタグを検索します。

詳細
パラメータ
[in] aReader
指定されたタグを見つけるための TLV リーダーへの読み取り専用参照。
[in] aDepth
TLV データの現在の深さ。
[in,out] aContext
ハンドラ固有のコンテキストへのポインタ。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_INVALID_ARGUMENT
aContext が NULL の場合。
WEAVE_ERROR_MAX
指定したタグが見つかった場合。

FindPredicateHandler

WEAVE_ERROR FindPredicateHandler(
  const TLVReader & aReader,
  size_t aDepth,
  void *aContext
)

継続的な見直し

WEAVE_ERROR Iterate(
  TLVReader & aReader,
  size_t aDepth,
  IterateHandler aHandler,
  void *aContext,
  bool aRecurse
)

aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。

aHandlerWEAVE_NO_ERROR 以外を返すと、反復処理は中止されます。

詳細
パラメータ
[in] aReader
反復処理を行う TLV データを含む TLV リーダーへの参照。
[in] aDepth
TLV データの現在の深さ。
[in] aHandler
現在訪問されている TLV 要素に対して呼び出されるコールバック。
[in,out] aContext
呼び出し元が提供するコンテキスト データへのポインタ(省略可)。
[in] aRecurse
遭遇した配列または構造体の子孫の導出が必要(true)か否か(false)を示すブール値。
戻り値
WEAVE_END_OF_TLV
TLV エンコードの終わりまたは TLV コンテナの終わりまでの反復処理が成功したとき。
The
aHandler が返す最後の値(WEAVE_NO_ERROR と異なる場合)

継続的な見直し

WEAVE_ERROR Iterate(
  const TLVReader & aReader,
  IterateHandler aHandler,
  void *aContext
)

aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。

aHandlerWEAVE_NO_ERROR 以外を返すと、反復処理は中止されます。

詳細
パラメータ
[in] aReader
反復処理を行う TLV データを含む TLV リーダーへの参照。
[in] aHandler
現在訪問されている TLV 要素に対して呼び出されるコールバック。
[in,out] aContext
呼び出し元が提供するコンテキスト データへのポインタ(省略可)。
戻り値
WEAVE_END_OF_TLV
TLV エンコードの終わりまたは TLV コンテナの終わりまでの反復処理が成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
aHandler が NULL の場合。
The
aHandler が返す最後の値(WEAVE_NO_ERROR と異なる場合)

継続的な見直し

WEAVE_ERROR Iterate(
  const TLVReader & aReader,
  IterateHandler aHandler,
  void *aContext,
  const bool aRecurse
)

aReader で参照される TLV データを反復処理し、訪問された各 TLV 要素に対して aContext のコンテキストで aHandler を呼び出します。

aHandlerWEAVE_NO_ERROR 以外を返すと、反復処理は中止されます。

詳細
パラメータ
[in] aReader
反復処理を行う TLV データを含む TLV リーダーへの参照。
[in] aHandler
現在訪問されている TLV 要素に対して呼び出されるコールバック。
[in,out] aContext
呼び出し元が提供するコンテキスト データへのポインタ(省略可)。
[in] aRecurse
遭遇した配列または構造体の子孫の導出が必要(true)か否か(false)を示すブール値。
戻り値
WEAVE_END_OF_TLV
TLV エンコードの終わりまたは TLV コンテナの終わりまでの反復処理が成功したとき。
WEAVE_ERROR_INVALID_ARGUMENT
aHandler が NULL の場合。
The
aHandler が返す最後の値(WEAVE_NO_ERROR と異なる場合)