nl:: Dệt:: TLV
Định nghĩa về cách làm việc với dữ liệu được mã hóa ở định dạng Weave TLV.
Tóm tắt
TLV là một phương pháp mã hóa chung dành cho dữ liệu có cấu trúc đơn giản. Định dạng này chia sẻ nhiều thuộc tính với định dạng tuần tự JSON thường dùng trong khi dùng gọn hơn đáng kể so với dây.
Bảng liệt kê |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Bảng liệt kê xác định loại phần tử TLV. |
Biến |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Sao chép một phần tử TLV từ đối tượng người đọc vào tác giả.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Hàm |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Tạo đại diện API của thẻ TLV hồ sơ phổ biến.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Tạo đại diện API cho thẻ TLV dành riêng cho ngữ cảnh.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Trả về true nếu thẻ được cung cấp là thẻ theo ngữ cảnh cụ thể.
|
IsProfileTag(uint64_t tag)
|
bool
Trả về true của thẻ được cung cấp là thẻ dành riêng cho hồ sơ.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định hợp lệ.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Trả về mã hồ sơ từ thẻ TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Trả về số cấu hình từ một thẻ TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Tạo đại diện API của thẻ TLV dành riêng cho hồ sơ từ mã hồ sơ và số thẻ.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Tạo đại diện API của thẻ TLV dành riêng cho hồ sơ từ mã nhà cung cấp, số hồ sơ và số thẻ.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định có nghĩa là có sự hiện diện của trường độ dài được liên kết.
|
TLVTypeHasValue(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định ngụ ý có trường giá trị được liên kết.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định là vùng chứa.
|
TLVTypeIsString(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định là chuỗi UTF8 hoặc byte.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Trả về số thẻ của một thẻ TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Trả về mã nhà cung cấp từ thẻ TLV.
|
Lớp |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Cung cấp một trình phân tích cú pháp hiệu quả về bộ nhớ cho dữ liệu được mã hóa ở định dạng Weave TLV. |
nl:: |
Cung cấp giao diện người đọc/trình ghi hợp nhất để chỉnh sửa/thêm/xóa các thành phần trong quá trình mã hóa TLV. |
nl:: |
Cung cấp một bộ mã hóa hiệu quả của bộ nhớ để ghi dữ liệu ở định dạng Weave TLV. |
nl:: |
WeaveCircularTLVBuffer cung cấp bộ nhớ hình tròn cho nl::Weave::TLV::TLVWriter và nl::Weave::TLVTLVreader. |
Không gian tên |
|
---|---|
nl:: |
Vùng chứa tên này bao gồm các loại và giao diện để gỡ lỗi và ghi nhật ký Weave TLV. |
nl:: |
Vùng chứa tên này bao gồm các loại và giao diện tiện ích để quản lý và làm việc với Weave TLV. |
Bảng liệt kê
@11
@71
@73
@73
@75
@75
Hồ sơ thanh toán chung
TLVCommonProfiles
Thuộc tính | |
---|---|
kProfileIdNotSpecified
|
Dùng để cho biết việc không có mã hồ sơ trong một biến hoặc thành viên. Về cơ bản, tên này giống với kWeaveProfile_NotSpecated được xác định trong WeaveProfiles.h |
Loại TLVElement
TLVElementType
Kích thước trường TLV
TLVFieldSize
TLVTagControl
TLVTagControl
Thẻ TLVTag
TLVTagFields
Biến
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Sao chép một phần tử TLV từ đối tượng người đọc vào tác giả.
Phương thức CopyElement() mã hoá một phần tử TLV mới có phần tử và loại được lấy từ đối tượng TLV Reader. Khi phương thức này được gọi, đối tượng đọc đã cung cấp dự kiến sẽ được định vị trên phần tử TLV nguồn. Phần tử mới được mã hóa sẽ có cùng loại và nội dung với vùng chứa đầu vào. Tuy nhiên, thẻ sẽ được đặt thành đối số được chỉ định. Nếu phần tử được cung cấp là một vùng chứa TLV (cấu trúc, mảng hoặc đường dẫn), thì toàn bộ nội dung của vùng chứa đó sẽ được sao chép.
Thông tin chi tiết | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các thông số |
|
||||||||||||||||||
Giá trị trả về |
|
sTagSize
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Hàm
Thẻ chung
uint64_t CommonTag( uint32_t tagNum )
Tạo đại diện API của thẻ TLV hồ sơ phổ biến.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
Thẻ ngữ cảnh
uint64_t ContextTag( uint8_t tagNum )
Tạo đại diện API cho thẻ TLV dành riêng cho ngữ cảnh.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
Thẻ IsContextTag
bool IsContextTag( uint64_t tag )
Trả về true nếu thẻ được cung cấp là thẻ theo ngữ cảnh cụ thể.
Thẻ Hồ sơ
bool IsProfileTag( uint64_t tag )
Trả về true của thẻ được cung cấp là thẻ dành riêng cho hồ sơ.
Thẻ đặc biệt
bool IsSpecialTag( uint64_t tag )
Loại hợp lệ
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
Thẻ hồ sơ
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Tạo đại diện API của thẻ TLV dành riêng cho hồ sơ từ mã hồ sơ và số thẻ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
Thẻ hồ sơ
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Tạo đại diện API của thẻ TLV dành riêng cho hồ sơ từ mã nhà cung cấp, số hồ sơ và số thẻ.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
||||||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeCóLength
bool TLVTypeHasLength( uint8_t type )
Loại TLVTypehasValue
bool TLVTypeHasValue( uint8_t type )
Vùng chứa TLVTypeIsIs
bool TLVTypeIsContainer( uint8_t type )
Chuỗi TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
Trả về số thẻ của một thẻ TLV.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
Số thẻ liên kết.
|
IsProfileTag() và IsContextTag()