nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
ในทำนองเดียวกัน เราต้องสามารถแสดง BLOB เก่าขนาดใหญ่ของข้อมูล TLV ได้
สรุป
การสืบทอด
รับค่าจาก: nl::Weave::Profiles::RetainedPacketBuffer
ผู้ผลิตและผู้ทำลาย |
|
---|---|
ReferencedTLVData(void)
-------------- คำจำกัดความของข้อมูล TLV --------------
|
ประเภทสาธารณะ |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
Typedefvoid(*
|
แอตทริบิวต์สาธารณะ |
|
---|---|
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 โดยใช้ฟังก์ชัน Callback
|
isEmpty(void)
|
bool
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData มีข้อมูลอะไรอยู่ไหม
|
isFree(void)
|
bool
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData เป็น "ฟรี" หรือไม่ เช่น
|
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)
แอตทริบิวต์สาธารณะ
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
ฟังก์ชันสาธารณะ
ReferencedTLVData
ReferencedTLVData( void )
Init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
เริ่มต้นออบเจ็กต์ ReferencedTLVData ที่กำหนด PacketBuffer
เริ่มต้นออบเจ็กต์ ReferencedTLVData ที่มีบัฟเฟอร์ TLV เต็ม โดยสมมติว่าบัฟเฟอร์มี TLV เท่านั้น
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
ผลลัพธ์ |
|
Init
WEAVE_ERROR init( MessageIterator & i )
เริ่มต้นออบเจ็กต์ ReferencedTLVData ที่ระบุ MessageIterator
เริ่มต้นออบเจ็กต์ ReferencedTLVData ที่ระบุ MessageIterator ในกรณีนี้ TLV คือส่วนสุดท้ายของบัฟเฟอร์และเราจะส่งผ่านตัวทำซ้ำข้อความที่ชี้ไปยังบัฟเฟอร์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
ผลลัพธ์ |
|
Init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
เริ่มต้น ReferencedTLVObject ที่ระบุสตริงไบต์
เริ่มต้นออบเจ็กต์ ReferencedTLVData ด้วยสตริงไบต์ที่มี TLV โปรแกรมเริ่มต้นนี้เป็นเวอร์ชันที่เราใช้หากไม่มี PacketrBuffer เนื่องจากเรากำลังสร้างหนึ่งในชุดเริ่มต้นเพื่อบรรจุและส่ง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
ผลลัพธ์ |
|
Init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
เริ่มต้นออบเจ็กต์ RefererencedTLVData โดยใช้ฟังก์ชัน Callback
เริ่มต้นออบเจ็กต์ ReferencedTLVData แทนที่จะจัดหาข้อมูลอย่างชัดแจ้ง เวอร์ชันนี้จะมีฟังก์ชัน, Write Callback และอ็อบเจกต์อ้างอิง ซึ่งจะถูกส่งต่อไปยังออบเจ็กต์ TLVWriter ทั้งๆ ที่ควรมีการแพคข้อมูลและส่งข้อมูลที่อ้างอิง ลายเซ็นของ Callback นี้คือ
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
ว่าง
bool isEmpty( void )
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData มีข้อมูลอะไรอยู่ไหม
การที่ออบเจ็กต์ดังกล่าว "มี" นั้นมี 2 วิธีที่เป็นไปได้ บางสิ่ง โดยอาจมีความยาวเป็น 0 หรือไม่มีการเรียกกลับสำหรับการเขียน
รายละเอียด | |
---|---|
การคืนสินค้า |
true หากชุดข้อมูลมีความยาว 0 หรือไม่มีการเขียน Callback อยู่ในมือ ในกรณีอื่นๆ จะเป็น false
|
isFree
bool isFree( void )
ตรวจสอบว่าออบเจ็กต์ ReferencedTLVData เป็น "ฟรี" หรือไม่ เช่น
ไม่ได้กำหนด
รายละเอียด | |
---|---|
การคืนสินค้า |
true หากไม่ได้กำหนดออบเจ็กต์ เป็น false หากไม่กำหนด
|
โอเปอเรเตอร์==
bool operator==( const ReferencedTLVData & ) const
ตรวจสอบออบเจ็กต์ ReferencedTLVData กับออบเจ็กต์อื่นเพื่อความเท่าเทียม
โปรดทราบว่าวิธีนี้เหมาะสมในกรณีของออบเจ็กต์ 2 รายการที่มีข้อมูลจริงซึ่งสำรองโดยบัฟเฟอร์หรือสตริง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
แพ็ก
WEAVE_ERROR pack( System::PacketBuffer *buff )
แพ็กออบเจ็กต์ ReferencedTLVData ลงใน PacketBuffer โดยตรง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
WEAVE_ERROR ที่สะท้อนให้เห็นถึงความสำเร็จของการเรียกใช้แพ็กเก็ตพื้นฐาน
|
แพ็ก
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
แสดงความยาวของข้อมูลโดยมีสมมติฐานว่าออบเจ็กต์ได้รับการบรรจุในบัฟเฟอร์แล้ว
รายละเอียด | |
---|---|
การคืนสินค้า |
ความยาวจำนวนเต็มของข้อมูลที่ใส่
|
ฟังก์ชันสาธารณะแบบคงที่
แยกวิเคราะห์
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก PacketBuffer ที่ระบุ
แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData ออกจากบัฟเฟอร์ภายใน (สมมติว่ามีเพียง TLV)
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การคืนสินค้า |
WEAVE_ERROR ที่แสดงถึงความสำเร็จของการเรียกใช้การแยกวิเคราะห์เบื้องหลัง
|
แยกวิเคราะห์
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
แยกวิเคราะห์ออบเจ็กต์ ReferencedTLVData จาก MessageIterator ที่ให้ไว้
แยกวิเคราะห์ออบเจ็กต์ ReferenceTLVData จากออบเจ็กต์ MessageIterator ที่คาดว่าชี้ไปยังส่วน TLV ของข้อความ
โปรดทราบว่าไม่มี "การแยกวิเคราะห์" ก็ทำได้เลยเนื่องจาก TLV ค้างอยู่ในบัฟเฟอร์และไม่มีการดำเนินการใดๆ เลย วิธีนี้เป็นเพียงการตั้งค่าโครงสร้าง ReferencedTLVData เป็นหลักสำหรับใช้ในภายหลัง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|