nl::Weave::TLV::Utilities

此命名空間包含管理及使用 Weave TLV 的類型和公用程式介面。

摘要

Typedefs

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 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext)
透過 aReader 參照的 TLV 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext, const bool aRecurse)
透過 aReader 參照的 TLV 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler

Structs

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

Typedefs

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 (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 (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 元素的述詞。如要支援程式碼重複使用,aPredicate 採用 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 元素的述詞。如要支援程式碼重複使用,aPredicate 採用 IterateHandler 類型。aPredicate 的傳回值會決定搜尋作業:找到了所需的 WEAVE_ERROR_MAX 信號、WEAVE_NO_ERROR 表示找不到所需元素,而所有其他值則表明應終止圖片庫。
[in] aContext
選用指標,指向呼叫端提供的結構定義資料。
[out] aResult
TLV 讀取器的參照,此讀取器會在成功時置於指定標記。
[in] aRecurse
布林值,指出任何遇到的陣列或結構是否應遞減為 (true)。
傳回值
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 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler

如果 aHandler 傳回 WEAVE_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
如果與 WEAVE_NO_ERROR 不同,則 aHandler 傳回的最後一個值

疊代

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

透過 aReader 參照的 TLV 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler

如果 aHandler 傳回 WEAVE_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
如果與 WEAVE_NO_ERROR 不同,則 aHandler 傳回的最後一個值

疊代

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

透過 aReader 參照的 TLV 資料進行疊代,並在 aContext 結構定義中針對每個造訪的 TLV 元素叫用 aHandler

如果 aHandler 傳回 WEAVE_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
如果與 WEAVE_NO_ERROR 不同,則 aHandler 傳回的最後一個值