nl:: Weave:: Hồ sơ:: Tệp 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 blob cũ dữ liệu TLV.
Tóm tắt
Tính kế thừa
Kế thừa từ: nl::Weave::Profiles::KeepedPacketBuffer
Hàm dựng và hàm phá hủy |
|
---|---|
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 đối tượng referencedTLVData, tức là không xác định đối tượng đó.
|
init(System::PacketBuffer *aBuffer)
|
Khởi tạo đối tượng referencedTLVData được cung cấp bằng PackageetBuffer.
|
init(MessageIterator & i)
|
Khởi tạo đối tượng referencedTLVData bằng cách sử dụng MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Khởi tạo một referencedTLVObject trong một chuỗi byte.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Khởi tạo đối tượngGiới thiệu về đối tượng dựa trên hàm callback.
|
isEmpty(void)
|
bool
Kiểm tra xem đối tượng referencedTLVData có chứa gì trong đó không.
|
isFree(void)
|
bool
Kiểm tra xem đối tượng referencedTLVData có phải là "free" không, tức là
|
operator==(const ReferencedTLVData &) const
|
bool
Kiểm tra đối tượng referencedTLVData so với đối tượng khác để xem có đẳng thức không.
|
pack(System::PacketBuffer *buff)
|
Đóng gói một đối tượng referencedTLVData trực tiếp vào một 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 bộ đệ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ừ MessageIterator đã cung cấp.
|
Loại công khai
Ghi đè lệnh gọi lại
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Thuộc tính công khai
Dữ liệu
uint8_t * theData
Độ dài
uint16_t theLength
theLengthLength
uint16_t theMaxLength
Hàm công khai
Tham chiếu TLVData
ReferencedTLVData( void )
miễn phí
void free( void )
Giải phóng đối tượng referencedTLVData, tức là không xác định đối tượng đó.
bắt đầu
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Khởi tạo đối tượng referencedTLVData được cung cấp bằng PackageetBuffer.
Khởi tạo đối tượng referencedTLVData dựa trên bộ đệm có đầy đủ TLV. Điều này giả định rằng bộ đệm CHỈ chứa TLV.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Giá trị trả về |
|
bắt đầu
WEAVE_ERROR init( MessageIterator & i )
Khởi tạo đối tượng referencedTLVData bằng cách sử dụng MessageIterator.
Khởi tạo đối tượng referencedTLVData bằng cách sử dụng MessageIterator. Trong trường hợp này, TLV là phần cuối cùng của bộ đệm và chúng ta chuyển một biến lặp thông báo trỏ đến bộ đệm đó.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Giá trị trả về |
|
bắt đầu
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Khởi tạo một referencedTLVObject trong 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 khởi tạo mà chúng tôi sử dụng nếu không có PacketrBuffer vì chúng tôi đ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 | |||||||
---|---|---|---|---|---|---|---|
Các thông số |
|
||||||
Giá trị trả về |
|
bắt đầu
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Khởi tạo đối tượngGiới thiệu về đối tượng dựa trên hàm callback.
Khởi tạo đố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à một đối tượng tham chiếu. Hàm này sẽ được chuyể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. 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 thông số |
|
||||
Giá trị trả về |
|
is trống
bool isEmpty( void )
Kiểm tra xem đối tượng referencedTLVData có chứa gì trong đó không.
Có hai cách để đối tượng như vậy có thể "have" một thứ gì đó. Thông số này có thể có độ dài là 0 HOẶC không thể 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ó 0 độ dài hoặc không có lệnh gọi lại ghi trong tay, false nếu không có lệnh ghi lại.
|
miễn phí
bool isFree( void )
Kiểm tra xem đối tượng referencedTLVData có phải là "free" không, tức là
không xác định.
Thông tin chi tiết | |
---|---|
Trả về |
true nếu đối tượng không được xác định, false nếu không.
|
toán tử==
bool operator==( const ReferencedTLVData & ) const
Kiểm tra đối tượng referencedTLVData so với đối tượng khác để xem có đẳng thức không.
Xin lưu ý rằng điều này chỉ có ý nghĩa với trường hợp hai đối tượng có dữ liệu thực tế được lưu trong bộ đệm hoặc chuỗi.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Giá trị trả về |
|
gói
WEAVE_ERROR pack( System::PacketBuffer *buff )
Đóng gói một đối tượng referencedTLVData trực tiếp vào một PacketBuffer.
Thông tin chi tiết | |||
---|---|---|---|
Các thông số |
|
||
Trả về |
một WEAVE_ERROR phản ánh 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 )
LengthLength
uint16_t packedLength( void )
Trả về độ dài dữ liệu giả định rằng đối tượng đã được đóng gói vào bộ đệ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 khỏi bộ đệm inet (giả sử đối tượng chỉ chứa TLV).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các thông số |
|
||||
Trả về |
một WEAVE_ERROR phản ánh 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ừ MessageIterator đã cung cấp.
Phân tích cú pháp đối tượng ReferenceTLVData từ đối tượng MessageIterator đã giả định là trỏ vào phần TLV của thông báo.
Lưu ý rằng không có "parsing" thực tế nào được thực hiện ở đây vì TLV vẫn còn trong bộ đệm và hoàn toàn không bị bóp méo. 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 thông số |
|
||||
Giá trị trả về |
|