nl:: Weave:: TLV
Definiciones para trabajar con datos codificados en formato TLV de Weave.
Resumen
El 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 por medio de la conexión.
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
|
remotas |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Genera la representación de 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
El resultado es verdadero de la etiqueta proporcionada si 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 API de una etiqueta TLV específica del 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 del perfil a partir de un ID, un número de perfil y un número de etiqueta del proveedor.
|
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 string 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 de memoria eficiente para los datos codificados en formato TLV de Weave. |
nl:: |
Proporciona una interfaz de lector y escritor unificada para editar, agregar y borrar elementos en la codificación TLV. |
nl:: |
Proporciona un codificador eficiente de 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 depurar y registrar el TLV de Weave. |
nl:: |
Este espacio de nombres incluye interfaces de utilidad y tipos para administrar y trabajar con TLV de Weave. |
Enumeraciones
@71
@71
@73
@73
@74
@74
Propiedades | |
---|---|
AnonymousTag
|
Un valor que representa un elemento TLV que no tiene etiqueta (es decir, un elemento anónimo). |
A 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 lo mismo que el valor de kWeaveProfile_Notspecified 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 de lector proporcionado se posicione en el elemento TLV de origen. El elemento codificado recientemente 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 de TLV (estructura, array o ruta), se copiará todo el contenido del contenedor.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores que se muestran |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
remotas
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Genera la representación de API de una etiqueta TLV de perfil común.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué 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 |
|
||
Qué 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 )
El resultado es verdadero de la etiqueta proporcionada si 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 API de una etiqueta TLV específica del perfil a partir de un ID de perfil y un número de etiqueta.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué 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 del perfil a partir de un ID, un número de perfil y un número de etiqueta del proveedor.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué 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 |
|
||
Qué muestra |
El número de etiqueta asociado.
|
IsProfileTag() e IsContextTag()