nl:: Weave:: TLV
Definiciones para trabajar con datos codificados en formato TLV de Weave.
Resumen
TLV de Weave es un método de codificación generalizado para datos estructurados simples. Comparte muchas propiedades con el formato de serialización JSON de uso general y es considerablemente más compacto a través del cable.
Enumeraciones |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Una enumeración que identifica el tipo de un elemento TLV. |
Variables |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Copia un elemento TLV de un objeto de 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 una etiqueta TLV de perfil común.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Genera la representación de la API para la etiqueta TLV específica del contexto.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Muestra true si la etiqueta proporcionada es una etiqueta específica del contexto.
|
IsProfileTag(uint64_t tag)
|
bool
Muestra true de la etiqueta proporcionada es una etiqueta específica del perfil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Muestra true si el tipo TLV especificado es válido.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Muestra el ID de perfil de una etiqueta TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Muestra el número de perfil de una etiqueta TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Genera la representación de la API de una etiqueta TLV específica de perfil a partir de un ID de perfil y un número de etiqueta.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Genera la representación de la API de una etiqueta TLV específica de perfil a partir de un ID de proveedor, un número de perfil y un número de etiqueta.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Muestra true si el tipo TLV especificado implica la presencia de un campo de longitud asociado.
|
TLVTypeHasValue(uint8_t type)
|
bool
Muestra true si el tipo TLV especificado implica la presencia de un campo de valor asociado.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Muestra true si el tipo TLV especificado es un contenedor.
|
TLVTypeIsString(uint8_t type)
|
bool
Muestra true si el tipo TLV especificado es una cadena UTF8 o de bytes.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Muestra el número de etiqueta de una etiqueta TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Muestra el ID del proveedor de una etiqueta TLV.
|
Clases |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Proporciona un analizador eficiente en cuanto a la memoria para datos codificados en formato TLV de Weave. |
nl:: |
Proporciona una interfaz Lector/Escritorio unificada para editar, agregar o borrar elementos en codificación TLV. |
nl:: |
Proporciona un codificador eficiente en cuanto a la memoria para escribir datos en formato TLV de Weave. |
nl:: |
WeaveCircularTLVBuffer proporciona almacenamiento circular para nl::Weave::TLV::TLVWriter y nl::Weave::TLVTLVReader. |
Espacios de nombres |
|
---|---|
nl:: |
Este espacio de nombres incluye interfaces y tipos para la depuración y el registro de TLV de Weave. |
nl:: |
Este espacio de nombres incluye interfaces de utilidades y tipos para administrar y trabajar con TLV de Weave. |
Enumeraciones
@71
@71
@73
@73
@74
@74
Propiedades | |
---|---|
AnonymousTag
|
Es un valor que indica un elemento TLV que no tiene etiqueta (es decir, un elemento anónimo). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Propiedades | |
---|---|
kProfileIdNotSpecified
|
Se usa para indicar la ausencia de un ID de perfil en una variable o un miembro. En esencia, es igual a kWeaveProfile_NotSpecify, definido en WeaveProfiles.h. |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variables
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copia un elemento TLV de un objeto de lector en el escritor.
El método CopyElement() codifica un nuevo elemento TLV cuyo tipo y valor se toman de un objeto TLVReader. Cuando se llama al método, se espera que el objeto lector proporcionado se posicione en el elemento TLV de origen. 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 proporcionado es un contenedor TLV (estructura, array o ruta), se copiará todo el contenido del contenedor.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores de retorno |
|
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 una etiqueta TLV de perfil común.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
Es un número entero de 64 bits que representa la etiqueta.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Genera la representación de la API para la etiqueta TLV específica del contexto.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
Es un número entero de 64 bits que representa la etiqueta.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Muestra true si la etiqueta proporcionada es una etiqueta específica del contexto.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Muestra true de la etiqueta proporcionada es una etiqueta específica del perfil.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfileIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfileNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
ProfileTag
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Genera la representación de la API de una etiqueta TLV específica de perfil a partir de un ID de perfil y un número de etiqueta.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Resultado que se muestra |
Es un número entero de 64 bits que representa la etiqueta.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Genera la representación de la API de una etiqueta TLV específica de perfil a partir de un ID de proveedor, un número de perfil y un número de etiqueta.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Resultado que se muestra |
Es un número entero de 64 bits que representa la etiqueta.
|
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 )
Muestra el número de etiqueta de una etiqueta TLV.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
El número de etiqueta asociado.
|
IsProfileTag() e IsContextTag()