nl:: Weave:: TLV
Definiciones de trabajo con datos codificados en formato TLV de Weave.
Resumen
Weave TLV 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, a la vez, es mucho más compacto con el 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 lector al escritor.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Functions |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Genera la representación de la API de una etiqueta de perfil TLV 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
El resultado es verdadero si la etiqueta proporcionada es una etiqueta específica del contexto.
|
IsProfileTag(uint64_t tag)
|
bool
Muestra el valor verdadero de la etiqueta proporcionada es una etiqueta específica del perfil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Muestra el valor "true" si el tipo de TLV especificado es válido.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Muestra el ID de perfil de una etiqueta de 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 del perfil a partir de un ID y número de etiqueta de perfil.
|
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 del 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 el valor "true" si el tipo TLV especificado implica la presencia de un campo de longitud asociado.
|
TLVTypeHasValue(uint8_t type)
|
bool
Muestra el valor "true" si el tipo TLV especificado implica la presencia de un campo de valor asociado.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Muestra el valor "true" si el tipo TLV especificado es un contenedor.
|
TLVTypeIsString(uint8_t type)
|
bool
Muestra verdadero si el tipo TLV especificado es una string de 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 con eficiencia de memoria para datos codificados en formato TLV de Weave. |
nl:: |
Proporciona una interfaz unificada de lectura y escritura para editar, agregar o borrar elementos en la codificación TLV. |
nl:: |
Proporciona un codificador con memoria eficiente para escribir datos en el formato TLV de Weave. |
nl:: |
WeaveCircularTLVBuffer proporciona almacenamiento circular para los elementos nl::Weave::TLV::TLVWriter y nl::Weave::TLVTLVReader. |
Espacios de nombres |
|
---|---|
nl:: |
Este espacio de nombres incluye interfaces y tipos para depurar y registrar Weave TLV. |
nl:: |
Este espacio de nombres incluye interfaces de tipos y de utilidad para administrar y trabajar con TLV de Weave. |
Enumeraciones
@71
@71
@73
@73
@74
@74
Properties | |
---|---|
AnonymousTag
|
Un valor que indica un elemento TLV que no tiene una etiqueta (es decir, un elemento anónimo). |
@75
@75
Perfiles comunes para TLV
TLVCommonProfiles
Properties | |
---|---|
kProfileIdNotSpecified
|
Se usa para indicar la ausencia de un ID de perfil en una variable o miembro. Básicamente, es lo mismo que kWeaveProfile_NotSpecific definido en WeaveProfiles.h. |
Tipo de elemento TLV
TLVElementType
Tamaño del campo TLV
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variables
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copia un elemento TLV de un objeto lector al 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 de lector proporcionado se posponga 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, arreglo o ruta), se copiará todo el contenido del contenedor.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores que se muestran |
|
Tamaños de sTag
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Functions
Etiqueta común
uint64_t CommonTag( uint32_t tagNum )
Genera la representación de la API de una etiqueta de perfil TLV común.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un número entero de 64 bits que representa la etiqueta.
|
Contexto de la etiqueta
uint64_t ContextTag( uint8_t tagNum )
Genera la representación de la API para la etiqueta TLV específica del contexto.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un número entero de 64 bits que representa la etiqueta.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
Etiqueta de contexto
bool IsContextTag( uint64_t tag )
El resultado es verdadero si la etiqueta proporcionada es una etiqueta específica del contexto.
Etiqueta de perfil
bool IsProfileTag( uint64_t tag )
Muestra el valor verdadero de la etiqueta proporcionada es una etiqueta específica del perfil.
Etiqueta especial
bool IsSpecialTag( uint64_t tag )
TipoValidoLVT
bool IsValidTLVType( uint8_t type )
ID de perfil desde la etiqueta
uint32_t ProfileIdFromTag( uint64_t tag )
Número de perfil desde la etiqueta
uint16_t ProfileNumFromTag( uint64_t tag )
Etiqueta de perfil
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Genera la representación de la API de una etiqueta TLV específica del perfil a partir de un ID y número de etiqueta de perfil.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Un número 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 de la API de una etiqueta TLV específica del perfil a partir de un ID de proveedor, un número de perfil y un número de etiqueta.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
Un número entero de 64 bits que representa la etiqueta.
|
TLVFieldSizeToBytes
uint8_t TLVFieldSizeToBytes( TLVFieldSize fieldSize )
TLVTipoHasLength
bool TLVTypeHasLength( uint8_t type )
Valor del tipo de TLV
bool TLVTypeHasValue( uint8_t type )
TLVTipoIsContainer
bool TLVTypeIsContainer( uint8_t type )
TLVTipoIsString
bool TLVTypeIsString( uint8_t type )
Número de etiqueta de etiqueta
uint32_t TagNumFromTag( uint64_t tag )
Muestra el número de etiqueta de una etiqueta TLV.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El número de etiqueta asociado.
|
IsProfileTag() y IsContextTag()