nl::Weave::Perfiles::ReferencedTLVData

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

De manera similar, debemos ser capaces de representar un BLOB grande y antiguo de datos de TLV.

Resumen

Herencia

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

Constructores y destructores

ReferencedTLVData(void)
-------------- definiciones de 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, déjalo sin definir.
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)
Inicializar un ReferencedTLVObject con una string de bytes determinada.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Inicializar un objeto RefererencedTLVData con una función de devolución de llamada
isEmpty(void)
bool
Verifica si un objeto ReferencedTLVData tiene algo.
isFree(void)
bool
Verificar si un objeto ReferencedTLVData es & gratuito; es decir,
operator==(const ReferencedTLVData &) const
bool
Compara un objeto ReferencedTLVData con otro para verificar 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 empaqueta en un búfer.

Funciones estáticas públicas

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

Tipos públicos

Devolución de llamada (TLV)

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

Atributos públicos

losDatos

uint8_t * theData

laLongitud

uint16_t theLength

longitudmáx.

uint16_t theMaxLength

Funciones públicas

DatosTLV referenciados

 ReferencedTLVData(
  void
)

-------------- definiciones de datos de TLV --------------

El constructor sin argumentos para los datos TLV. Entrega un objeto gratuito 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, déjalo sin definir.

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 mensajes 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 esa última parte del búfer y pasamos un iterador de mensajes que apunta a él.

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

init

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

Inicializar un ReferencedTLVObject con una string de bytes determinada.

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

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

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Inicializar un objeto RefererencedTLVData con una función de devolución de llamada

Inicializa un objeto ReferencedTLVData. En lugar de proporcionar los datos explícitamente, esta versión proporciona una función, la devolución de llamada de escritura y un objeto de referencia, que se pasará a este junto con un objeto TLVWriter, cuando se supone que los datos referenciados estén empaquetados y enviados. La firma de esa devolución de llamada es la siguiente:

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

Detalles
Parámetros
[in] aWriteCallback
función a la que se llamará cuando sea el momento de escribir una 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 se realiza correctamente
WEAVE_ERROR_INVALID_ARGUMENT
Si no se proporciona la devolución de llamada de escritura,

está vacío

bool isEmpty(
  void
)

Verifica si un objeto ReferencedTLVData tiene algo.

Existen dos maneras posibles en las que un objeto puede tener un objeto. Puede tener 0 de duración O no tener devolución de llamada de escritura.

Detalles
Qué muestra
Es verdadero si el conjunto de datos no tiene longitud o no tiene una devolución de llamada de escritura en la mano. De lo contrario, es falso.

está disponible

bool isFree(
  void
)

Verificar si un objeto ReferencedTLVData es & gratuito; es decir,

sin definir.

Detalles
Qué muestra
Es verdadero si el objeto no está definido. De lo contrario, es falso.

operador==

bool operator==(
  const ReferencedTLVData &
) const 

Compara un objeto ReferencedTLVData con otro para verificar su igualdad.

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

Detalles
Parámetros
[in] Another
un objeto que se debe verificar
Valores que se muestran
true
Los objetos son iguales.
false
Las strings 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
el búfer que se completará.
Qué muestra
un WEAVE_ERROR que refleja el éxito de la llamada de paquete subyacente.

paquete

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

Longitud del paquete

uint16_t packedLength(
  void
)

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

Detalles
Qué muestra
la longitud de número entero de los datos empaquetados.

Funciones estáticas públicas

parse

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

Analiza un objeto ReferencedTLVData desde un PacketBuffer proporcionado.

Analiza un objeto ReferencedTLVData de un búfer 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 desde 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, ya que el TLV se deja en el búfer y no se manipula en absoluto. Este método configura principalmente la estructura ReferencedTLVData para usarla más adelante.

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