nl::Weave::Profiles::ReferencedTLVData

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

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

Resumo

Herança

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

Construtores e destruidores

ReferencedTLVData(void)
-------------- definições dos 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
Libere um objeto ReferencedTLVData, ou seja, cancele a definição dele.
init(System::PacketBuffer *aBuffer)
Inicialize o objeto ReferencedTLVData conforme um PackageBuffer.
init(MessageIterator & i)
Inicialize um objeto ReferencedTLVData conforme um Messageiter.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Inicializa um ReferencedTLVObject de acordo com uma string de bytes.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Inicializa um objeto ReferenceerencedTLVData com base em uma função de callback.
isEmpty(void)
bool
Verifique se há um objeto ReferencedTLVData.
isFree(void)
bool
Verifique se um objeto ReferencedTLVData é "free" ou seja,
operator==(const ReferencedTLVData &) const
bool
Para fins de igualdade, compare um objeto ReferencedTLVData com outro.
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)
Analisar um objeto ReferencedTLVData de um PackageBuffer fornecido.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Analisa um objeto ReferencedTLVData de um MessageRenderer 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

ReferênciaDTLVData

 ReferencedTLVData(
  void
)

-------------- definições dos dados TLV --------------

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

free

void free(
  void
)

Libere um objeto ReferencedTLVData, ou seja, cancele a definição dele.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Inicialize o objeto ReferencedTLVData conforme um PackageBuffer.

Inicialize um objeto ReferencedTLVData com um buffer cheio de TLV. Isso pressupõe que o buffer CONTÉM 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 conforme um Messageiter.

Inicialize um objeto ReferencedTLVData conforme um Messageiter. Nesse caso, o TLV é a última parte do buffer. Em seguida, transmitimos um iteração de mensagem que aponta para ele.

Detalhes
Parâmetros
[in] i
Um iteração de mensagem apontando para o 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 de acordo com uma string de bytes.

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

Detalhes
Parâmetros
[in] aLength
Um comprimento para os dados de TLV
[in] aMaxLength
O tamanho 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
)

Inicializa um objeto ReferenceerencedTLVData com base em uma função de callback.

Inicialize um objeto ReferencedTLVData. Em vez de fornecer explicitamente os dados, essa versão fornece funções, o retorno de chamada de gravação e um objeto de referência, que será transmitido a ele, junto com um objeto TLVwriter, quando os dados referenciados precisam 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 quando chegar a hora de gravar algum TLV.
[in] anAppState
Um objeto de estado do aplicativo a ser transmitido para o retorno de chamada junto com o gravador.
Valores de retorno
WEAVE_NO_ERROR
Em caso de sucesso.
WEAVE_ERROR_INVALID_ARGUMENT
Se o retorno de chamada de gravação não for fornecido.

isEmpty

bool isEmpty(
  void
)

Verifique se há um objeto ReferencedTLVData.

Existem duas possíveis formas de esse objeto "ter<quo; Pode ter 0 comprimento OU não ter callback de gravação.

Detalhes
Retorna
"true" se o conjunto de dados tiver 0 comprimento ou não houver retorno de chamada de gravação em mãos. Caso contrário, será "false".

IsFree

bool isFree(
  void
)

Verifique se um objeto ReferencedTLVData é "free" ou seja,

indefinido.

Detalhes
Retorna
Verdadeiro se o objeto for indefinido, caso contrário, falso.

operador==

bool operator==(
  const ReferencedTLVData &
) const 

Para fins de igualdade, compare um objeto ReferencedTLVData com outro.

Isso só faz sentido no caso de dois objetos com dados reais protegidos por um buffer ou uma string.

Detalhes
Parâmetros
[in] Another
um objeto a ser verificado
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 que reflete o sucesso da chamada do pacote subjacente.

pacote

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

LengthLength

uint16_t packedLength(
  void
)

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

Detalhes
Retorna
o comprimento do número inteiro dos dados compactados.

Funções estáticas públicas

parse

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

Analisar um objeto ReferencedTLVData de um PackageBuffer fornecido.

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

Detalhes
Parâmetros
[in] buff
o buffer em que a leitura é feita.
[out] aTarget
um objeto ReferencedTLVData para "preencher" com o resultado.
Retorna
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 MessageRenderer fornecido.

Analisa um objeto ReferenceTLVData de um objeto MessageRenderer que está apontando para a parte TLV de uma mensagem.

Observe que não é realizada uma "parqueing" real, já que o TLV é deixado no buffer e não é manipulado. Esse método define principalmente a estrutura ReferencedTLVData para uso posterior.

Detalhes
Parâmetros
[in] i
Um iteração sobre a mensagem que está sendo analisada.
[out] aTarget
Um lugar para colocar o resultado da análise.
Valores de retorno
WEAVE_NO_ERROR
Incondicionalmente