nl:: Weave:: TLV
Définitions concernant l'utilisation de données encodées au format TLV Weave
Résumé
Le TLV de Weave est une méthode d'encodage généralisée pour les 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
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum É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'auteur.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
distantes |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Génère la représentation API d'un tag TLV de profil commun.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Génère la représentation de l'API pour la balise 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 la valeur "true" si le tag fourni est une balise spécifique au profil.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Renvoie la valeur "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'un tag TLV spécifique à un profil à partir d'un ID de profil et d'un numéro de tag.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Génère la représentation API d'un tag TLV spécifique à un profil à partir d'un ID de fournisseur, d'un numéro de profil et d'un numéro de tag.
|
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 la valeur "true" si le type TLV spécifié implique la présence d'un champ de valeur associé.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Renvoie la valeur "true" si le type TLV spécifié est un conteneur.
|
TLVTypeIsString(uint8_t type)
|
bool
Renvoie la valeur "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 de balise 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 de lecture/rédaction unifiée permettant de modifier, d'ajouter ou de supprimer des éléments avec l'encodage TLV. |
nl:: |
Fournit un encodeur économe en mémoire pour écrire des données au format Weave TLV. |
nl:: |
WeaveCircularTLVBuffer fournit un stockage circulaire pour nl::Weave::TLV::TLVWriter et nl::Weave::TLVTLVReader. |
Espaces de noms |
|
---|---|
nl:: |
Cet espace de noms inclut des types et des interfaces pour le débogage et la journalisation des TLV de Weave. |
nl:: |
Cet espace de noms inclut des types et des interfaces utilitaires permettant de gérer et d'utiliser le TLV Weave. |
Énumérations
@71
@71
@73
@73
@74
@74
Propriétés | |
---|---|
AnonymousTag
|
Valeur correspondant à un élément TLV sans balise (par exemple, un élément anonyme). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Propriétés | |
---|---|
kProfileIdNotSpecified
|
Permet d'indiquer l'absence d'ID de profil dans une variable ou un membre. Cette propriété est pratiquement la même que l'élément kWeaveProfile_NotSpecified défini 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'auteur.
La méthode CopyElement() encode un nouvel élément TLV dont le type et la valeur proviennent d'un objet TLVReader. Lorsque la méthode est appelée, l'objet lecteur fourni doit être positionné sur l'élément TLV source. L'élément nouvellement encodé aura le même type et le même contenu que le conteneur d'entrée. Toutefois, la balise sera définie sur l'argument spécifié. Si l'élément fourni est un conteneur TLV (structure, tableau ou chemin), l'intégralité du contenu du conteneur sera copié.
Détails | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||||
Valeurs de retour |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
distantes
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Génère la représentation API d'un tag 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 de l'API pour la balise 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 la valeur "true" si le tag fourni 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'un tag TLV spécifique à un profil à partir d'un ID de profil et d'un numéro de tag.
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'un tag TLV spécifique à un profil à partir d'un ID de fournisseur, d'un numéro de profil et d'un numéro de tag.
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 de balise d'une balise TLV.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Numéro de tag associé.
|
IsProfileTag() et IsContextTag()