O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::tecido:TLV

Definições para trabalhar com dados codificados no formato Weave TLV.

Resumo

O TLV do Weave é um método de codificação generalizado para dados estruturados simples. Ele compartilha muitas propriedades com o formato de serialização JSON usado, além de ser consideravelmente mais compacto.

Enumerações

@71 tipo enumerado
@73 tipo enumerado
@74{
  AnonymousTag = kSpecialTagMarker | 0x00000000FFFFFFFFULL
}
tipo enumerado
@75 tipo enumerado
TLVCommonProfiles{
  kProfileIdNotSpecified = 0xFFFFFFFF
}
tipo enumerado
TLVElementType tipo enumerado
TLVFieldSize tipo enumerado
TLVTagControl tipo enumerado
TLVTagFields tipo enumerado
TLVType tipo enumerado
Uma enumeração que identifica o tipo de um elemento TLV.

Variables

kWeaveTLVCopyChunkSize = 16
const size_t
Copia um elemento TLV de um objeto de leitor para o gravador.
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
const uint8_t

Functions

CommonTag(uint32_t tagNum)
uint64_t
Gera a representação da API de uma tag TLV de perfil comum.
ContextTag(uint8_t tagNum)
uint64_t
Gera a representação da API para a tag TLV específica do contexto.
GetTLVFieldSize(uint8_t type)
TLVFieldSize
IsContextTag(uint64_t tag)
bool
Retorna verdadeiro se a tag fornecida é uma tag específica do contexto.
IsProfileTag(uint64_t tag)
bool
Retorna verdadeiro da tag fornecida é uma tag específica do perfil.
IsSpecialTag(uint64_t tag)
bool
IsValidTLVType(uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado é válido.
ProfileIdFromTag(uint64_t tag)
uint32_t
Retorna o ID do perfil de uma tag TLV.
ProfileNumFromTag(uint64_t tag)
uint16_t
Retorna o número do perfil de uma tag TLV.
ProfileTag(uint32_t profileId, uint32_t tagNum)
uint64_t
Gera a representação da API de uma tag TLV específica do perfil com base no ID de um perfil e no número da tag.
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
Gera a representação da API de uma tag TLV específica do perfil com base em um ID do fornecedor, número de perfil e número de tag.
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
uint8_t
TLVTypeHasLength(uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado implica a presença de um campo de comprimento associado.
TLVTypeHasValue(uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado implica a presença de um campo de valor associado.
TLVTypeIsContainer(uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado é um contêiner.
TLVTypeIsString(uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado é uma string UTF8 ou byte.
TagNumFromTag(uint64_t tag)
uint32_t
Retorna o número de uma tag TLV.
VendorIdFromTag(uint64_t tag)
uint16_t
Retorna o ID do fornecedor de uma tag TLV.

Classes

nl::tece::TLV::CircularTLVReader
nl::tece::TLV::CircularTLVwriter
nl::tece::TLV::TLVReader

Fornece um analisador eficiente da memória para dados codificados no formato TLV do Weave.

nl::tecelagem::TLV::TLVUpdater

Fornece uma interface unificada de Leitor/Gravador para editar/adicionar/excluir elementos na codificação TLV.

nl::tece::TLV::TLVwriter

Fornece um codificador eficiente para a memória na gravação de dados no formato TLV do Weave.

nl::Weave:TLV:WeaveCircularTLVBuffer

WeaveCircularTLVBuffer fornece armazenamento circular para nl::Weave::TLV::TLVwriter e nl::Weave::TLVTLVReader.

Namespaces

nl::tece::TLV::depuração

Esse namespace inclui tipos e interfaces para depuração e geração de registros de TLV do Weave.

nl::tece::TLV::utilitários

Esse namespace inclui tipos e interfaces utilitárias para gerenciar e trabalhar com o TLV do Weave.

Enumerações

71

 @71

73

 @73

74

 @74
Propriedades
AnonymousTag

Um valor que significa um elemento TLV sem tag (ou seja,

um elemento anônimo).

75

 @75

TLVCommonProfiles

 TLVCommonProfiles
Propriedades
kProfileIdNotSpecified

Usado para indicar a ausência de um ID de perfil em uma variável ou membro.

Esse é basicamente o mesmo que kWeaveProfile_NotSpecified definido em WeaveProfiles.h

TLVElementType.

 TLVElementType

TLVFieldSize

 TLVFieldSize

Controle de tags TLV

 TLVTagControl

TLVTagCampos

 TLVTagFields

Tipo de TLV

 TLVType

Uma enumeração que identifica o tipo de um elemento TLV.

Variables

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

Copia um elemento TLV de um objeto de leitor para o gravador.

O método CopyElement() codifica um novo elemento TLV cujo tipo e valor são obtidos de um objeto TLVReader. Quando o método é chamado, o objeto de leitor fornecido deve ser posicionado no elemento TLV de origem. O elemento recém-codificado terá o mesmo tipo e conteúdo do contêiner de entrada, mas a tag será definida como o argumento especificado. Se o elemento fornecido for um contêiner TLV (estrutura, matriz ou caminho), todo o conteúdo dele será copiado.

Detalhes
Parâmetros
[in] tag
A tag TLV a ser codificada com o contêiner, ou AnonymousTag se o contêiner precisar ser codificado sem uma tag. Os valores de tag devem ser criados com uma das funções de definição de tag ProfileTag(), ContextTag() ou CommonTag().
[in] reader
Uma referência a um objeto TLVReader que identifica um elemento TLV pré-codificado cujo tipo e valor precisam ser copiados.
Valores de retorno
WEAVE_NO_ERROR
Se o método for bem-sucedido.
WEAVE_ERROR_INCORRECT_STATE
Se o leitor fornecido não estiver posicionado em um elemento.
WEAVE_ERROR_TLV_CONTAINER_OPEN
Se um gravador de contêiner foi aberto no gravador atual e ainda não foi fechado.
WEAVE_ERROR_TLV_UNDERRUN
Se a codificação TLV associada ao leitor fornecido terminar prematuramente.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Se o leitor fornecido encontrou um tipo de elemento TLV inválido ou incompatível.
WEAVE_ERROR_INVALID_TLV_TAG
Se o leitor fornecido encontrou uma tag TLV em um contexto inválido ou se a tag fornecida é inválida ou inadequada no contexto em que o novo contêiner está sendo gravado.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se a gravação do valor exceder o limite de número máximo de bytes especificado quando o gravador foi inicializado.
WEAVE_ERROR_NO_MEMORY
Se uma tentativa de alocar um buffer de saída falhou devido à falta de memória.
other
Outros erros específicos do Weave ou da plataforma retornados pelas funções GetNewBuffer() ou FinalizeBuffer() configuradas, ou pela função GetNextBuffer() associada ao objeto leitor.

sTagSizes

const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }

Functions

Tag comum

uint64_t CommonTag(
  uint32_t tagNum
)

Gera a representação da API de uma tag TLV de perfil comum.

Detalhes
Parâmetros
[in] tagNum
O número da tag de perfil comum atribuído à tag.
Retorna
Um número inteiro de 64 bits que representa a tag.

Tag de contexto

uint64_t ContextTag(
  uint8_t tagNum
)

Gera a representação da API para a tag TLV específica do contexto.

Detalhes
Parâmetros
[in] tagNum
Número da tag específica do contexto atribuído à tag.
Retorna
Um número inteiro de 64 bits que representa a tag.

GetTLVFieldSize

TLVFieldSize GetTLVFieldSize(
  uint8_t type
)

Tag de contexto

bool IsContextTag(
  uint64_t tag
)

Retorna verdadeiro se a tag fornecida é uma tag específica do contexto.

Tag de perfil

bool IsProfileTag(
  uint64_t tag
)

Retorna verdadeiro da tag fornecida é uma tag específica do perfil.

Tag especial

bool IsSpecialTag(
  uint64_t tag
)

TipoIsTLTLV

bool IsValidTLVType(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado é válido.

Detalhes
Retorna
true se o tipo de TLV especificado for válido. Caso contrário, será false.

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Retorna o ID do perfil de uma tag TLV.

Detalhes
Parâmetros
[in] tag
Representação da API de uma tag TLV específica do perfil.
Retorna
O ID do perfil.

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

Retorna o número do perfil de uma tag TLV.

Detalhes
Parâmetros
[in] tag
Representação da API de uma tag TLV específica do perfil.
Retorna
O número do perfil associado.

Tag de perfil

uint64_t ProfileTag(
  uint32_t profileId,
  uint32_t tagNum
)

Gera a representação da API de uma tag TLV específica do perfil com base no ID de um perfil e no número da tag.

Detalhes
Parâmetros
[in] profileId
O ID do perfil no qual a tag é definida.
[in] tagNum
O número de tag específico do perfil atribuído à tag.
Retorna
Um número inteiro de 64 bits que representa a tag.

Tag de perfil

uint64_t ProfileTag(
  uint16_t vendorId,
  uint16_t profileNum,
  uint32_t tagNum
)

Gera a representação da API de uma tag TLV específica do perfil com base em um ID do fornecedor, número de perfil e número de tag.

Detalhes
Parâmetros
[in] vendorId
ID do fornecedor que definiu a tag.
[in] profileNum
O número atribuído ao fornecedor para o perfil em que a tag é definida.
[in] tagNum
O número de tag específico do perfil atribuído à tag.
Retorna
Um número inteiro de 64 bits que representa a tag.

TLVFieldSizeToBytes

uint8_t TLVFieldSizeToBytes(
  TLVFieldSize fieldSize
)

TLVTypeHasLength

bool TLVTypeHasLength(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado implica a presença de um campo de comprimento associado.

Detalhes
Retorna
true se o tipo TLV especificado implica a presença de um campo de comprimento associado. Caso contrário, será false.

TLVTypeHasValue.

bool TLVTypeHasValue(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado implica a presença de um campo de valor associado.

Detalhes
Retorna
true se o tipo de TLV especificado implica a presença de um campo de valor associado. Caso contrário, será false.

TLVTypeIsContainer.

bool TLVTypeIsContainer(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado é um contêiner.

Detalhes
Retorna
true se o tipo de TLV especificado for um contêiner. Caso contrário, será false.

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado é uma string UTF8 ou byte.

Detalhes
Retorna
true se o tipo TLV especificado for uma string de UTF8 ou byte. Caso contrário, será false.

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Retorna o número de uma tag TLV.

Detalhes
Parâmetros
[in] tag
A representação da API de uma tag TLV específica do perfil ou específica do contexto.
Retorna
O número da tag associada.
Consulte também:
IsProfileTag() e IsContextTag()

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

Retorna o ID do fornecedor de uma tag TLV.

Detalhes
Parâmetros
[in] tag
Representação da API de uma tag TLV específica do perfil.
Retorna
O ID do fornecedor associado.