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 em Weave TLV formato.

Resumo

Weave TLV é um método de codificação de dados para generalizada simples estruturado. 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 TLV elemento.

Variáveis

kWeaveTLVCopyChunkSize = 16
const size_t
Cópias de um TLV elemento a partir de um objecto 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 um perfil comum TLV tag.
ContextTag (uint8_t tagNum)
uint64_t
Gera a representação API para de contexto específico TLV tag.
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 true se o especificado TLV tipo é válido.
ProfileIdFromTag (uint64_t tag)
uint32_t
Retorna o ID de perfil de um TLV tag.
ProfileNumFromTag (uint64_t tag)
uint16_t
Retorna o número de perfil de um TLV tag.
ProfileTag (uint32_t profileId, uint32_t tagNum)
uint64_t
Gera a representação API de um específico do perfil TLV tag de um ID de perfil e número da etiqueta.
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
Gera a representação API de um específico do perfil TLV tag de um ID de fornecedor, número do perfil e tag número.
TLVFieldSizeToBytes (TLVFieldSize fieldSize)
uint8_t
TLVTypeHasLength (uint8_t type)
bool
Retorna true se o especificado TLV tipo implica a presença de um campo de comprimento associada.
TLVTypeHasValue (uint8_t type)
bool
Retorna true se o especificado TLV tipo implica a presença de um campo de valor associado.
TLVTypeIsContainer (uint8_t type)
bool
Retorna true se o especificado TLV tipo é um recipiente.
TLVTypeIsString (uint8_t type)
bool
Retorna true se o especificado TLV tipo é uma string UTF8 ou byte.
TagNumFromTag (uint64_t tag)
uint32_t
Retorna o número da etiqueta de um TLV tag.
VendorIdFromTag (uint64_t tag)
uint16_t
Retorna o ID de fornecedor a partir de um TLV tag.

Aulas

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

Fornece um analisador eficiente de memória para dados codificados em Weave TLV formato.

nl :: Weave :: TLV :: TLVUpdater

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

nl :: Weave :: TLV :: TLVWriter

Fornece um codificador eficiente de memória para gravar dados em Weave TLV formato.

nl :: Weave :: TLV :: WeaveCircularTLVBuffer

WeaveCircularTLVBuffer fornece armazenamento circular para onl :: :: tecer TLV :: TLVWriter e nl :: :: tecer TLVTLVReader.

Namespaces

nl :: Weave :: TLV :: Debug

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

nl :: Weave :: TLV :: Utilidades

Este namespace inclui tipos e interfaces de serviços públicos para gerenciar e trabalhar com Weave TLV .

Enumerações

@ 71

 @71

@ 73

 @73

@ 74

 @74
Propriedades
AnonymousTag

Um valor significando um TLV elemento que não tem nenhuma marca (isto é,

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.

Isto é, essencialmente, o mesmo como definido na kWeaveProfile_NotSpecified WeaveProfiles.h

TLVElementType

 TLVElementType

TLVFieldSize

 TLVFieldSize

TLVTagControl

 TLVTagControl

TLVTagFields

 TLVTagFields

TLVType

 TLVType

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

Variáveis

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

Cópias de um TLV elemento a partir de um objecto leitor para o gravador.

O método CopyElement () codifica um novo TLV elemento cujo tipo e valor são tomadas a partir de umTLVReader objecto. Quando o método é chamado, o objeto leitor fornecido está prevista para ser posicionada sobre a fonte TLV elemento. 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 é um TLV recipiente (estrutura, matriz ou caminho), todo o conteúdo do recipiente vai ser copiada.

Detalhes
Parâmetros
[in] tag
O TLV etiqueta para ser codificado com o recipiente, ou AnonymousTag se o recipiente deve ser codificada sem uma etiqueta. Valores etiqueta deve ser construído com uma das funções de definição de marcação ProfileTag () , ContextTag () ou CommonTag () .
[in] reader
Uma referência a umTLVReader objecto a identificação de uma pré-codificado TLV elemento cujo tipo e o valor deve ser copiado.
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 o subjacente TLV codificando associado com o leitor fornecido terminada prematuramente.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Se o leitor fornecido encontrou um inválido ou não suportado TLV tipo de elemento.
WEAVE_ERROR_INVALID_TLV_TAG
Se o leitor fornecido encontrou um TLV tag em um contexto inválido, ou se a tag fornecida é inválida ou inadequada no contexto em que o novo recipiente está sendo escrito.
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 um perfil comum TLV tag.

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 API para de contexto específico TLV tag.

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 true se o especificado TLV tipo é válido.

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

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Retorna o ID de perfil de um TLV tag.

Detalhes
Parâmetros
[in] tag
A representação API de um específico do perfil TLV tag.
Devoluções
O id do perfil.

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

Retorna o número de perfil de um TLV tag.

Detalhes
Parâmetros
[in] tag
A representação API de um específico do perfil TLV tag.
Devoluções
O número do perfil associado.

ProfileTag

uint64_t ProfileTag(
  uint32_t profileId,
  uint32_t tagNum
)

Gera a representação API de um específico do perfil TLV tag de um ID de perfil e número da etiqueta.

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 um específico do perfil TLV tag de um ID de fornecedor, número do perfil e tag número.

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 true se o especificado TLV tipo implica a presença de um campo de comprimento associada.

Detalhes
Devoluções
true se o especificado TLV tipo implica a presença de um campo de comprimento associado; caso contrário, false .

TLVTypeHasValue

bool TLVTypeHasValue(
  uint8_t type
)

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

Detalhes
Devoluções
true se o especificado TLV tipo implica a presença de um campo de valor associado; caso contrário, false .

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

Retorna true se o especificado TLV tipo é um recipiente.

Detalhes
Devoluções
true se o especificado TLV tipo é um recipiente; caso contrário, false .

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

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

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

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Retorna o número da etiqueta de um TLV tag.

Detalhes
Parâmetros
[in] tag
A representação API de um específico do perfil ou de contexto específico TLV tag.
Devoluções
O número da etiqueta associada.
Veja também:
IsProfileTag () e IsContextTag ()

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

Retorna o ID de fornecedor a partir de um TLV tag.

Detalhes
Parâmetros
[in] tag
A representação API de um específico do perfil TLV tag.
Devoluções
O ID do fornecedor associado.