nl:: Weave:: TLV
Définitions relatives à l'utilisation de données encodées au format TLV Weave.
Résumé
La valeur TLV de Weave est une méthode d'encodage généralisée pour des données structurées simples. Il partage de nombreuses propriétés avec le format de sérialisation JSON couramment utilisé, tout en étant considérablement plus compact sur le réseau.
Énumérations |
|
---|---|
@71
|
énum |
@73
|
énum |
@74{
|
énum |
@75
|
énum |
TLVCommonProfiles{
|
énum |
TLVElementType
|
énum |
TLVFieldSize
|
énum |
TLVTagControl
|
énum |
TLVTagFields
|
énum |
TLVType
|
énum Énumération identifiant le type d'un élément TLV. |
Variables |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Copie un élément TLV d'un objet lecteur dans l'éditeur.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Fonctions |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Génère la représentation API d'une balise TLV de profil commun.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Génère la représentation API du tag TLV spécifique au contexte.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Renvoie la valeur "true" si la balise fournie est une balise spécifique au contexte.
|
IsProfileTag(uint64_t tag)
|
bool
Renvoie "true" si la balise fournie est une balise spécifique au profil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Renvoie "true" si le type TLV spécifié est valide.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Renvoie l'ID de profil à partir d'une balise TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Renvoie le numéro de profil à partir d'une balise TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Génère la représentation API d'une balise TLV spécifique à un profil à partir d'un ID et d'un numéro de balise de profil.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Génère la représentation API d'une balise TLV spécifique à un profil à partir d'un ID de fournisseur, d'un numéro de profil et d'un numéro de balise.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Renvoie la valeur "true" si le type TLV spécifié implique la présence d'un champ de longueur associé.
|
TLVTypeHasValue(uint8_t type)
|
bool
Renvoie "true" si le type TLV spécifié implique la présence d'un champ de valeur associé.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Renvoie "true" si le type TLV spécifié est un conteneur.
|
TLVTypeIsString(uint8_t type)
|
bool
Renvoie "true" si le type TLV spécifié est une chaîne d'octets ou UTF8.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Renvoie le numéro d'une balise TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Renvoie l'ID du fournisseur à partir d'une balise TLV.
|
Classes |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Fournit un analyseur économe en mémoire pour les données encodées au format TLV Weave. |
nl:: |
Fournit une interface Reader/Writer unifiée permettant de modifier, d'ajouter et de supprimer des éléments au format TLV. |
nl:: |
Fournit un encodeur économe en mémoire pour écrire des données au format TLV Weave. |
nl:: |
WeaveCircularTLVBuffer fournit un stockage circulaire pour nl::Weave::TLV::TLVWriter et nl::Weave::TLVTLVReader. |
Espaces de noms |
|
---|---|
nl:: |
Cet espace de noms comprend des types et des interfaces de débogage et de journalisation des TLV Weave. |
nl:: |
Cet espace de noms comprend des types et des interfaces utilitaires permettant de gérer et d'utiliser les TLV Weave. |
Énumérations
@71
@71
@73
@73
@74
@74
Propriétés | |
---|---|
AnonymousTag
|
Valeur indiquant un élément TLV sans balise (par exemple, un élément anonyme). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Propriétés | |
---|---|
kProfileIdNotSpecified
|
Utilisé pour indiquer l'absence d'ID de profil dans une variable ou un membre. Cette valeur est essentiellement la même que celle définie dans WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variables
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copie un élément TLV d'un objet lecteur dans l'éditeur.
La méthode CopyElement() encode un nouvel élément TLV dont le type et la valeur sont issus d'un objet TLVReader. Lorsque la méthode est appelée, l'objet lecteur fourni doit être positionné sur l'élément TLV source. Le nouvel élément encodé aura le même type et le même contenu que le conteneur d'entrée, mais la balise sera définie sur l'argument spécifié. Si l'élément fourni est un conteneur TLV (structure, tableau ou chemin d'accès), l'intégralité du contenu du conteneur est copié.
Détails | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||||
Valeurs renvoyées |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Fonctions
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Génère la représentation API d'une balise TLV de profil commun.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Entier de 64 bits représentant le tag.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Génère la représentation API du tag TLV spécifique au contexte.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Entier de 64 bits représentant le tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Renvoie la valeur "true" si la balise fournie est une balise spécifique au contexte.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Renvoie "true" si la balise fournie est une balise spécifique au profil.
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 )
Génère la représentation API d'une balise TLV spécifique à un profil à partir d'un ID et d'un numéro de balise de profil.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
Entier de 64 bits représentant le tag.
|
ProfileTag
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Génère la représentation API d'une balise TLV spécifique à un profil à partir d'un ID de fournisseur, d'un numéro de profil et d'un numéro de balise.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
Entier de 64 bits représentant le tag.
|
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 )
Renvoie le numéro d'une balise TLV.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Numéro de balise associé.
|
IsProfileTag() et IsContextTag()