En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: TLV

Definiciones para trabajar con datos codificados en la armadura de TLV formato.

Resumen

Weave TLV es un método de codificación generalizada para los datos simples estructurada. Comparte muchas propiedades con el formato de serialización JSON de uso común, mientras que es considerablemente más compacto a través del cable.

Enumeraciones

@71 enumeración
@73 enumeración
@74 {
AnonymousTag = kSpecialTagMarker | 0x00000000FFFFFFFFULL
}
enumeración
@75 enumeración
TLVCommonProfiles {
kProfileIdNotSpecified = 0xFFFFFFFF
}
enumeración
TLVElementType enumeración
TLVFieldSize enumeración
TLVTagControl enumeración
TLVTagFields enumeración
TLVType enumeración
Una enumeración identificar el tipo de un TLV elemento.

Variables

kWeaveTLVCopyChunkSize = 16
const size_t
Copia un TLV de elementos de un objeto lector en el escritor.
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
const uint8_t

Funciones

CommonTag (uint32_t tagNum)
uint64_t
Genera la representación de la API de un perfil común TLV etiqueta.
ContextTag (uint8_t tagNum)
uint64_t
Genera la representación de la API para el contexto específico de TLV etiqueta.
GetTLVFieldSize (uint8_t type)
TLVFieldSize
IsContextTag (uint64_t tag)
bool
Devuelve verdadero si la etiqueta proporcionada es una etiqueta específica del contexto.
IsProfileTag (uint64_t tag)
bool
Devuelve verdadero si la etiqueta proporcionada es una etiqueta específica de perfil.
IsSpecialTag (uint64_t tag)
bool
IsValidTLVType (uint8_t type)
bool
Devuelve verdadero si la especificada TLV tipo es válido.
ProfileIdFromTag (uint64_t tag)
uint32_t
Devuelve el identificador de perfil de un TLV de etiqueta.
ProfileNumFromTag (uint64_t tag)
uint16_t
Devuelve el número de perfil de un TLV de etiqueta.
ProfileTag (uint32_t profileId, uint32_t tagNum)
uint64_t
Genera la representación API de un perfil específico de TLV etiqueta de una ID de perfil y número de etiqueta.
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
Genera la representación API de un perfil específico de TLV etiqueta a partir de un número de ID de proveedor, número de perfil y la etiqueta.
TLVFieldSizeToBytes (TLVFieldSize fieldSize)
uint8_t
TLVTypeHasLength (uint8_t type)
bool
Devuelve verdadero si la especificada TLV tipo implica la presencia de un campo de longitud asociada.
TLVTypeHasValue (uint8_t type)
bool
Devuelve verdadero si la especificada TLV tipo implica la presencia de un campo de valor asociada.
TLVTypeIsContainer (uint8_t type)
bool
Devuelve verdadero si la especificada TLV tipo es un contenedor.
TLVTypeIsString (uint8_t type)
bool
Devuelve verdadero si la especificada TLV tipo es una cadena UTF8 o byte.
TagNumFromTag (uint64_t tag)
uint32_t
Devuelve el número de la etiqueta de un TLV de etiqueta.
VendorIdFromTag (uint64_t tag)
uint16_t
Devuelve el identificador de proveedor de un TLV de etiqueta.

Clases

nl :: Armadura :: :: TLV CircularTLVReader
nl :: Armadura :: :: TLV CircularTLVWriter
nl :: Armadura :: :: TLV TLVReader

Proporciona un programa de análisis eficiente de memoria para los datos codificados en la armadura de TLV formato.

nl :: Armadura :: :: TLV TLVUpdater

Proporciona una interfaz de lectura / escritura unificada para editar / añadir / borrar elementos en TLV codificación.

nl :: Armadura :: :: TLV TLVWriter

Proporciona un codificador eficiente de memoria para escribir datos en la armadura de TLV formato.

nl :: Armadura :: :: TLV WeaveCircularTLVBuffer

WeaveCircularTLVBuffer proporciona almacenamiento circular para elnl :: Armadura :: :: TLV TLVWriter y NL :: :: Armadura TLVTLVReader.

