nl::Weave::Profiles::ReferencedTLVData

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

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

Resumo

Herança

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

Construtores e destrutores

ReferencedTLVData(void)
-------------- Definições dos dados 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

Funções públicas

free(void)
void
Liberar um objeto ReferencedTLVData, ou seja, cancelar a definição dele.
init(System::PacketBuffer *aBuffer)
Inicializar 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)
Inicializa um ReferencedTLVObject com uma string de bytes fornecida.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Inicializar um objeto RefererencedTLVData com uma função de callback.
isEmpty(void)
bool
Verifique se há algo em um objeto ReferencedTLVData.
isFree(void)
bool
Verifique se um objeto ReferencedTLVData é "sem custo financeiro", ou seja,
operator==(const ReferencedTLVData &) const
bool
Compare um objeto ReferencedTLVData em relação a outro para garantir a igualdade.
pack(System::PacketBuffer *buff)
Empacotar um objeto ReferencedTLVData diretamente em um PackageBuffer.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Retorne o comprimento dos dados supondo que o objeto tenha sido compactado em um buffer.

Funções estáticas públicas

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Analisa um objeto ReferencedTLVData de um PacketBuffer 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 dos dados de TLV --------------

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

sem custo financeiro

void free(
  void
)

Liberar um objeto ReferencedTLVData, ou seja, cancelar a definição dele.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Inicializar o objeto ReferencedTLVData considerando um PackageBuffer.

Inicializar 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 em que 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 transmitimos um iterador de mensagens que aponta 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
)

Inicializa um ReferencedTLVObject com uma string de bytes fornecida.

Inicialize o objeto ReferencedTLVData com uma string de bytes contendo TLV. Esse inicializador é o que usamos se não houver nenhum PackagerBuffer porque estamos criando um deles para compactar 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
)

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

Inicialize um objeto ReferencedTLVData. Em vez de fornecer explicitamente os dados, essa versão fornece a função, o callback de gravação e um objeto de referência, que será transmitido a ele com um objeto TLVWriter, quando os dados referenciados vão ser compactados 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 no momento de escrever alguns 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 der certo.
WEAVE_ERROR_INVALID_ARGUMENT
Se o callback de gravação não for fornecido.

isEmpty

bool isEmpty(
  void
)

Verifique se há algo em um objeto ReferencedTLVData.

Esse objeto pode "ter" algo de duas formas possíveis. Pode ter tamanho 0 OU não pode ter nenhum callback de gravação.

Detalhes
Retorna
verdadeiro se o conjunto de dados tiver comprimento 0 ou não houver retorno de gravação disponível; caso contrário, será falso.

isFree

bool isFree(
  void
)

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

indefinido.

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

operador==

bool operator==(
  const ReferencedTLVData &
) const 

Compare um objeto ReferencedTLVData em relação a outro para garantir a igualdade.

Observe que 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 verificar
Valores de retorno
true
Os objetos são iguais.
false
As strings de objetos não são iguais.

pacote

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Empacotar um objeto ReferencedTLVData diretamente em um PackageBuffer.

Detalhes
Parâmetros
[in] buff
o buffer a ser preenchido.
Retorna
um WEAVE_ERROR refletindo 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 compactado em um buffer.

Detalhes
Retorna
o comprimento inteiro dos dados compactados.

Funções estáticas públicas

parse

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

Analisa um objeto ReferencedTLVData de um PacketBuffer fornecido.

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

Detalhes
Parâmetros
[in] buff
no buffer para ler.
[out] aTarget
um objeto ReferencedTLVData para "preencher" com o resultado.
Retorna
um WEAVE_ERROR refletindo 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 se presume apontar para a parte TLV de uma mensagem.

Nenhuma "análise" real é feita 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
Local para colocar o resultado da análise.
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente