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

nl :: Tecer:: TLV

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

Resumo

Weave TLV é um método de codificação generalizado para dados estruturados simples. Ele compartilha muitas propriedades com o formato de serialização JSON comumente usado, embora seja consideravelmente mais compacto durante a transmissão.

Enumerações

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

Variáveis

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

Funções

CommonTag (uint32_t tagNum)
uint64_t
Gera a representação 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 for uma tag específica do contexto.
IsProfileTag (uint64_t tag)
bool
Retorna verdadeiro se a tag fornecida for uma tag específica do perfil.
IsSpecialTag (uint64_t tag)
bool
IsValidTLVType (uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado for 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 API de uma tag TLV específica de perfil a partir de um id de perfil e número de tag.
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
Gera a representação API de uma tag TLV específica de perfil a partir de uma id de 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 for um contêiner.
TLVTypeIsString (uint8_t type)
bool
Retorna verdadeiro se o tipo de TLV especificado for um UTF8 ou string de byte.
TagNumFromTag (uint64_t tag)
uint32_t
Retorna o número da tag de uma tag TLV .
VendorIdFromTag (uint64_t tag)
uint16_t
Retorna o id do fornecedor de uma tag TLV .

Aulas

nl :: Weave :: TLV :: CircularTLVReader
nl :: Weave :: TLV :: CircularTLVWriter
nl :: Weave :: TLV :: TLVReader

Fornece um analisador com eficiência de memória para dados codificados no formato Weave TLV .

nl :: Weave :: TLV :: TLVUpdater

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

nl :: Weave :: TLV :: TLVWriter

Fornece um codificador com eficiência de memória para gravar dados no formato Weave TLV .

nl :: Weave :: TLV :: WeaveCircularTLVBuffer

WeaveCircularTLVBuffer fornece armazenamento circular paranl :: Weave :: TLV :: TLVWriter e nl :: Weave :: TLVTLVReader.

Namespaces

nl :: Weave :: TLV :: Debug

Este namespace inclui tipos e interfaces para depuração e registro do Weave TLV .

nl :: Weave :: TLV :: Utilities

Este namespace inclui tipos e interfaces de utilitários para gerenciar e trabalhar com Weave TLV .

Enumerações

@ 71

 @71

@ 73

 @73

@ 74

 @74
Propriedades
AnonymousTag

Um valor que significa um elemento TLV que não possui 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.

É essencialmente o mesmo que kWeaveProfile_NotSpecified definido em WeaveProfiles.h

TLVElementType

 TLVElementType

TLVFieldSize

 TLVFieldSize

TLVTagControl

 TLVTagControl

TLVTagFields

 TLVTagFields

TLVType

 TLVType

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

Variáveis

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

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

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

Detalhes
Parâmetros
[in] tag
A tag TLV a ser codificada com o contêiner ou AnonymousTag se o contêiner deve ser codificado sem uma tag. Os valores de tag devem ser construídos com uma das funções de definição de tag ProfileTag () , ContextTag () ou CommonTag () .
[in] reader
Uma referência a um objetoTLVReader que identifica um elemento TLV pré-codificado cujo tipo e valor devem ser copiados.
Valores Retornados
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 subjacente associada ao leitor fornecido terminou prematuramente.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Se o leitor fornecido encontrou um tipo de elemento TLV inválido ou não suportado.
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, o valor excederá o limite do 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 Weave ou específicos 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 }

Funções

CommonTag

uint64_t CommonTag(
  uint32_t tagNum
)

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

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

ContextTag

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
O número da tag específica do contexto atribuído à tag.
Devoluções
Um número inteiro de 64 bits que representa a tag.

GetTLVFieldSize

TLVFieldSize GetTLVFieldSize(
  uint8_t type
)

IsContextTag

bool IsContextTag(
  uint64_t tag
)

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

IsProfileTag

bool IsProfileTag(
  uint64_t tag
)

Retorna verdadeiro se a tag fornecida for uma tag específica do perfil.

IsSpecialTag

bool IsSpecialTag(
  uint64_t tag
)

IsValidTLVType

bool IsValidTLVType(
  uint8_t type
)

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

Detalhes
Devoluções
true se o tipo de TLV especificado for válido; caso contrário, false .

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Retorna o id do perfil de uma tag TLV .

Detalhes
Parâmetros
[in] tag
A representação da API de uma tag TLV específica do perfil.
Devoluções
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
A representação da API de uma tag TLV específica do perfil.
Devoluções
O número do perfil associado.

ProfileTag

uint64_t ProfileTag(
  uint32_t profileId,
  uint32_t tagNum
)

Gera a representação API de uma tag TLV específica de perfil a partir de um id de perfil e número de tag.

Detalhes
Parâmetros
[in] profileId
O id do perfil no qual a tag é definida.
[in] tagNum
O número da etiqueta específica do perfil atribuído à etiqueta.
Devoluções
Um número inteiro de 64 bits que representa a tag.

ProfileTag

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

Gera a representação API de uma tag TLV específica de perfil a partir de uma id de fornecedor, número de perfil e número de tag.

Detalhes
Parâmetros
[in] vendorId
A id do fornecedor que definiu a tag.
[in] profileNum
O número atribuído pelo fornecedor para o perfil no qual a tag é definida.
[in] tagNum
O número da etiqueta específica do perfil atribuído à etiqueta.
Devoluções
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
Devoluções
true se o tipo de TLV especificado implica a presença de um campo de comprimento associado; caso contrário, 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
Devoluções
true se o tipo de TLV especificado implica a presença de um campo de valor associado; caso contrário, false .

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

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

Detalhes
Devoluções
true se o tipo de TLV especificado for um contêiner; caso contrário, false .

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

Retorna verdadeiro se o tipo de TLV especificado for um UTF8 ou string de byte.

Detalhes
Devoluções
true se o tipo TLV especificado for um UTF8 ou string de byte; caso contrário, false .

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Retorna o número da tag de uma tag TLV .

Detalhes
Parâmetros
[in] tag
A representação da API de uma tag TLV específica do perfil ou do contexto.
Devoluções
O número da etiqueta associada.
Veja 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
A representação da API de uma tag TLV específica do perfil.
Devoluções
O ID do fornecedor associado.