нл:: Переплетение:: Профили:: Ссылочные TLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Точно так же нам нужно иметь возможность представлять большой старый блок данных TLV .
Краткое содержание
Наследование
Наследуется от: nl::Weave::Profiles::RetainedPacketBufferКонструкторы и деструкторы | |
---|---|
ReferencedTLVData (void) -------------- определения для данных TLV -------------- |
Публичные типы | |
---|---|
TLVWriteCallback )(TLV::TLVWriter &aWriter, void *aAppState) | определение типаvoid(* |
Публичные атрибуты | |
---|---|
theData | uint8_t * |
theLength | uint16_t |
theMaxLength | uint16_t |
Общественные функции | |
---|---|
free (void) | void Освободите объект ReferencedTLVData , то есть отмените его определение. |
init ( System::PacketBuffer *aBuffer) | Инициализируйте объект ReferencedTLVData с учетом PacketBuffer. |
init ( MessageIterator & i) | Инициализируйте объект ReferencedTLVData с учетом MessageIterator . |
init (uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString) | Инициализируйте ReferencedTLVObject с использованием байтовой строки. |
init (TLVWriteCallback aWriteCallback, void *anAppState) | Инициализируйте объект RefererencedTLVData с помощью функции обратного вызова. |
isEmpty (void) | bool Проверьте, есть ли что-нибудь в объекте ReferencedTLVData . |
isFree (void) | bool Проверьте, является ли объект ReferencedTLVData «свободным», т.е. |
operator== (const ReferencedTLVData &) const | bool Проверьте объект ReferencedTLVData на равенство с другим объектом. |
pack ( System::PacketBuffer *buff) | Упакуйте объект ReferencedTLVData непосредственно в PacketBuffer. |
pack ( MessageIterator & i, uint32_t maxLen) | |
packedLength (void) | uint16_t Возвращает длину данных, предполагая, что объект упакован в буфер. |
Публичные статические функции | |
---|---|
parse ( System::PacketBuffer *buff, ReferencedTLVData & aTarget) | Проанализируйте объект ReferencedTLVData из предоставленного PacketBuffer. |
parse ( MessageIterator & i, ReferencedTLVData & aTarget) | Проанализируйте объект ReferencedTLVData из предоставленного MessageIterator . |
Публичные типы
TLVWriteОбратный вызов
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Публичные атрибуты
данные
uint8_t * theData
длина
uint16_t theLength
theMaxLength
uint16_t theMaxLength
Общественные функции
Ссылочные TLVData
ReferencedTLVData( void )
инициализировать
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Инициализируйте объект ReferencedTLVData с учетом PacketBuffer.
Инициализируйте объект ReferencedTLVData с учетом буфера, полного TLV . Это предполагает, что буфер ТОЛЬКО содержит TLV .
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
инициализировать
WEAVE_ERROR init( MessageIterator & i )
Инициализируйте объект ReferencedTLVData с учетом MessageIterator .
Инициализируйте объект ReferencedTLVData с учетом MessageIterator . В данном случае TLV — это последняя часть буфера, и мы передаем итератор сообщения, указывающий на него.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
инициализировать
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Инициализируйте ReferencedTLVObject с использованием байтовой строки.
Инициализируйте объект ReferencedTLVData с помощью байтовой строки, содержащей TLV . Этот инициализатор мы используем, если PacketrBuffer отсутствует, поскольку мы создаем один из них для упаковки и отправки.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
инициализировать
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Инициализируйте объект RefererencedTLVData с помощью функции обратного вызова.
Инициализируйте объект ReferencedTLVData . Вместо явного предоставления данных эта версия предоставляет функцию, обратный вызов записи и ссылочный объект, который будет передан ей вместе с объектом TLVWriter, когда данные, на которые ссылаются, должны быть упакованы и отправлены. Подпись этого обратного вызова:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
isEmpty
bool isEmpty( void )
Проверьте, есть ли что-нибудь в объекте ReferencedTLVData .
Есть два возможных способа, которыми такой объект может что-то «иметь». Либо он может иметь нулевую длину, либо не иметь обратного вызова записи.
Подробности | |
---|---|
Возврат | true, если набор данных имеет нулевую длину или нет обратного вызова записи, в противном случае — false. |
isFree
bool isFree( void )
Проверьте, является ли объект ReferencedTLVData «свободным», т.е.
неопределенный.
Подробности | |
---|---|
Возврат | true, если объект не определен, в противном случае — false. |
оператор==
bool operator==( const ReferencedTLVData & ) const
Проверьте объект ReferencedTLVData на равенство с другим объектом.
Обратите внимание, что это действительно имеет смысл только в случае двух объектов, в которых есть фактические данные, поддерживаемые буфером или строкой.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
пакет
WEAVE_ERROR pack( System::PacketBuffer *buff )
Упакуйте объект ReferencedTLVData непосредственно в PacketBuffer.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_ERROR, отражающий успех базового вызова пакета. |
пакет
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
упакованная длина
uint16_t packedLength( void )
Возвращает длину данных, предполагая, что объект упакован в буфер.
Подробности | |
---|---|
Возврат | целочисленная длина упакованных данных. |
Публичные статические функции
анализировать
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Проанализируйте объект ReferencedTLVData из предоставленного PacketBuffer.
Анализируйте объект ReferencedTLVData из inet-буфера (при условии, что он содержит только TLV ).
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_ERROR, отражающий успех базового вызова синтаксического анализа. |
анализировать
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Проанализируйте объект ReferencedTLVData из предоставленного MessageIterator .
Выполните анализ объекта ReferenceTLVData из объекта MessageIterator , который, как предполагается, указывает на часть TLV сообщения.
Обратите внимание, что здесь не выполняется никакой «синтаксический анализ», поскольку TLV остается в буфере и не подвергается никаким манипуляциям. Этот метод в основном просто настраивает структуру ReferencedTLVData для дальнейшего использования.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|