nl::Weave::โปรไฟล์::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

ในทํานองเดียวกัน เราต้องแสดงถึงชุดข้อมูล TLV ขนาดใหญ่ก่อน

สรุป

การสืบทอด

รับค่าจาก: nl::Weave::Profiles::RequarantinePacketBuffer

เครื่องมือสร้างและตัวสร้าง

ReferencedTLVData(void)
-------------- คําจํากัดความของข้อมูล TLV --------------

ประเภทสาธารณะ

TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState) Typedef
void(*

แอตทริบิวต์สาธารณะ

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

ฟังก์ชันสาธารณะ

free(void)
void
ปล่อยออบเจ็กต์ ReferencedTLVData ตามต้องการ กล่าวคือ ยกเลิกการกําหนดออบเจ็กต์
init(System::PacketBuffer *aBuffer)
เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วย PacketBuffer
init(MessageIterator & i)
เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วย MessageIterator
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
เริ่มต้นการอ้างอิง ReferencedTLVObject ด้วยสตริงไบต์
init(TLVWriteCallback aWriteCallback, void *anAppState)
เริ่มต้นออบเจ็กต์ RefererencedTLVData ตามฟังก์ชันเรียกกลับ
isEmpty(void)
bool
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData มีสิ่งใดอยู่ไหม
isFree(void)
bool
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData เป็น "free" หรือไม่
operator==(const ReferencedTLVData &) const
bool
ตรวจสอบออบเจ็กต์ ReferencedTLVData กับออบเจ็กต์อื่นเพื่อดูความเท่ากัน
pack(System::PacketBuffer *buff)
เก็บออบเจ็กต์ ReferencedTLVData ไว้ใน PacketBuffer โดยตรง
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
แสดงความยาวของข้อมูลโดยสมมติว่าได้เก็บวัตถุไว้ในบัฟเฟอร์แล้ว

ฟังก์ชันสาธารณะแบบคงที่

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก PacketBuffer ที่ระบุ
parse(MessageIterator & i, ReferencedTLVData & aTarget)
แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก MessageIterator ที่ระบุ

ประเภทสาธารณะ

TLVWriteCallback

void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)

แอตทริบิวต์สาธารณะ

ข้อมูล

uint8_t * theData

ความยาว

uint16_t theLength

ความยาวสูงสุด

uint16_t theMaxLength

ฟังก์ชันสาธารณะ

ข้อมูล TLV ที่อ้างอิง

 ReferencedTLVData(
  void
)

-------------- คําจํากัดความของข้อมูล TLV --------------

เครื่องมือสร้างที่ไม่มีอาร์กิวเมนต์สําหรับข้อมูล TLV นําส่งออบเจ็กต์ฟรี/ไม่ได้เริ่มต้น ซึ่งต้องเป็นหนึ่งในเมธอด init() ที่กําหนดไว้ที่นี่เพื่อให้เป็นประโยชน์

ฟรี

void free(
  void
)

ปล่อยออบเจ็กต์ ReferencedTLVData ตามต้องการ กล่าวคือ ยกเลิกการกําหนดออบเจ็กต์

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วย PacketBuffer

เริ่มต้นออบเจ็กต์ ReferencedTLVData โดยให้บัฟเฟอร์เต็ม TLV โดยจะถือว่าบัฟเฟอร์มีเฉพาะ TLV

รายละเอียด
พารามิเตอร์
[in] aBuffer
บัฟเฟอร์ข้อความที่มี TLV
แสดงผลค่า
WEAVE_NO_ERROR
ไม่มีเงื่อนไข

init

WEAVE_ERROR init(
  MessageIterator & i
)

เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วย MessageIterator

เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วย MessageIterator ในกรณีนี้ TLV คือส่วนสุดท้ายของบัฟเฟอร์ที่เราจะส่งไปให้ตัวกําหนดเส้นทางข้อความซ้ํา

รายละเอียด
พารามิเตอร์
[in] i
ตัวทําเครื่องหมายข้อความที่ชี้ไปยัง TLV เพื่อดึงข้อมูลออกมา
แสดงผลค่า
WEAVE_NO_ERROR
ไม่มีเงื่อนไข

init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

เริ่มต้นการอ้างอิง ReferencedTLVObject ด้วยสตริงไบต์

เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วยสตริงไบต์ที่มี TLV เงื่อนไขเริ่มต้นนี้เป็นเครื่องมือที่เราใช้หากไม่มี PacketrBuffer เนื่องจากเรากําลังสร้างหนึ่งในบรรจุภัณฑ์เพื่อแพ็กและส่ง

รายละเอียด
พารามิเตอร์
[in] aLength
ความยาวของข้อมูล TLV
[in] aMaxLength
ความยาวรวมของบัฟเฟอร์
[in] aByteString
ตัวชี้ไปยังข้อมูลสตริง
แสดงผลค่า
WEAVE_NO_ERROR
ไม่มีเงื่อนไข

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

เริ่มต้นออบเจ็กต์ RefererencedTLVData ตามฟังก์ชันเรียกกลับ

