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 :: RetainedPacketBufferNgườ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) | typedefvoid(* |
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 )
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ố |
| ||
Giá trị trả lại |
|
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ố |
| ||
Giá trị trả lại |
|
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ố |
| ||||||
Giá trị trả lại |
|
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ố |
| ||||
Giá trị trả lại |
|
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ố |
| ||||
Giá trị trả lại |
|
đó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ố |
| ||
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ố |
| ||||
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ố |
| ||||
Giá trị trả lại |
|