нл:: Переплетение:: Профили:: Ссылочные 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
)

-------------- определения для данных TLV --------------

Конструктор без аргументов для данных TLV . Предоставляет свободный/неинициализированный объект, который должен быть подвергнут воздействию одного из методов init() , определенных здесь, чтобы быть полезным.

бесплатно

void free(
  void
)

Освободите объект ReferencedTLVData , то есть отмените его определение.

в этом

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Инициализируйте объект ReferencedTLVData с учетом PacketBuffer.

Инициализируйте объект ReferencedTLVData с учетом буфера, полного TLV . Это предполагает, что буфер ТОЛЬКО содержит TLV .

Подробности
Параметры
[in] aBuffer
Буфер сообщений, в котором находится TLV .
Возвращаемые значения
WEAVE_NO_ERROR
Безоговорочно

в этом

WEAVE_ERROR init(
  MessageIterator & i
)

Инициализируйте объект ReferencedTLVData с учетом MessageIterator .

Инициализируйте объект ReferencedTLVData с учетом MessageIterator . В данном случае TLV — это последняя часть буфера, и мы передаем итератор сообщения, указывающий на него.

Подробности
Параметры
[in] i
Итератор сообщения, указывающий на TLV , который необходимо извлечь.
Возвращаемые значения
WEAVE_NO_ERROR
Безоговорочно

в этом

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

Инициализируйте ReferencedTLVObject с использованием байтовой строки.

Инициализируйте объект ReferencedTLVData с помощью байтовой строки, содержащей TLV . Этот инициализатор мы используем, если PacketrBuffer отсутствует, поскольку мы создаем один из них для упаковки и отправки.

Подробности
Параметры
[in] aLength
Длина данных TLV
[in] aMaxLength
Общая длина буфера
[in] aByteString
Указатель на строковые данные
Возвращаемые значения
WEAVE_NO_ERROR
Безоговорочно

в этом

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Инициализируйте объект RefererencedTLVData с помощью функции обратного вызова.

Инициализируйте объект ReferencedTLVData . Вместо явного предоставления данных эта версия предоставляет функцию, обратный вызов записи и ссылочный объект, который будет передан ей вместе с объектом TLVWriter, когда данные, на которые ссылаются, должны быть упакованы и отправлены. Подпись этого обратного вызова:

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

Подробности
Параметры
[in] aWriteCallback
функция, которая будет вызываться, когда придет время записать TLV .
[in] anAppState
объект состояния приложения, который будет передан обратному вызову вместе с модулем записи.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INVALID_ARGUMENT
Если обратный вызов записи не предоставлен.

пусто

bool isEmpty(
  void
)

Проверьте, есть ли что-нибудь в объекте ReferencedTLVData .

Есть два возможных способа, которыми такой объект может что-то «иметь». Либо он может иметь нулевую длину, либо не иметь обратного вызова записи.

Подробности
Возврат
true, если набор данных имеет нулевую длину или нет обратного вызова записи, в противном случае — false.

бесплатно

bool isFree(
  void
)

Проверьте, является ли объект ReferencedTLVData «свободным», т.е.

неопределенный.

Подробности
Возврат
true, если объект не определен, в противном случае — false.

оператор==

bool operator==(
  const ReferencedTLVData &
) const 

Проверьте объект ReferencedTLVData на предмет равенства с другим объектом.

Обратите внимание, что это действительно имеет смысл только в случае двух объектов, в которых есть фактические данные, поддерживаемые буфером или строкой.

Подробности
Параметры
[in] Another
объект для проверки
Возвращаемые значения
true
Объекты равны.
false
Строки объектов не равны.

пакет

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Упакуйте объект ReferencedTLVData непосредственно в PacketBuffer.

Подробности
Параметры
[in] buff
буфер для заполнения.
Возврат
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 ).

Подробности
Параметры
[in] buff
буфер для чтения.
[out] aTarget
объект ReferencedTLVData для «заполнения» результатом.
Возврат
WEAVE_ERROR, отражающий успех базового вызова синтаксического анализа.

анализировать

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Проанализируйте объект ReferencedTLVData из предоставленного MessageIterator .

Выполните анализ объекта ReferenceTLVData из объекта MessageIterator , который, как предполагается, указывает на часть TLV сообщения.

Обратите внимание, что здесь не выполняется никакой «синтаксический анализ», поскольку TLV остается в буфере и не подвергается никаким манипуляциям. Этот метод в основном просто настраивает структуру ReferencedTLVData для дальнейшего использования.

Подробности
Параметры
[in] i
Итератор анализируемого сообщения.
[out] aTarget
Место для размещения результата синтаксического анализа.
Возвращаемые значения
WEAVE_NO_ERROR
Безоговорочно