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{
|
tipo enumerado |
@75
|
tipo enumerado |
TLVCommonProfiles{
|
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:: |
|
nl:: |
|
nl:: |
Fornece um analisador eficiente da memória para dados codificados no formato TLV do Weave. |
nl:: |
Fornece uma interface unificada de Leitor/Gravador para editar/adicionar/excluir elementos na codificação TLV. |
nl:: |
Fornece um codificador eficiente para a memória na gravação de dados no formato TLV do Weave. |
nl:: |
WeaveCircularTLVBuffer fornece armazenamento circular para nl::Weave::TLV::TLVwriter e nl::Weave::TLVTLVReader. |
Namespaces |
|
---|---|
nl:: |
Esse namespace inclui tipos e interfaces para depuração e geração de registros de TLV do Weave. |
nl:: |
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
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 |
|
||||||||||||||||||
Valores de retorno |
|
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 |
|
||
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 |
|
||
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 )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
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 |
|
||||
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 |
|
||||||
Retorna |
Um número inteiro de 64 bits que representa a tag.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTypeHasLength
bool TLVTypeHasLength( uint8_t type )
TLVTypeHasValue.
bool TLVTypeHasValue( uint8_t type )
TLVTypeIsContainer.
bool TLVTypeIsContainer( uint8_t type )
TLVTypeIsString
bool TLVTypeIsString( uint8_t type )
TagNumFromTag
uint32_t TagNumFromTag( uint64_t tag )
Retorna o número de uma tag TLV.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
O número da tag associada.
|
IsProfileTag() e IsContextTag()