nl :: Dệt :: TLV
Các định nghĩa để làm việc với dữ liệu được mã hóa ở định dạng Weave TLV .
Tóm lược
Weave TLV là một phương pháp mã hóa tổng quát cho dữ liệu có cấu trúc đơn giản. Nó chia sẻ nhiều thuộc tính với định dạng tuần tự hóa JSON thường được sử dụng trong khi nhỏ gọn hơn đáng kể qua dây.
Bảng kê | |
---|---|
@71 | enum |
@73 | enum |
@74 { | enum |
@75 | enum |
TLVCommonProfiles { | enum |
TLVElementType | enum |
TLVFieldSize | enum |
TLVTagControl | enum |
TLVTagFields | enum |
TLVType | enum Phép 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ừ một đối tượng người đọc vào người viết. |
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[] | const uint8_t |
Chức năng | |
---|---|
CommonTag (uint32_t tagNum) | uint64_t Tạo biểu diễn API của thẻ TLV hồ sơ chung. |
ContextTag (uint8_t tagNum) | uint64_t Tạo biểu 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à 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 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 hợp lệ. |
ProfileIdFromTag (uint64_t tag) | uint32_t Trả về id hồ sơ từ thẻ TLV . |
ProfileNumFromTag (uint64_t tag) | uint16_t Trả về số hồ sơ từ thẻ TLV . |
ProfileTag (uint32_t profileId, uint32_t tagNum) | uint64_t Tạo biểu diễn API của thẻ TLV dành riêng cho tiểu sử từ id tiểu sử và số thẻ. |
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum) | uint64_t Tạo bản trình bày API của thẻ TLV dành riêng cho cấu hình từ id nhà cung cấp, số cấu hình và số thẻ. |
TLVFieldSizeToBytes (TLVFieldSize fieldSize) | uint8_t |
TLVTypeHasLength (uint8_t type) | bool Trả về true nếu kiểu TLV được chỉ định ngụ ý 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 kiểu TLV được chỉ định ngụ ý sự hiện diện của 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à một vùng chứa. |
TLVTypeIsString (uint8_t type) | bool Trả về true nếu loại TLV được chỉ định là UTF8 hoặc chuỗi byte. |
TagNumFromTag (uint64_t tag) | uint32_t Trả về số thẻ từ thẻ TLV . |
VendorIdFromTag (uint64_t tag) | uint16_t Trả về id nhà cung cấp từ thẻ TLV . |
Các lớp học | |
---|---|
nl :: Weave :: TLV :: CircularTLVReader | |
nl :: Weave :: TLV :: CircularTLVWriter | |
nl :: Weave :: TLV :: TLVReader | Cung cấp trình phân tích bộ nhớ hiệu quả cho dữ liệu được mã hóa ở định dạng Weave TLV . |
nl :: Weave :: TLV :: TLVUpdater | Cung cấp giao diện Reader / Writer thống nhất để chỉnh sửa / thêm / xóa các phần tử trong bảng mã TLV . |
nl :: Weave :: TLV :: TLVWriter | Cung cấp bộ mã hóa hiệu quả về bộ nhớ để ghi dữ liệu ở định dạng Weave TLV . |
nl :: Weave :: TLV :: WeaveCircularTLVBuffer | WeaveCircularTLVBuffer cung cấp kho lưu trữ hình tròn chonl :: Weave :: TLV :: TLVWriter và nl :: Weave :: TLVTLVReader. |
Không gian tên | |
---|---|
nl :: Weave :: TLV :: Debug | 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 :: Weave :: TLV :: Tiện ích | 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 Weave TLV . |
Bảng kê
@ 71
@71
@ 73
@73
@ 74
@74
Tính chất | |
---|---|
AnonymousTag | Giá trị biểu thị phần tử TLV không có thẻ (tức là một phần tử ẩn danh). |
@ 75
@75
TLVCommonProfiles
TLVCommonProfiles
Tính chất | |
---|---|
kProfileIdNotSpecified | Được sử dụng để chỉ ra sự vắng mặt của id hồ sơ trong một biến hoặc thành viên. Điều này về cơ bản giống như kWeaveProfile_NotSpecified được định nghĩa trong WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Biến
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Sao chép một phần tử TLV từ một đối tượng người đọc vào người viết.
Phương thức CopyElement () mã hóa một phần tử TLV mới có kiểu và giá trị được lấy từ một đối tượngTLVReader . Khi phương thức được gọi, đối tượng đầu đọc đượ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à 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.
Chi tiết | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
| ||||||||||||||||||
Giá trị trả lại |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Chức năng
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Tạo biểu diễn API của thẻ TLV hồ sơ chung.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Một số nguyên 64 bit đại diện cho thẻ. |
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Tạo biểu diễn API cho thẻ TLV theo ngữ cảnh cụ thể.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Một 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à thẻ theo ngữ cảnh cụ thể.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Trả về true của thẻ được cung cấp là thẻ dành riêng cho 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 biểu diễn API của thẻ TLV dành riêng cho tiểu sử từ id tiểu sử và số thẻ.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
| ||||
Lợi nhuận | Một 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 bản trình bày API của thẻ TLV dành riêng cho cấu hình từ id nhà cung cấp, số cấu hình và số thẻ.
Chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
| ||||||
Lợi nhuận | Một 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 .
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | Số thẻ được liên kết. |
IsProfileTag () và IsContextTag ()