En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: TLV

Definiciones para trabajar con datos codificados en formato Weave TLV .

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 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 que identifica el tipo de elemento TLV .

Variables

kWeaveTLVCopyChunkSize = 16
const size_t
Copia un elemento TLV 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 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
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 el tipo de TLV especificado es válido.
ProfileIdFromTag (uint64_t tag)
uint32_t
Devuelve la identificación del perfil de una etiqueta TLV .
ProfileNumFromTag (uint64_t tag)
uint16_t
Devuelve el número de perfil de una etiqueta TLV .
ProfileTag (uint32_t profileId, uint32_t tagNum)
uint64_t
Genera la representación API de una etiqueta TLV específica del perfil a partir de una identificación de perfil y un número de etiqueta.
ProfileTag (uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
uint64_t
Genera la representación API de una etiqueta TLV específica de perfil a partir de una identificación de proveedor, número de perfil y número de etiqueta.
TLVFieldSizeToBytes (TLVFieldSize fieldSize)
uint8_t
TLVTypeHasLength (uint8_t type)
bool
Devuelve verdadero si el tipo de TLV especificado implica la presencia de un campo de longitud asociado.
TLVTypeHasValue (uint8_t type)
bool
Devuelve verdadero si el tipo de TLV especificado implica la presencia de un campo de valor asociado.
TLVTypeIsContainer (uint8_t type)
bool
Devuelve verdadero si el tipo de TLV especificado es un contenedor.
TLVTypeIsString (uint8_t type)
bool
Devuelve verdadero si el tipo de TLV especificado es una cadena de bytes o UTF8.
TagNumFromTag (uint64_t tag)
uint32_t
Devuelve el número de etiqueta de una etiqueta TLV .
VendorIdFromTag (uint64_t tag)
uint16_t
Devuelve la identificación del proveedor de una etiqueta TLV .

Clases

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

Proporciona un analizador de memoria eficiente para datos codificados en formato Weave TLV .

nl :: Tejido :: TLV :: TLVUpdater

Proporciona una interfaz de lectura / escritura unificada para editar / agregar / eliminar elementos en la codificación TLV .

nl :: Tejido :: TLV :: TLVWriter

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

nl :: Weave :: TLV :: WeaveCircularTLVBuffer

WeaveCircularTLVBuffer proporciona almacenamiento circular paranl :: Weave :: TLV :: TLVWriter y nl :: Weave :: TLVTLVReader.

Espacios de nombres

nl :: Weave :: TLV :: Debug

Este espacio de nombres incluye tipos e interfaces para depurar y registrar Weave TLV .

nl :: Weave :: TLV :: Utilidades

Este espacio de nombres incluye tipos e interfaces de utilidad para administrar y trabajar con Weave TLV .

Enumeraciones

@ 71

 @71

@ 73

 @73

@ 74

 @74
Propiedades
AnonymousTag

Un valor que significa 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 una identificación de perfil en una variable o miembro.

Esto es esencialmente lo mismo que kWeaveProfile_NotSpecified definido en WeaveProfiles.h

TLVElementType

 TLVElementType

TLVFieldSize

 TLVFieldSize

TLVTagControl

 TLVTagControl

TLVTagFields

 TLVTagFields

TLVType

 TLVType

Una enumeración que identifica el tipo de elemento TLV .

Variables

kWeaveTLVCopyChunkSize

const size_t kWeaveTLVCopyChunkSize = 16

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

El método CopyElement () codifica un nuevo elemento TLV cuyo tipo y valor se toman de un objetoTLVReader . Cuando se llama al método, se espera que el objeto lector proporcionado se coloque 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, matriz o ruta), se copiará todo el contenido del contenedor.

Detalles
Parámetros
[in] tag
La etiqueta TLV que se codificará con el contenedor, o AnonymousTag si el contenedor debe codificarse 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 un objetoTLVReader que identifica un elemento TLVprecodificado cuyo tipo y valor se deben copiar.
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 la codificación TLV subyacente asociada con el lector suministrado terminó prematuramente.
WEAVE_ERROR_INVALID_TLV_ELEMENT
Si el lector suministrado encontró un tipo de elemento TLV no válido o no admitido.
WEAVE_ERROR_INVALID_TLV_TAG
Si el lector suministrado encontró una etiqueta TLV en un contexto no válido, o si la etiqueta suministrada no es válida 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 falla 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 API de una etiqueta TLV de perfil común.

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 la etiqueta TLV específica del contexto.

Detalles
Parámetros
[in] tagNum
El número de etiqueta específico del contexto asignado a la etiqueta.
Devoluciones
Un número 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 el tipo de TLV especificado es válido.

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

ProfileIdFromTag

uint32_t ProfileIdFromTag(
  uint64_t tag
)

Devuelve la identificación del perfil de una etiqueta TLV .

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

ProfileNumFromTag

uint16_t ProfileNumFromTag(
  uint64_t tag
)

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

Detalles
Parámetros
[in] tag
La representación de API de una etiqueta TLV específica del perfil.
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 una etiqueta TLV específica del perfil a partir de una identificación de perfil y un 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 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 API de una etiqueta TLV específica de perfil a partir de una identificación de proveedor, número de perfil y número de 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 el tipo de TLV especificado implica la presencia de un campo de longitud asociado.

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

TLVTypeHasValue

bool TLVTypeHasValue(
  uint8_t type
)

Devuelve verdadero si el tipo de TLV especificado implica la presencia de un campo de valor asociado.

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

TLVTypeIsContainer

bool TLVTypeIsContainer(
  uint8_t type
)

Devuelve verdadero si el tipo de TLV especificado es un contenedor.

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

TLVTypeIsString

bool TLVTypeIsString(
  uint8_t type
)

Devuelve verdadero si el tipo de TLV especificado es una cadena de bytes o UTF8.

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

TagNumFromTag

uint32_t TagNumFromTag(
  uint64_t tag
)

Devuelve el número de etiqueta de una etiqueta TLV .

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

VendorIdFromTag

uint16_t VendorIdFromTag(
  uint64_t tag
)

Devuelve la identificación del proveedor de una etiqueta TLV .

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