Espacios de nombres

nl :: Armadura :: :: TLV de depuración

Este espacio de nombres incluye tipos e interfaces para depuración y registro de la armadura de TLV .

nl :: Armadura :: :: Utilidades TLV

Este espacio de nombres incluye tipos e interfaces de servicios públicos para la gestión y el trabajo con la armadura del TLV .

Enumeraciones

@ 71

 @71

@ 73

 @73

@ 74

 @74
Propiedades
AnonymousTag

Un valor que significa un TLV elemento que no tiene ninguna etiqueta (es decir,

un elemento anónimo).

@ 75

 @75

TLVCommonProfiles

 TLVCommonProfiles
Propiedades
kProfileIdNotSpecified

Se usa para indicar la ausencia de una identificación de perfil en una variable o miembro.

Esto es esencialmente el mismo que se define en kWeaveProfile_NotSpecified WeaveProfiles.h

TLVElementType

 TLVElementType

TLVFieldSize

 TLVFieldSize

TLVTagControl

 TLVTagControl

TLVTagFields

 TLVTagFields

TLVType

 TLVType

Una enumeración identificar el tipo de un TLV elemento.

Variables

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

Copia un TLV de elementos de un objeto lector en el escritor.

El método CopyElement () codifica un nuevo TLV elemento cuyo tipo y valor se toman de unaTLVReader objeto. Cuando se llama al método, se espera que el objeto lector suministrado para ser colocado en la fuente TLV elemento. El elemento recién codificado tendrá el mismo tipo y contenido que el contenedor de entrada, sin embargo, la etiqueta se establecerá en el argumento especificado. Si el elemento suministrado es un TLV recipiente (estructura, matriz o ruta de acceso), se copiarán todo el contenido del recipiente.

Detalles
Parámetros
[in] tag
El TLV etiqueta para ser codificada con el recipiente, o AnonymousTag si el recipiente debe ser codificado sin una etiqueta. Los valores de variables deben ser construidos con una de las funciones de definición de etiqueta ProfileTag () , ContextTag () o CommonTag () .
[in] reader
Una referencia a unTLVReader objeto la identificación de un pre-codificada TLV elemento cuyo tipo y el valor debe ser copiada.
Valores devueltos
WEAVE_NO_ERROR
Si el método tuvo éxito.
WEAVE_ERROR_INCORRECT_STATE
Si el lector suministrado no está colocado sobre un elemento.
WEAVE_ERROR_TLV_CONTAINER_OPEN
Si se ha abierto un escritor de contenedor en el escritor actual y aún no se ha cerrado.
WEAVE_ERROR_TLV_UNDERRUN
Si el subyacente TLV de codificación asociadas con el lector suministrado terminado prematuramente.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Si el lector suministrado encontró un inválido o no soportado TLV tipo de elemento.
WEAVE_ERROR_INVALID_TLV_TAG
Si el lector suministrado encontró un TLV de etiqueta en un contexto no válido, o si la etiqueta proporcionado no es válido o inapropiada en el contexto en el que se está escribiendo el nuevo contenedor.
WEAVE_ERROR_BUFFER_TOO_SMALL
Si la escritura, el valor excedería el límite del número máximo de bytes especificado cuando se inicializó la escritura.
WEAVE_ERROR_NO_MEMORY
Si un intento de asignar un búfer de salida falló debido a la falta de memoria.
other
Otros errores Weave o específicos de la plataforma devueltos por las funciones configuradas GetNewBuffer () o FinalizeBuffer (), o por la función GetNextBuffer () asociada con el objeto lector.

sTagSizes

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

Funciones

CommonTag

uint64_t CommonTag(
  uint32_t tagNum
)

Genera la representación de la API de un perfil común TLV etiqueta.

Detalles
Parámetros
[in] tagNum
El número de etiqueta de perfil común asignado a la etiqueta.
Devoluciones
Un entero de 64 bits que representa la etiqueta.

ContextTag

uint64_t ContextTag(
  uint8_t tagNum
)

