nl:: Weave:: TLV
คำจำกัดความสำหรับการทำงานกับข้อมูลที่เข้ารหัสในรูปแบบ Weave TLV
สรุป
Weave TLV เป็นวิธีการเข้ารหัสทั่วไปสำหรับข้อมูลที่มีโครงสร้างแบบง่าย รุ่นนี้ใช้คุณสมบัติมากมายกับรูปแบบการทำให้เป็นอนุกรม JSON ที่ใช้กันทั่วไปและมีขนาดกะทัดรัดมากกว่าตัวสายไฟ
การแจกแจง |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum การแจกแจงที่ระบุประเภทขององค์ประกอบ TLV |
ตัวแปร |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
คัดลอกองค์ประกอบ TLV จากออบเจ็กต์ Reader ลงในผู้เขียน
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
ฟังก์ชัน |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
สร้างการนำเสนอ API ของแท็ก TLV ทั่วไปของโปรไฟล์
|
ContextTag(uint8_t tagNum)
|
uint64_t
สร้างการนำเสนอ API สำหรับแท็ก TLV เฉพาะบริบท
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
แสดงผลเป็น "จริง" หากแท็กที่ระบุเป็นแท็กเฉพาะบริบท
|
IsProfileTag(uint64_t tag)
|
bool
ค่าที่เป็นจริงของแท็กที่ระบุคือแท็กเฉพาะโปรไฟล์
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
แสดงผลเป็น "จริง" หากประเภท TLV ที่ระบุถูกต้อง
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
แสดงรหัสโปรไฟล์จากแท็ก TLV
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
แสดงผลหมายเลขโปรไฟล์จากแท็ก TLV
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
สร้างการนำเสนอ API ของแท็ก TLV เฉพาะโปรไฟล์จากรหัสโปรไฟล์และหมายเลขแท็ก
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
สร้างการนำเสนอ API ของแท็ก TLV เฉพาะโปรไฟล์จากรหัสผู้ให้บริการ หมายเลขโปรไฟล์ และหมายเลขแท็ก
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
แสดงค่า "จริง" หากประเภท TLV ที่ระบุบ่งบอกว่ามีช่องความยาวที่เกี่ยวข้องอยู่
|
TLVTypeHasValue(uint8_t type)
|
bool
แสดงค่า "จริง" หากประเภท TLV ที่ระบุบ่งบอกว่ามีช่องค่าที่เกี่ยวข้องอยู่
|
TLVTypeIsContainer(uint8_t type)
|
bool
แสดงผลเป็น "จริง" หากประเภท TLV ที่ระบุเป็นคอนเทนเนอร์
|
TLVTypeIsString(uint8_t type)
|
bool
แสดงผลเป็น "จริง" หากประเภท TLV ที่ระบุเป็นสตริง UTF8 หรือไบต์
|
TagNumFromTag(uint64_t tag)
|
uint32_t
แสดงผลหมายเลขแท็กจากแท็ก TLV
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
แสดงรหัสผู้ให้บริการจากแท็ก TLV
|
คลาส |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
ให้บริการโปรแกรมแยกวิเคราะห์ที่มีประสิทธิภาพด้านหน่วยความจำสำหรับข้อมูลที่เข้ารหัสในรูปแบบ Weave TLV |
nl:: |
มีอินเทอร์เฟซ Reader/Writer แบบรวมสำหรับการแก้ไข/เพิ่ม/ลบองค์ประกอบในการเข้ารหัส TLV |
nl:: |
มีโปรแกรมเปลี่ยนไฟล์ที่มีประสิทธิภาพด้านหน่วยความจำสำหรับการเขียนข้อมูลในรูปแบบ Weave TLV |
nl:: |
WeaveCircularTLVBuffer มอบพื้นที่เก็บข้อมูลแบบวงกลมสําหรับ nl::Weave::TLV::TLVWriter และ nl::Weave::TLVTLVReader |
เนมสเปซ |
|
---|---|
nl:: |
เนมสเปซนี้มีประเภทและอินเทอร์เฟซสำหรับการแก้ไขข้อบกพร่องและการบันทึก Weave TLV |
nl:: |
เนมสเปซนี้มีประเภทและอินเทอร์เฟซยูทิลิตีสำหรับการจัดการและการทำงานร่วมกับ Weave TLV |
การแจกแจง
@71
@71
@73
@73
@74
@74
พร็อพเพอร์ตี้ | |
---|---|
AnonymousTag
|
ค่าที่แสดงถึงองค์ประกอบ TLV ที่ไม่มีแท็ก (เช่น องค์ประกอบที่ไม่ระบุตัวตน) |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
พร็อพเพอร์ตี้ | |
---|---|
kProfileIdNotSpecified
|
ใช้เพื่อระบุไม่มีรหัสโปรไฟล์ในตัวแปรหรือสมาชิก โดยหลักแล้วจะเหมือนกับ kWeaveProfile_NotSpecified ที่ระบุไว้ใน WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
ตัวแปร
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
คัดลอกองค์ประกอบ TLV จากออบเจ็กต์ Reader ลงในผู้เขียน
เมธอด CopyElement() เข้ารหัสองค์ประกอบ TLV ใหม่ที่มีการนำประเภทและค่ามาจากออบเจ็กต์ TLVReader เมื่อมีการเรียกใช้เมธอด ออบเจ็กต์ Reader ที่ให้ไว้ควรจะอยู่ในตำแหน่งองค์ประกอบ TLV ของแหล่งที่มา องค์ประกอบที่เข้ารหัสใหม่จะมีประเภทและเนื้อหาเดียวกันกับคอนเทนเนอร์อินพุต แต่แท็กจะตั้งค่าเป็นอาร์กิวเมนต์ที่ระบุ หากองค์ประกอบที่ระบุเป็นคอนเทนเนอร์ TLV (โครงสร้าง อาร์เรย์ หรือเส้นทาง) ระบบจะคัดลอกเนื้อหาทั้งหมดของคอนเทนเนอร์
รายละเอียด | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||||||||
แสดงผลค่า |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
ฟังก์ชัน
CommonTag
uint64_t CommonTag( uint32_t tagNum )
สร้างการนำเสนอ API ของแท็ก TLV ทั่วไปของโปรไฟล์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
จำนวนเต็ม 64 บิตที่แสดงถึงแท็ก
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
สร้างการนำเสนอ API สำหรับแท็ก TLV เฉพาะบริบท
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
จำนวนเต็ม 64 บิตที่แสดงถึงแท็ก
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
แสดงผลเป็น "จริง" หากแท็กที่ระบุเป็นแท็กเฉพาะบริบท
IsProfileTag
bool IsProfileTag( uint64_t tag )
ค่าที่เป็นจริงของแท็กที่ระบุคือแท็กเฉพาะโปรไฟล์
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
สร้างการนำเสนอ API ของแท็ก TLV เฉพาะโปรไฟล์จากรหัสโปรไฟล์และหมายเลขแท็ก
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
การส่งคืน |
จำนวนเต็ม 64 บิตที่แสดงถึงแท็ก
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
สร้างการนำเสนอ API ของแท็ก TLV เฉพาะโปรไฟล์จากรหัสผู้ให้บริการ หมายเลขโปรไฟล์ และหมายเลขแท็ก
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การส่งคืน |
จำนวนเต็ม 64 บิตที่แสดงถึงแท็ก
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
แสดงผลหมายเลขแท็กจากแท็ก TLV
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
หมายเลขแท็กที่เชื่อมโยง
|
IsProfileTag() และ IsContextTag()