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)
ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext)
ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext
Iterate(const TLVReader & aReader, IterateHandler aHandler, void *aContext, const bool aRecurse)
ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext

โครงสร้าง

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
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ควรใส่อาร์เรย์หรือโครงสร้างที่พบ
ผลลัพธ์
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
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ควรใส่อาร์เรย์หรือโครงสร้างที่พบ
ผลลัพธ์
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 จะส่งสัญญาณว่าไม่พบองค์ประกอบที่ต้องการ และค่าอื่นๆ ทั้งหมดจะเป็นสัญญาณบอกว่าควรสิ้นสุด Saerch
[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 จะส่งสัญญาณว่าไม่พบองค์ประกอบที่ต้องการ และค่าอื่นๆ ทั้งหมดจะเป็นสัญญาณบอกว่าควรสิ้นสุด Saerch
[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
)

ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext

การทำซ้ำจะถูกล้มเลิกหาก aHandler แสดงผลอย่างอื่นนอกเหนือจาก WEAVE_NO_ERROR

รายละเอียด
พารามิเตอร์
[in] aReader
การอ้างอิงถึงโปรแกรมอ่าน TLV ที่มีข้อมูล TLV เพื่อทำซ้ำ
[in] aDepth
ความลึกปัจจุบันในข้อมูล TLV
[in] aHandler
การเรียกกลับเพื่อเรียกใช้องค์ประกอบ TLV ปัจจุบันที่เข้าชม
[in,out] aContext
ตัวชี้ที่ไม่บังคับไปยังข้อมูลบริบทที่ได้จากผู้โทร
[in] aRecurse
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ควรใส่อาร์เรย์หรือโครงสร้างที่พบ
ผลลัพธ์
WEAVE_END_OF_TLV
การทำซ้ำสำเร็จจนถึงจุดสิ้นสุดของการเข้ารหัส TLV หรือไปยังจุดสิ้นสุดของคอนเทนเนอร์ TLV
The
ค่าสุดท้ายที่ aHandler แสดงผล หากแตกต่างจาก WEAVE_NO_ERROR

ปรับราคาเสนอใหม่

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

ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext

การทำซ้ำจะถูกล้มเลิกหาก 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
ค่าสุดท้ายที่ aHandler แสดงผล หากแตกต่างจาก WEAVE_NO_ERROR

ปรับราคาเสนอใหม่

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

ทำซ้ำผ่านข้อมูล TLV ที่อ้างอิงโดย aReader และเรียกใช้ aHandler สำหรับองค์ประกอบ TLV แต่ละรายการที่เข้าชมในบริบทของ aContext

การทำซ้ำจะถูกล้มเลิกหาก aHandler แสดงผลอย่างอื่นนอกเหนือจาก WEAVE_NO_ERROR

รายละเอียด
พารามิเตอร์
[in] aReader
การอ้างอิงถึงโปรแกรมอ่าน TLV ที่มีข้อมูล TLV เพื่อทำซ้ำ
[in] aHandler
การเรียกกลับเพื่อเรียกใช้องค์ประกอบ TLV ปัจจุบันที่เข้าชม
[in,out] aContext
ตัวชี้ที่ไม่บังคับไปยังข้อมูลบริบทที่ได้จากผู้โทร
[in] aRecurse
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ควรใส่อาร์เรย์หรือโครงสร้างที่พบ
ผลลัพธ์
WEAVE_END_OF_TLV
การทำซ้ำสำเร็จจนถึงจุดสิ้นสุดของการเข้ารหัส TLV หรือไปยังจุดสิ้นสุดของคอนเทนเนอร์ TLV
WEAVE_ERROR_INVALID_ARGUMENT
หาก aHandler เป็นค่า NULL
The
ค่าสุดท้ายที่ aHandler แสดงผล หากแตกต่างจาก WEAVE_NO_ERROR