Genera la representación de la API para el contexto específico de TLV etiqueta.

Detalles
Parámetros
[in] tagNum
El número de etiqueta específico del contexto asignado a la etiqueta.
Devoluciones
Un entero de 64 bits que representa la etiqueta.

GetTLVFieldSize

TLVFieldSize GetTLVFieldSize(
  uint8_t type
)

IsContextTag

bool IsContextTag(
  uint64_t tag
)

Devuelve verdadero si la etiqueta proporcionada es una etiqueta específica del contexto.

IsProfileTag

bool IsProfileTag(
  uint64_t tag
)

Devuelve verdadero si la etiqueta proporcionada es una etiqueta específica de perfil.

IsSpecialTag

bool IsSpecialTag(
  uint64_t tag
)

IsValidTLVType

bool IsValidTLVType(
  uint8_t type
)

Devuelve verdadero si la especificada TLV tipo es válido.

Detalles
Devoluciones
true si el especificado TLV tipo es válida; de lo contrario false .

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Devuelve el identificador de perfil de un TLV de etiqueta.

Detalles
Parámetros
[in] tag
La representación API de un perfil específico de TLV etiqueta.
Devoluciones
La identificación del perfil.

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

Devuelve el número de perfil de un TLV de etiqueta.

Detalles
Parámetros
[in] tag
La representación API de un perfil específico de TLV etiqueta.
Devoluciones
El número de perfil asociado.

Etiqueta de perfil

uint64_t ProfileTag(
  uint32_t profileId,
  uint32_t tagNum
)

Genera la representación API de un perfil específico de TLV etiqueta de una ID de perfil y número de etiqueta.

Detalles
Parámetros
[in] profileId
La identificación del perfil dentro del cual se define la etiqueta.
[in] tagNum
El número de etiqueta específico del perfil asignado a la etiqueta.
Devoluciones
Un entero de 64 bits que representa la etiqueta.

Etiqueta de perfil

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

Genera la representación API de un perfil específico de TLV etiqueta a partir de un número de ID de proveedor, número de perfil y la etiqueta.

Detalles
Parámetros
[in] vendorId
La identificación del proveedor que definió la etiqueta.
[in] profileNum
El número asignado por el proveedor para el perfil dentro del cual se define la etiqueta.
[in] tagNum
El número de etiqueta específico del perfil asignado a la etiqueta.
Devoluciones
Un entero de 64 bits que representa la etiqueta.

TLVFieldSizeToBytes

uint8_t TLVFieldSizeToBytes(
  TLVFieldSize fieldSize
)

TLVTypeHasLength

bool TLVTypeHasLength(
  uint8_t type
)

Devuelve verdadero si la especificada TLV tipo implica la presencia de un campo de longitud asociada.

Detalles
Devoluciones
true si el especificado TLV tipo implica la presencia de un campo de longitud asociado; de lo contrario false .

TLVTypeHasValue

bool TLVTypeHasValue(
  uint8_t type
)

Devuelve verdadero si la especificada TLV tipo implica la presencia de un campo de valor asociada.

Detalles
Devoluciones
true si el especificado TLV tipo implica la presencia de un campo de valor asociado; de lo contrario false .

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

Devuelve verdadero si la especificada TLV tipo es un contenedor.

Detalles
Devoluciones
true si el especificado TLV tipo es un recipiente; de lo contrario false .

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

Devuelve verdadero si la especificada TLV tipo es una cadena UTF8 o byte.

Detalles
Devoluciones
true si el especificado TLV tipo es una cadena UTF8 o byte; de lo contrario false .

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Devuelve el número de la etiqueta de un TLV de etiqueta.

Detalles
Parámetros
[in] tag
La representación API de un perfil específico o contexto específico TLV etiqueta.
Devoluciones
El número de etiqueta asociado.
Ver también:
IsProfileTag () y IsContextTag ()

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

Devuelve el identificador de proveedor de un TLV de etiqueta.

Detalles
Parámetros
[in] tag
La representación API de un perfil específico de TLV etiqueta.
Devoluciones
El ID de proveedor asociado.