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
บูลีนที่ระบุว่า (true) หรือไม่ (false) ควรใส่ลงไปในอาร์เรย์หรือโครงสร้างที่พบ (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 เป็นค่าว่าง

ค้นหา

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) ควรใส่ลงไปในอาร์เรย์หรือโครงสร้างที่พบ (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
บูลีนที่ระบุว่าควรใส่ลงไปในอาร์เรย์หรือโครงสร้างที่พบ (จริง) หรือไม่ (เท็จ)
แสดงผลค่า
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 เป็นค่าว่าง
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
บูลีนที่ระบุว่า (true) หรือไม่ (false) ควรใส่ลงไปในอาร์เรย์หรือโครงสร้างที่พบ (false) ใดๆ
แสดงผลค่า
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
บูลีนที่ระบุว่า (true) หรือไม่ (false) ควรใส่ลงไปในอาร์เรย์หรือโครงสร้างที่พบ (false) ใดๆ
แสดงผลค่า
WEAVE_END_OF_TLV
เมื่อทำการทำซ้ำที่สำเร็จในตอนท้ายของการเข้ารหัส TLV หรือในตอนท้ายของคอนเทนเนอร์ TLV
WEAVE_ERROR_INVALID_ARGUMENT
หาก aHandler มีค่าเป็น NULL
The
ค่าล่าสุดที่แสดงผลโดย aHandler หากแตกต่างจาก WEAVE_NO_ERROR