nl:: Weave:: TLV
Định nghĩa về cách làm việc với dữ liệu được mã hoá theo định dạng TLV của Weave.
Tóm tắt
TLV của Weave là một phương thức mã hoá chung cho dữ liệu có cấu trúc đơn giản. Phương thức này chia sẻ nhiều thuộc tính với định dạng chuyển đổi tuần tự JSON thường dùng, đồng thời nhỏ gọn hơn đáng kể so với kết nối mạng.
Liệt kê |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Một bản liệt kê xác định loại phần tử TLV. |
Biến |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Sao chép phần tử TLV từ một đối tượng trình đọ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 nội dung đại diện API cho thẻ TLV hồ sơ chung.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Tạo nội dung đại diện API cho thẻ TLV theo ngữ cảnh cụ thể.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Trả về true nếu thẻ được cung cấp là một thẻ theo ngữ cảnh cụ thể.
|
IsProfileTag(uint64_t tag)
|
bool
Trả về true của thẻ đã cung cấp là một thẻ dành riêng cho từng cấu hình.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định là 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ừ thẻ TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Tạo nội dung đại diện API cho 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 nội dung đại diện API cho 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 cho biết sự hiện diện của một trường độ dài tương ứng.
|
TLVTypeHasValue(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định cho biết sự hiện diện của một trường giá trị liên kết.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định là một vùng chứa.
|
TLVTypeIsString(uint8_t type)
|
bool
Trả về true nếu loại TLV được chỉ định là một chuỗi UTF8 hoặc byte.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Trả về số thẻ 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 bộ nhớ hiệu quả cho dữ liệu được mã hoá theo định dạng TLV của Weave. |
nl:: |
Cung cấp giao diện Reader/Writer hợp nhất để chỉnh sửa/thêm/xoá các phần tử trong bộ mã hoá TLV. |
nl:: |
Cung cấp một bộ mã hoá hiệu quả về bộ nhớ để ghi dữ liệu ở định dạng TLV của Weave. |
nl:: |
WeaveCircularTLVBuffer cung cấp bộ nhớ tròn cho nl::Weave::TLV::TLVWriter và nl::Weave::TLVTLVReader. |
Không gian tên |
|
---|---|
nl:: |
Không gian 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:: |
Không gian 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 TLV của Weave. |
Liệt kê
@71
@71
@73
@73
@74
@74
Thuộc tính | |
---|---|
AnonymousTag
|
Một giá trị biểu thị phần tử TLV không có thẻ nào (tức là phần tử ẩn danh). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Thuộc tính | |
---|---|
kProfileIdNotSpecified
|
Dùng để cho biết không có mã hồ sơ trong một biến hoặc thành phần. Điều này về cơ bản giống với kWeaveProfile_Not vẹn được xác định trong WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Biến
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Sao chép phần tử TLV từ một đối tượng trình đọc vào tác giả.
Phương thức CopyElement() mã hoá một phần tử TLV mới có loại và giá trị được lấy từ đối tượng TLVReader. Khi phương thức này được gọi, đối tượng trình đọ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ã hoá sẽ có cùng loại và nội dung như 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à 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 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tham số |
|
||||||||||||||||||
Giá trị trả về |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Hàm
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Tạo nội dung đại diện API cho thẻ TLV hồ sơ chung.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Tạo nội dung đại diện API cho thẻ TLV theo ngữ cảnh cụ thể.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Trả về true nếu thẻ được cung cấp là một thẻ theo ngữ cảnh cụ thể.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Trả về true của thẻ đã cung cấp là một thẻ dành riêng cho từng cấu hình.
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 )
Tạo nội dung đại diện API cho thẻ TLV dành riêng cho hồ sơ từ mã hồ sơ và số thẻ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Tạo nội dung đại diện API cho 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 | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Trả về |
Số nguyên 64 bit đại diện cho thẻ.
|
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 )
Trả về số thẻ từ thẻ TLV.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
Số thẻ được liên kết.
|
IsProfileTag() và IsContextTag()