Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

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 {
AnonymousTag = kSpecialTagMarker | 0x00000000FFFFFFFFULL
}
enum
@75 enum
TLVCommonProfiles {
kProfileIdNotSpecified = 0xFFFFFFFF
}
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

TLVType

 TLVType

Phép liệt kê xác định loại phần tử TLV .

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ố
[in] tag
Thẻ TLV sẽ được mã hóa với vùng chứa hoặc AnonymousTag nếu vùng chứa phải được mã hóa mà không có thẻ. Giá trị thẻ phải được tạo bằng một trong các hàm định nghĩa thẻ là ProfileTag () , ContextTag () hoặc CommonTag () .
[in] reader
Tham chiếu đến đối tượngTLVReader xác định phần tử TLV được mã hóa trước có kiểu và giá trị cần được sao chép.
Giá trị trả lại
WEAVE_NO_ERROR
Nếu phương pháp thành công.
WEAVE_ERROR_INCORRECT_STATE
Nếu đầu đọc được cung cấp không được định vị trên một phần tử.
WEAVE_ERROR_TLV_CONTAINER_OPEN
Nếu một trình ghi vùng chứa đã được mở trên trình viết hiện tại và chưa đóng.
WEAVE_ERROR_TLV_UNDERRUN
Nếu mã hóa TLV cơ bản được liên kết với đầu đọc được cung cấp kết thúc sớm.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Nếu đầu đọc được cung cấp gặp phải loại phần tử TLV không hợp lệ hoặc không được hỗ trợ.
WEAVE_ERROR_INVALID_TLV_TAG
Nếu trình đọc được cung cấp gặp thẻ TLV trong ngữ cảnh không hợp lệ hoặc nếu thẻ được cung cấp không hợp lệ hoặc không phù hợp trong ngữ cảnh mà vùng chứa mới đang được viết.
WEAVE_ERROR_BUFFER_TOO_SMALL
Nếu việc ghi giá trị sẽ vượt quá giới hạn về số byte tối đa được chỉ định khi khởi tạo trình ghi.
WEAVE_ERROR_NO_MEMORY
Nếu nỗ lực cấp phát bộ đệm đầu ra không thành công do thiếu bộ nhớ.
other
Các lỗi khác của Weave hoặc theo nền tảng cụ thể được trả về bởi các hàm GetNewBuffer () hoặc FinalizeBuffer () đã định cấu hình hoặc bởi hàm GetNextBuffer () được liên kết với đối tượng trình đọc.

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ố
[in] tagNum
Số thẻ hồ sơ chung được chỉ định cho thẻ.
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ố
[in] tagNum
Số thẻ theo ngữ cảnh cụ thể được chỉ định cho thẻ.
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
)

Trả về true nếu loại TLV được chỉ định hợp lệ.

Chi tiết
Lợi nhuận
true nếu kiểu TLV được chỉ định là hợp lệ; nếu không thì false .

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Trả về id hồ sơ từ thẻ TLV .

Chi tiết
Thông số
[in] tag
Biểu diễn API của thẻ TLV theo cấu hình cụ thể.
Lợi nhuận
Id hồ sơ.

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

Trả về số hồ sơ từ thẻ TLV .

Chi tiết
Thông số
[in] tag
Biểu diễn API của thẻ TLV theo cấu hình cụ thể.
Lợi nhuận
Số hồ sơ liên quan.

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ố
[in] profileId
Id của cấu hình trong đó thẻ được xác định.
[in] tagNum
Số thẻ của cấu hình cụ thể được chỉ định cho thẻ.
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ố
[in] vendorId
Id của nhà cung cấp đã xác định thẻ.
[in] profileNum
Số chỉ định của nhà cung cấp cho cấu hình trong đó thẻ được xác định.
[in] tagNum
Số thẻ của cấu hình cụ thể được chỉ định cho thẻ.
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
)

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.

Chi tiết
Lợi nhuận
true nếu kiểu TLV được chỉ định ngụ ý sự hiện diện của trường độ dài liên quan; ngược lại là false .

TLVTypeHasValue

bool TLVTypeHasValue(
  uint8_t type
)

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.

Chi tiết
Lợi nhuận
true nếu kiểu TLV được chỉ định ngụ ý sự hiện diện của trường giá trị liên quan; nếu không thì false .

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

Trả về true nếu loại TLV được chỉ định là một vùng chứa.

Chi tiết
Lợi nhuận
true nếu loại TLV được chỉ định là một vùng chứa; ngược lại là false .

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

Trả về true nếu loại TLV được chỉ định là UTF8 hoặc chuỗi byte.

Chi tiết
Lợi nhuận
true nếu kiểu TLV được chỉ định là UTF8 hoặc chuỗi byte; nếu không thì false .

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Trả về số thẻ từ thẻ TLV .

Chi tiết
Thông số
[in] tag
Biểu diễn API của thẻ TLV dành riêng cho cấu hình hoặc ngữ cảnh cụ thể.
Lợi nhuận
Số thẻ được liên kết.
Xem thêm:
IsProfileTag ()IsContextTag ()

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

Trả về id nhà cung cấp từ thẻ TLV .

Chi tiết
Thông số
[in] tag
Biểu diễn API của thẻ TLV theo cấu hình cụ thể.
Lợi nhuận
Id nhà cung cấp được liên kết.