nl::Weave::Profiles::ReferencedTLVData

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

Da mesma forma, precisamos representar um blob antigo e grande de dados TLV.

Resumo

Herança

Herda de: nl::Weave::Profiles::RetainedPacketBuffer

Construtores e destruidores

ReferencedTLVData(void)
-------------- definições para dados TLV --------------

Tipos públicos

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

Atributos públicos

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Funções públicas

free(void)
void
Libera um objeto ReferencedTLVData, ou seja, indefinido.
init(System::PacketBuffer *aBuffer)
Inicialize o objeto ReferencedTLVData considerando um PackageBuffer.
init(MessageIterator & i)
Inicialize um objeto ReferencedTLVData considerando um MessageIterator.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Inicialize um ReferencedTLVObject com base em uma string de bytes.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Inicialize um objeto RefererencedTLVData com uma função de callback.
isEmpty(void)
bool
Verifique se um objeto ReferencedTLVData contém algo.
isFree(void)
bool
Verifique se um objeto ReferencedTLVData está "sem custo financeiro", ou seja,
operator==(const ReferencedTLVData &) const
bool
Verifique a igualdade de um objeto ReferencedTLVData em relação a outro.
pack(System::PacketBuffer *buff)
Empacotar um objeto ReferencedTLVData diretamente em um PacketBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Retorne o comprimento dos dados, supondo que o objeto tenha sido empacotado em um buffer.

Funções estáticas públicas

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Analisa um objeto ReferencedTLVData de um PackageBuffer fornecido.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Analisa um objeto ReferencedTLVData de um MessageIterator fornecido.

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

Funções públicas

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- definições para dados TLV --------------

O construtor sem argumentos para dados TLV. Oferece um objeto livre/não inicializado que precisa estar sujeito a um dos métodos init() definidos aqui para ser útil.

grátis

void free(
  void
)

Libera um objeto ReferencedTLVData, ou seja, indefinido.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Inicialize o objeto ReferencedTLVData considerando um PackageBuffer.

Inicialize um objeto ReferencedTLVData considerando um buffer cheio de TLV. Isso pressupõe que o buffer contém APENAS TLV.

Detalhes
Parâmetros
[in] aBuffer
Um buffer de mensagem no qual o TLV reside.
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente

init

WEAVE_ERROR init(
  MessageIterator & i
)

Inicialize um objeto ReferencedTLVData considerando um MessageIterator.

Inicialize um objeto ReferencedTLVData considerando um MessageIterator. Nesse caso, o TLV é a última parte do buffer e passamos um iterador de mensagens apontando para ele.

Detalhes
Parâmetros
[in] i
Um iterador de mensagens que aponta para TLV a ser extraído.
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente

init

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

Inicialize um ReferencedTLVObject com base em uma string de bytes.

Inicialize o objeto ReferencedTLVData com uma string de bytes contendo TLV. Esse inicializador é o que usamos se não houver outro PackagerBuffer, porque estamos criando um deles para empacotar e enviar.

Detalhes
Parâmetros
[in] aLength
Um comprimento para os dados TLV
[in] aMaxLength
O comprimento total do buffer
[in] aByteString
Um ponteiro para os dados da string
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Inicialize um objeto RefererencedTLVData com uma função de callback.

Inicialize um objeto ReferencedTLVData. Em vez de fornecer os dados explicitamente, essa versão fornece a função, o callback de gravação e um objeto de referência, que serão passados a ela, junto com um objeto TLVWriter, quando os dados referenciados devem ser empacotados e enviados. A assinatura desse callback é:

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

Detalhes
Parâmetros
[in] aWriteCallback
a função a ser chamada quando for escrever um TLV.
[in] anAppState
um objeto de estado do aplicativo a ser passado para o callback com o gravador.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_ERROR_INVALID_ARGUMENT
Se o callback de gravação não for fornecido.

Vazio

bool isEmpty(
  void
)

Verifique se um objeto ReferencedTLVData contém algo.

Um objeto pode "ter" de duas maneiras possíveis alguma coisa. Ele pode ter 0 comprimento OU não ter nenhum callback de gravação.

Detalhes
Retornos
verdadeiro se o conjunto de dados tiver um comprimento 0 ou não houver nenhum callback de gravação disponível. Caso contrário, será falso.

isFree

bool isFree(
  void
)

Verifique se um objeto ReferencedTLVData está "sem custo financeiro", ou seja,

indefinido.

Detalhes
Retornos
verdadeiro se o objeto for indefinido. Caso contrário, será falso.

operador==

bool operator==(
  const ReferencedTLVData &
) const 

Verifique a igualdade de um objeto ReferencedTLVData em relação a outro.

Isso só faz sentido no caso de dois objetos que têm dados reais apoiados por um buffer ou string.

Detalhes
Parâmetros
[in] Another
um objeto para comparação
Valores de retorno
true
Os objetos são iguais.
false
As strings dos objetos não são iguais.

pacote

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Empacotar um objeto ReferencedTLVData diretamente em um PacketBuffer.

Detalhes
Parâmetros
[in] buff
que o buffer seja preenchido.
Retornos
um WEAVE_ERROR que reflete o sucesso da chamada do pacote subjacente.

pacote

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

Retorne o comprimento dos dados, supondo que o objeto tenha sido empacotado em um buffer.

Detalhes
Retornos
o comprimento inteiro dos dados empacotados.

Funções estáticas públicas

parse

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

Analisa um objeto ReferencedTLVData de um PackageBuffer fornecido.

Analisa um objeto ReferencedTLVData fora de um buffer inet (supondo que ele contenha apenas TLV).

Detalhes
Parâmetros
[in] buff
no buffer em que a leitura é feita.
[out] aTarget
um objeto ReferencedTLVData para "preencher" com o resultado.
Retornos
um WEAVE_ERROR que reflete o sucesso da chamada de análise subjacente.

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Analisa um objeto ReferencedTLVData de um MessageIterator fornecido.

Analisa um objeto ReferenceTLVData de um objeto MessageIterator que considera-se apontando para a parte TLV de uma mensagem.

Nenhuma "análise" real é feito aqui já que o TLV é deixado no buffer e não manipulado. Esse método apenas configura a estrutura ReferencedTLVData para uso posterior.

Detalhes
Parâmetros
[in] i
Um iterador na mensagem que está sendo analisada.
[out] aTarget
Um local para colocar o resultado da análise.
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente