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 :: Hồ sơ :: Tham chiếuTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

Tương tự, chúng ta cần có khả năng đại diện cho một khối dữ liệu TLV cũ lớn.

Tóm lược

Di sản

Kế thừa từ: nl :: Weave :: Profiles :: RetainedPacketBuffer

Người xây dựng và Người phá hủy

ReferencedTLVData (void)
-------------- định nghĩa cho dữ liệu TLV --------------

Các loại công khai

TLVWriteCallback )(TLV::TLVWriter &aWriter, void *aAppState) typedef
void(*

Thuộc tính công cộng

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Chức năng công cộng

free (void)
void
Giải phóng một đối tượng ReferencedTLVData , có nghĩa là, không xác định nó.
init ( System::PacketBuffer *aBuffer)
Khởi tạo đối tượng ReferencedTLVData cho một PacketBuffer.
init ( MessageIterator & i)
Khởi tạo một đối tượng ReferencedTLVData cho một MessageIterator .
init (uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Khởi tạo một Đối tượng được tham chiếuTLVObject được cung cấp một chuỗi byte.
init (TLVWriteCallback aWriteCallback, void *anAppState)
Khởi tạo một đối tượng RefererencedTLVData cho một hàm gọi lại.
isEmpty (void)
bool
Kiểm tra xem đối tượng ReferencedTLVData có bất kỳ thứ gì trong đó không.
isFree (void)
bool
Kiểm tra xem đối tượng ReferencedTLVData là "miễn phí", tức là
operator== (const ReferencedTLVData &) const
bool
Kiểm tra đối tượng ReferencedTLVData so với một đối tượng khác xem có bằng nhau không.
pack ( System::PacketBuffer *buff)
Đóng gói đối tượng ReferencedTLVData trực tiếp vào PacketBuffer.
pack ( MessageIterator & i, uint32_t maxLen)
packedLength (void)
uint16_t
Trả về độ dài dữ liệu giả sử rằng đối tượng đã được đóng gói vào bộ đệm.

Chức năng tĩnh công khai

parse ( System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Phân tích cú pháp đối tượng ReferencedTLVData từ PacketBuffer được cung cấp.
parse ( MessageIterator & i, ReferencedTLVData & aTarget)
Phân tích cú pháp một đối tượng ReferencedTLVData từ một MessageIterator được cung cấp.

Các loại công khai

TLVWriteCallback

void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)

Thuộc tính công cộng

dữ liệu

uint8_t * theData

độ dài

uint16_t theLength

theMaxLength

uint16_t theMaxLength

Chức năng công cộng

Tham chiếuTLVData

 ReferencedTLVData(
  void
)

-------------- định nghĩa cho dữ liệu TLV --------------

Hàm tạo không đối số cho dữ liệu TLV . Cung cấp một đối tượng miễn phí / chưa được khởi tạo phải tuân theo một trong các phương thức init () được xác định ở đây để hữu ích.

miễn phí

void free(
  void
)

Giải phóng một đối tượng ReferencedTLVData , có nghĩa là, không xác định nó.

trong đó

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Khởi tạo đối tượng ReferencedTLVData cho một PacketBuffer.

Khởi tạo một đối tượng Dữ liệu được tham chiếuTLV được cung cấp một bộ đệm đầy TLV . Điều này giả định rằng bộ đệm CHỈ chứa TLV .

Chi tiết
Thông số
[in] aBuffer
Bộ đệm tin nhắn trong đó TLV cư trú.
Giá trị trả lại
WEAVE_NO_ERROR
Vô điều kiện

trong đó

WEAVE_ERROR init(
  MessageIterator & i
)

Khởi tạo một đối tượng ReferencedTLVData cho một MessageIterator .

Khởi tạo một đối tượng ReferencedTLVData cho một MessageIterator . Trong trường hợp này, TLV là phần cuối cùng của bộ đệm và chúng tôi chuyển vào một trình lặp thông báo trỏ đến nó.

Chi tiết
Thông số
[in] i
Một trình lặp thông báo trỏ đến TLV sẽ được trích xuất.
Giá trị trả lại
WEAVE_NO_ERROR
Vô điều kiện

trong đó

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

Khởi tạo một đối tượng tham chiếuTLVObject được cung cấp một chuỗi byte.

Khởi tạo đối tượng ReferencedTLVData bằng một chuỗi byte chứa TLV . Bộ khởi tạo này là bộ chúng tôi sử dụng nếu không có PacketrBuffer vì chúng tôi đang tạo một trong số chúng để đóng gói và gửi.

Chi tiết
Thông số
[in] aLength
Độ dài cho dữ liệu TLV
[in] aMaxLength
Tổng chiều dài của bộ đệm
[in] aByteString
Một con trỏ đến dữ liệu chuỗi
Giá trị trả lại
WEAVE_NO_ERROR
Vô điều kiện

trong đó

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Khởi tạo một đối tượng RefererencedTLVData cho một hàm gọi lại.

Khởi tạo một đối tượng ReferencedTLVData . Thay vì cung cấp dữ liệu một cách rõ ràng, phiên bản này cung cấp hàm, lệnh gọi lại ghi và một đối tượng tham chiếu, sẽ được chuyển cho nó, cùng với một đối tượng TLVWriter, khi dữ liệu được tham chiếu phải được đóng gói và gửi. Chữ ký của cuộc gọi lại đó là:

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

Chi tiết
Thông số
[in] aWriteCallback
hàm sẽ được gọi khi đến lúc viết một số TLV .
[in] anAppState
một đối tượng trạng thái ứng dụng sẽ được chuyển đến lệnh gọi lại cùng với trình viết.
Giá trị trả lại
WEAVE_NO_ERROR
Về thành công.
WEAVE_ERROR_INVALID_ARGUMENT
Nếu lệnh gọi lại ghi không được cung cấp.

isEmpty

bool isEmpty(
  void
)

Kiểm tra xem đối tượng ReferencedTLVData có bất kỳ thứ gì trong đó không.

Có hai cách có thể một đối tượng như vậy có thể "có" một cái gì đó. Hoặc nó có thể có độ dài 0 HOẶC nó không thể có lệnh gọi lại ghi.

Chi tiết
Lợi nhuận
true nếu tập dữ liệu có độ dài 0 hoặc không có lệnh gọi lại ghi, ngược lại là false.

là miễn phí

bool isFree(
  void
)

Kiểm tra xem đối tượng ReferencedTLVData là "miễn phí", tức là

chưa xác định.

Chi tiết
Lợi nhuận
true nếu đối tượng là không xác định, ngược lại là false.

toán tử ==

bool operator==(
  const ReferencedTLVData &
) const 

Kiểm tra một đối tượng ReferencedTLVData so với một đối tượng khác xem có bằng nhau không.

Lưu ý rằng điều này chỉ thực sự có ý nghĩa trong trường hợp hai đối tượng có dữ liệu thực tế trong đó được hỗ trợ bởi bộ đệm hoặc chuỗi.

Chi tiết
Thông số
[in] Another
một đối tượng để kiểm tra chống lại
Giá trị trả lại
true
Các đối tượng bằng nhau.
false
Các chuỗi đối tượng không bằng nhau.

đóng gói

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Đóng gói đối tượng ReferencedTLVData trực tiếp vào PacketBuffer.

Chi tiết
Thông số
[in] buff
bộ đệm để lấp đầy.
Lợi nhuận
WEAVE_ERROR phản ánh sự thành công của cuộc gọi gói cơ bản.

đóng gói

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

đóng gói

uint16_t packedLength(
  void
)

Trả về độ dài dữ liệu giả sử rằng đối tượng đã được đóng gói vào bộ đệm.

Chi tiết
Lợi nhuận
độ dài số nguyên của dữ liệu được đóng gói.

Chức năng tĩnh công khai

phân tích cú pháp

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

Phân tích cú pháp đối tượng ReferencedTLVData từ PacketBuffer được cung cấp.

Phân tích cú pháp một đối tượng ReferencedTLVData ra khỏi bộ đệm inet (giả sử nó chỉ chứa TLV ).

Chi tiết
Thông số
[in] buff
bộ đệm để đọc từ đó.
[out] aTarget
một đối tượng ReferencedTLVData để "lấp đầy" kết quả.
Lợi nhuận
WEAVE_ERROR phản ánh sự thành công của lệnh gọi phân tích cú pháp cơ bản.

phân tích cú pháp

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Phân tích cú pháp một đối tượng ReferencedTLVData từ một MessageIterator được cung cấp.

Phân tích cú pháp một đối tượng ReferenceTLVData từ một đối tượng MessageIterator được giả định là trỏ đến phần TLV của thư.

Lưu ý rằng không có "phân tích cú pháp" thực sự nào được thực hiện ở đây vì TLV được để trong bộ đệm và không được thao tác gì cả. Phương pháp này chủ yếu chỉ thiết lập cấu trúc ReferencedTLVData để sử dụng sau này.

Chi tiết
Thông số
[in] i
Một trình lặp trên thư đang được phân tích cú pháp.
[out] aTarget
Một nơi để đặt kết quả phân tích cú pháp.
Giá trị trả lại
WEAVE_NO_ERROR
Vô điều kiện