nl::Weave::Profiles::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

Del mismo modo, debemos poder representar un gran BLOB antiguo de datos de TLV.

Resumen

Herencia

Hereda de: nl::Weave::Profiles::RetainedPacketBuffer.

Constructores y destructores

ReferencedTLVData(void)
-------------- definiciones para los datos de TLV --------------

Tipos públicos

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

Atributos públicos

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Funciones públicas

free(void)
void
Libera un objeto ReferencedTLVData, es decir, anula su definición.
init(System::PacketBuffer *aBuffer)
Inicializa el objeto ReferencedTLVData con un PacketBuffer.
init(MessageIterator & i)
Inicializa un objeto ReferencedTLVData con un MessageIterator.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Inicializa un ReferencedTLVObject con una string de bytes.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Inicializa un objeto RefererencedTLVData con una función de devolución de llamada.
isEmpty(void)
bool
Comprueba si hay algo en un objeto ReferencedTLVData.
isFree(void)
bool
Comprueba si un objeto ReferencedTLVData es "gratuito", es decir,
operator==(const ReferencedTLVData &) const
bool
Compara un objeto ReferencedTLVData con otro para comprobar su igualdad.
pack(System::PacketBuffer *buff)
Empaqueta un objeto ReferencedTLVData directamente en un PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Muestra la longitud de los datos suponiendo que el objeto se empaquetó en un búfer.

Funciones estáticas públicas

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Analiza un objeto ReferencedTLVData de un PacketBuffer suministrado.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Analiza un objeto ReferencedTLVData de un MessageIterator proporcionado.

Tipos públicos

TLVWriteCallback

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

Atributos públicos

theData

uint8_t * theData

theLength

uint16_t theLength

theMaxLength

uint16_t theMaxLength

Funciones públicas

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- definiciones para los datos de TLV --------------

El constructor sin argumentos para datos de TLV Entrega un objeto libre o no inicializado que debe estar sujeto a uno de los métodos init() definidos aquí para que sea útil.

gratis

void free(
  void
)

Libera un objeto ReferencedTLVData, es decir, anula su definición.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Inicializa el objeto ReferencedTLVData con un PacketBuffer.

Inicializa un objeto ReferencedTLVData con un búfer lleno de TLV. Esto supone que el búfer SOLO contiene TLV.

Detalles
Parámetros
[in] aBuffer
Un búfer de mensaje en el que reside el TLV.
Valores que se muestran
WEAVE_NO_ERROR
Incondicionalmente

init

WEAVE_ERROR init(
  MessageIterator & i
)

Inicializa un objeto ReferencedTLVData con un MessageIterator.

Inicializa un objeto ReferencedTLVData con un MessageIterator. En este caso, el TLV es la última parte del búfer y pasamos un iterador de mensajes que apunta a ella.

Detalles
Parámetros
[in] i
Un iterador de mensajes que apunta a TLV para extraer
Valores que se muestran
WEAVE_NO_ERROR
Incondicionalmente

init

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

Inicializa un ReferencedTLVObject con una string de bytes.

Inicializa el objeto ReferencedTLVData con una string de bytes que contenga TLV. Este inicializador es el que usamos si no hay PacketrBuffer porque estamos creando uno de estos para empaquetar y enviar.

Detalles
Parámetros
[in] aLength
Es una longitud para los datos de TLV.
[in] aMaxLength
La longitud total del búfer
[in] aByteString
Un puntero para los datos de cadena
Valores que se muestran
WEAVE_NO_ERROR
Incondicionalmente

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Inicializa un objeto RefererencedTLVData con una función de devolución de llamada.

Inicializa un objeto ReferencedTLVData. En lugar de proporcionar los datos de forma explícita, esta versión proporciona la función, la devolución de llamada de escritura y un objeto de referencia, que se pasará a él, junto con un objeto TLVWriter, cuando se supone que se deben empaquetar y enviar los datos referenciados. La firma de esa devolución de llamada es la siguiente:

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

Detalles
Parámetros
[in] aWriteCallback
la función a la que se llamará cuando llegue el momento de escribir TLV.
[in] anAppState
un objeto de estado de la aplicación que se pasará a la devolución de llamada junto con el escritor.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
WEAVE_ERROR_INVALID_ARGUMENT
Si no se proporciona la devolución de llamada de escritura.

isEmpty

bool isEmpty(
  void
)

Comprueba si hay algo en un objeto ReferencedTLVData.

Un objeto de este tipo podría "tener" algo de dos maneras posibles. Puede tener 0 caracteres de longitud O no podría tener ninguna devolución de llamada de escritura.

Detalles
Qué muestra
true si el conjunto de datos tiene una longitud de 0 o no hay una devolución de llamada de escritura disponible; de lo contrario, muestra false.

isFree

bool isFree(
  void
)

Comprueba si un objeto ReferencedTLVData es "gratuito", es decir,

indefinido.

Detalles
Qué muestra
true si el objeto no está definido; de lo contrario, false.

operador==

bool operator==(
  const ReferencedTLVData &
) const 

Compara un objeto ReferencedTLVData con otro para comprobar su igualdad.

Ten en cuenta que esto solo tiene sentido en el caso de dos objetos que tienen datos reales respaldados por un búfer o una cadena.

Detalles
Parámetros
[in] Another
un objeto para verificar
Valores que se muestran
true
Los objetos son iguales.
false
Las cadenas de objetos no son iguales.

paquete

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Empaqueta un objeto ReferencedTLVData directamente en un PacketBuffer.

Detalles
Parámetros
[in] buff
que el búfer se llene.
Qué muestra
un WEAVE_ERROR que refleja el éxito de la llamada subyacente al paquete

paquete

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

Muestra la longitud de los datos suponiendo que el objeto se empaquetó en un búfer.

Detalles
Qué muestra
la longitud entera de los datos empaquetados.

Funciones estáticas públicas

parse

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

Analiza un objeto ReferencedTLVData de un PacketBuffer suministrado.

Analiza un objeto ReferencedTLVData de un búfer de inet (suponiendo que solo contiene TLV).

Detalles
Parámetros
[in] buff
el búfer del que se leerá.
[out] aTarget
un objeto ReferencedTLVData para "completar" con el resultado
Qué muestra
un WEAVE_ERROR que refleja el éxito de la llamada de análisis subyacente

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Analiza un objeto ReferencedTLVData de un MessageIterator proporcionado.

Analiza un objeto ReferenceTLVData de un objeto MessageIterator que se supone que apunta a la parte TLV de un mensaje.

Ten en cuenta que aquí no se realiza ningún “análisis” real, ya que el TLV queda en el búfer y no se manipula en absoluto. Este método simplemente configura la estructura ReferencedTLVData para usarla más adelante.

Detalles
Parámetros
[in] i
Un iterador sobre el mensaje que se analiza.
[out] aTarget
Es un lugar para colocar el resultado del análisis.
Valores que se muestran
WEAVE_NO_ERROR
Incondicionalmente