nl:: Weave:: Profiles:: ReferencedTLVData
#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 blob lớn dữ liệu TLV.
Tóm tắt
Tính kế thừa
Kế thừa từ: nl::Weave::Profiles::RetainedPacketBuffer
Hàm khởi tạo và hàm phá |
|
---|---|
ReferencedTLVData(void)
-------------- định nghĩa về dữ liệu TLV --------------
|
Loại công khai |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
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à chưa xác định đối tượng này.
|
init(System::PacketBuffer *aBuffer)
|
Khởi động đối tượng ReferencedTLVData dựa trên một Gói đệm.
|
init(MessageIterator & i)
|
Khởi động một đối tượng ReferencedTLVData dựa trên MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Khởi động ReferencedTLVObject khi có một chuỗi byte.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Khởi động đối tượng ReferenceerencedTLVData khi có một hàm callback.
|
isEmpty(void)
|
bool
Kiểm tra xem đối tượng ReferencedTLVData có chứa nội dung nào trong đó hay không.
|
isFree(void)
|
bool
Kiểm tra xem đối tượng ReferencedTLVData có "miễn phí" hay không
|
operator==(const ReferencedTLVData &) const
|
bool
Kiểm tra đối tượng ReferencedTLVData so với đối tượng khác để biết sự cân bằng.
|
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 giả định rằng đối tượng đã được đóng gói vào một 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ừ PacketBuffer đã cung cấp.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Phân tích cú pháp đối tượng ReferencedTLVData từ MessageIterator đã cung cấp.
|
Loại công khai
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
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à chưa xác định đối tượng này.
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Khởi động đối tượng ReferencedTLVData dựa trên một Gói đệm.
Khởi động một đối tượng ReferencedTLVData khi có vùng đệm chứa đầy TLV. Điều này giả định rằng vùng đệm CHỈ chứa TLV.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Giá trị trả về |
|
init
WEAVE_ERROR init( MessageIterator & i )
Khởi động một đối tượng ReferencedTLVData dựa trên MessageIterator.
Khởi động một đối tượng ReferencedTLVData dựa trê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 | |||
---|---|---|---|
Các tham số |
|
||
Giá trị trả về |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Khởi động ReferencedTLVObject khi có một chuỗi byte.
Khởi tạo đố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 vì chúng ta sẽ tạo một trong số các trình khởi tạo này để đóng gói và gửi.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Khởi động đối tượng ReferenceerencedTLVData khi có một hàm callback.
Khởi động đố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 sẽ được truyền vào đó, cùng với đối tượng TLVWriter, khi dữ liệu tham chiếu được cho là được đóng gói và gử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 | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Giá trị trả về |
|
isEmpty
bool isEmpty( void )
Kiểm tra xem đối tượng ReferencedTLVData có chứa nội dung nào trong đó hay không.
Một đối tượng như vậy có thể "có" nội dung nào đó theo hai cách. Mã này 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 nào trong quá trình ghi, nếu không thì là false.
|
isFree
bool isFree( void )
Kiểm tra xem đối tượng ReferencedTLVData có "miễn phí" hay không
không xác định.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu đối tượng là không xác định, nếu không thì là false.
|
toán tử==
bool operator==( const ReferencedTLVData & ) const
Kiểm tra đối tượng ReferencedTLVData so với đối tượng khác để biết sự cân bằng.
Lưu ý rằng điều này chỉ thực sự có ý nghĩa 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 | |||||
---|---|---|---|---|---|
Các 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 | |||
---|---|---|---|
Các tham số |
|
||
Trả về |
một 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 giả định rằng đối tượng đã được đóng gói vào một 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
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Phân tích cú pháp đối tượng ReferencedTLVData từ PacketBuffer đã cung cấp.
Phân tích cú pháp đối tượng ReferencedTLVData trong vùng đệm inet (giả sử đối tượng này chỉ chứa TLV).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
một 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.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Phân tích cú pháp đối tượng ReferencedTLVData từ MessageIterator đã cung cấp.
Phân tích cú pháp đối tượng ReferenceTLVData 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ó thao tác "phân tích cú pháp" thực tế nào được thực hiện ở đây vì TLV được để lại trong vùng đệm và hoàn toàn không bị chỉnh sửa. 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 | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Giá trị trả về |
|