เริ่มต้นออบเจ็กต์ ReferencedTLVData เวอร์ชันนี้มีฟังก์ชัน โค้ดเรียกกลับ และออบเจ็กต์อ้างอิงที่จะส่งผ่านไปให้พร้อมกับออบเจ็กต์ TLVWriter แทนที่จะต้องส่งข้อมูลอย่างชัดแจ้ง เมื่อข้อมูลควรที่จะแพ็กและส่ง ลายเซ็นของโค้ดเรียกกลับนี้คือ

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

รายละเอียด
พารามิเตอร์
[in] aWriteCallback
ฟังก์ชันที่จะเรียกใช้เมื่อถึงเวลาเขียน TLV
[in] anAppState
ออบเจ็กต์สถานะแอปพลิเคชันที่จะส่งไปยังโค้ดเรียกกลับพร้อมผู้เขียน
แสดงผลค่า
WEAVE_NO_ERROR
สําเร็จแล้ว
WEAVE_ERROR_INVALID_ARGUMENT
หากไม่ได้ให้การเขียนโทรกลับ

ว่างเปล่า

bool isEmpty(
  void
)

ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData มีสิ่งใดอยู่ไหม

มี 2 วิธีที่อาจทําได้จากวัตถุดังกล่าว &&tquot; บางสิ่ง มีความยาวได้ 0 หรือไม่มีการเขียนกลับไปยังโค้ดเรียกกลับ

รายละเอียด
การคืนสินค้า
เป็นจริงหากชุดข้อมูลมีความยาว 0 รายการ หรือไม่มีการเขียนโค้ดเรียกกลับเนื่องจากเป็นเท็จ

ฟรี

bool isFree(
  void
)

ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData เป็น "free" หรือไม่

ไม่ได้กําหนด

รายละเอียด
การคืนสินค้า
true หากออบเจ็กต์ไม่ได้กําหนด เป็นเท็จ หากไม่เป็นเช่นนั้น

โอเปอเรเตอร์==

bool operator==(
  const ReferencedTLVData &
) const 

ตรวจสอบออบเจ็กต์ ReferencedTLVData กับออบเจ็กต์อื่นเพื่อดูความเท่ากัน

โปรดทราบว่าวิธีนี้จะสมเหตุสมผลเฉพาะในกรณีที่เป็นออบเจ็กต์ 2 รายการที่มีข้อมูลจริงอยู่ในบัฟเฟอร์หรือสตริงเท่านั้น

รายละเอียด
พารามิเตอร์
[in] Another
ออบเจ็กต์ที่ต้องตรวจสอบ
แสดงผลค่า
true
วัตถุเท่ากัน
false
สตริงวัตถุไม่เท่ากัน

แพ็ก

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

เก็บออบเจ็กต์ ReferencedTLVData ไว้ใน PacketBuffer โดยตรง

รายละเอียด
พารามิเตอร์
[in] buff
ให้บัฟเฟอร์
การคืนสินค้า
WEhave_ERROR แสดงถึงความสําเร็จของการเรียกใช้แพ็กเก็ตที่เกี่ยวข้อง

แพ็ก

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

ความยาวของกล่องบรรจุ

uint16_t packedLength(
  void
)

แสดงความยาวของข้อมูลโดยสมมติว่าได้เก็บวัตถุไว้ในบัฟเฟอร์แล้ว

รายละเอียด
การคืนสินค้า
ความยาวของจํานวนเต็มของข้อมูลที่บรรจุ

ฟังก์ชันสาธารณะแบบคงที่

แยกวิเคราะห์

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก PacketBuffer ที่ระบุ

แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จากบัฟเฟอร์ภายใน (สมมติว่ามี TLV)

รายละเอียด
พารามิเตอร์
[in] buff
บัฟเฟอร์ที่อ่านได้
[out] aTarget
ออบเจ็กต์ ReferencedTLVData ใน "fill" พร้อมผลลัพธ์
การคืนสินค้า
WEhave_ERROR แสดงถึงความสําเร็จของการเรียกเพื่อแยกวิเคราะห์ที่เกี่ยวข้อง

แยกวิเคราะห์

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก MessageIterator ที่ระบุ

แยกวิเคราะห์ออบเจ็กต์การอ้างอิง TLVData จากออบเจ็กต์ MessageIterator โดยให้ชี้ไปยังส่วน TLV

โปรดทราบว่าไม่มีการแยกวิเคราะห์จริงหรือแยกวิเคราะห์ที่นี่ เนื่องจาก TLV ยังคงอยู่ในบัฟเฟอร์และไม่มีการดัดแปลงใดๆ วิธีนี้มักจะตั้งค่าโครงสร้าง ReferencedTLVData เพื่อการใช้งานในภายหลัง

รายละเอียด
พารามิเตอร์
[in] i
ตัวเอียงทับข้อความที่กําลังแยกวิเคราะห์
[out] aTarget
สถานที่ที่จะแสดงผลลัพธ์ของการแยกวิเคราะห์
แสดงผลค่า
WEAVE_NO_ERROR
ไม่มีเงื่อนไข