nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Tương tự, chúng ta cần có khả năng trình bày một blob dữ liệu TLV lớn.
Tóm tắt
Tính kế thừa
Kế thừa từ: nl::Weave::Profiles::RetainedPacketBuffer
Hàm khởi tạo và phá huỷ |
|
---|---|
ReferencedTLVData(void)
-------------- định nghĩa cho dữ liệu TLV --------------
|
Loại công khai |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
Các thuộc tính công khai |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
Hàm công khai |
|
---|---|
free(void)
|
void
Giải phóng một đối tượng ReferencedTLVData, tức là không xác định đối tượng đó.
|
init(System::PacketBuffer *aBuffer)
|
Khởi động đối tượng ReferencedTLVData cho sẵn một PacketBuffer.
|
init(MessageIterator & i)
|
Khởi động đối tượng ReferencedTLVData cho sẵn MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Khởi động ReferencedTLVObject dựa trên một chuỗi byte.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Khởi tạo đối tượng ReferenceerencedTLVData cho một hàm callback.
|
isEmpty(void)
|
bool
Kiểm tra xem đối tượng ReferencedTLVData có chứa nội dung gì không.
|
isFree(void)
|
bool
Kiểm tra xem một đối tượng ReferencedTLVData có phải là "miễn phí" hay không, tức là
|
operator==(const ReferencedTLVData &) const
|
bool
Kiểm tra đối tượng ReferencedTLVData với đối tượng khác để xem đối tượng có tính bằng nhau.
|
pack(System::PacketBuffer *buff)
|
Đóng gói trực tiếp một đối tượng ReferencedTLVData vào PacketBuffer.
|
pack(MessageIterator & i, uint32_t maxLen)
|
|
packedLength(void)
|
uint16_t
Trả về độ dài dữ liệu với giả định đối tượng đã được đóng gói vào vùng đệm.
|
Hàm tĩnh công khai |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
Phân tích cú pháp đối tượng ReferencedTLVData từ một PacketBuffer đã cung cấp.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Phân tích cú pháp đối tượng ReferencedTLVData từ một MessageIterator được cung cấp.
|
Loại công khai
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Các thuộc tính công khai
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
Hàm công khai
ReferencedTLVData
ReferencedTLVData( void )
miễn phí
void free( void )
Giải phóng một đối tượng ReferencedTLVData, tức là không xác định đối tượng đó.
khởi tạo
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Khởi động đối tượng ReferencedTLVData cho sẵn một PacketBuffer.
Khởi động đối tượng ReferencedTLVData cho một vùng đệm đầy TLV. Điều này giả định rằng vùng đệm CHỈ chứa TLV.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Giá trị trả về |
|
khởi tạo
WEAVE_ERROR init( MessageIterator & i )
Khởi động đối tượng ReferencedTLVData cho sẵn MessageIterator.
Khởi động đối tượng ReferencedTLVData cho sẵn MessageIterator. Trong trường hợp này, TLV là phần cuối cùng của vùng đệm và chúng ta truyền một trình lặp thông báo trỏ đến vùng đệm đó.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Giá trị trả về |
|
khởi tạo
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Khởi tạo ReferencedTLVObject dựa trên một chuỗi byte.
Khởi động đối tượng ReferencedTLVData bằng một chuỗi byte chứa TLV. Trình khởi tạo này là trình chúng tôi sử dụng nếu không có PacketrBuffer do chúng ta đang tạo một trong những trình khởi tạo này để đóng gói và gửi.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Tham số |
|
||||||
Giá trị trả về |
|
khởi tạo
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Khởi tạo đối tượng ReferenceerencedTLVData cho một hàm callback.
Khởi động một đối tượng ReferencedTLVData. Thay vì cung cấp dữ liệu rõ ràng, phiên bản này cung cấp hàm, lệnh gọi lại ghi và đối tượng tham chiếu. Các đối tượng này sẽ được truyền vào đó cùng với đối tượng TLVWriter, khi dữ liệu được tham chiếu được đóng gói và gửi đi. Chữ ký của lệnh gọi lại đó là:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|
Trống
bool isEmpty( void )
Kiểm tra xem đối tượng ReferencedTLVData có chứa nội dung gì không.
Có hai cách khả thi để một đối tượng đó có thể "có" một điều gì đó. Hoặc có thể có độ dài bằng 0 HOẶC không có lệnh gọi lại ghi.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu tập dữ liệu có độ dài bằng 0 hoặc không có lệnh gọi lại ghi trong tay, nếu không thì sẽ là false.
|
isFree
bool isFree( void )
Kiểm tra xem một đối tượng ReferencedTLVData có phải là "miễn phí" hay không, tức là
chưa xác định.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu đối tượng không xác định, false nếu không xác định.
|
toán tử==
bool operator==( const ReferencedTLVData & ) const
Kiểm tra đối tượng ReferencedTLVData với đối tượng khác để xem đối tượng có tính bằng nhau.
Lưu ý rằng điều này chỉ thực sự hợp lý trong trường hợp 2 đối tượng có dữ liệu thực tế trong đó được hỗ trợ bởi một vùng đệm hoặc chuỗi.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|
gói
WEAVE_ERROR pack( System::PacketBuffer *buff )
Đóng gói trực tiếp một đối tượng ReferencedTLVData vào PacketBuffer.
Thông tin chi tiết | |||
---|---|---|---|
Tham số |
|
||
Trả về |
WEAVE_ERROR phản ánh sự thành công của lệnh gọi gói cơ bản.
|
gói
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
Trả về độ dài dữ liệu với giả định đối tượng đã được đóng gói vào vùng đệm.
Thông tin chi tiết | |
---|---|
Trả về |
độ dài số nguyên của dữ liệu được đóng gói.
|
Hàm 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ừ một PacketBuffer đã cung cấp.
Phân tích cú pháp đối tượng ReferencedTLVData từ vùng đệm inet (giả sử đối tượng đó chỉ chứa TLV).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Trả về |
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 đối tượng ReferencedTLVData từ một MessageIterator được cung cấp.
Phân tích cú pháp đối tượng ReferenceTLVData từ một đối tượng MessageIterator được giả định là trỏ đến phần TLV của thông báo.
Lưu ý rằng không có hoạt động "phân tích cú pháp" thực tế được thực hiện ở đây vì TLV nằm trong vùng đệm và không hề bị thao tác. Phương thức này chủ yếu chỉ thiết lập cấu trúc ReferencedTLVData để sử dụng sau này.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Tham số |
|
||||
Giá trị trả về |
|