nl:: Weave:: TLV
Definizioni per l'utilizzo dei dati codificati nel formato TLV Weave.
Riepilogo
Weave TLV è un metodo di codifica generale per dati strutturati semplici. Condivide molte proprietà con il formato di serializzazione JSON più comune ed è notevolmente più compatto rispetto al cavo.
Enumerazioni |
|
---|---|
@71
|
enum |
@73
|
enum |
@74{
|
enum |
@75
|
enum |
TLVCommonProfiles{
|
enum |
TLVElementType
|
enum |
TLVFieldSize
|
enum |
TLVTagControl
|
enum |
TLVTagFields
|
enum |
TLVType
|
enum Un'enumerazione che identifica il tipo di un elemento TLV. |
Variabili |
|
---|---|
kWeaveTLVCopyChunkSize = 16
|
const size_t
Copia un elemento TLV da un oggetto lettore nell'autore.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Functions |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Genera la rappresentazione API di un tag TLV di profilo comune.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Genera la rappresentazione API del tag TLV specifico del contesto.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Restituisce true se il tag fornito è un tag specifico di contesto.
|
IsProfileTag(uint64_t tag)
|
bool
Restituisce true del tag fornito è un tag specifico del profilo.
|
IsSpecialTag(uint64_t tag)
|
bool
|
IsValidTLVType(uint8_t type)
|
bool
Restituisce true se il tipo TLV specificato è valido.
|
ProfileIdFromTag(uint64_t tag)
|
uint32_t
Restituisce l'ID profilo da un tag TLV.
|
ProfileNumFromTag(uint64_t tag)
|
uint16_t
Restituisce il numero del profilo a partire da un tag TLV.
|
ProfileTag(uint32_t profileId, uint32_t tagNum)
|
uint64_t
Genera la rappresentazione API di un tag TLV specifico del profilo da un ID profilo e un numero di tag.
|
ProfileTag(uint16_t vendorId, uint16_t profileNum, uint32_t tagNum)
|
uint64_t
Genera la rappresentazione API di un tag TLV specifico del profilo da un ID fornitore, numero di profilo e numero di tag.
|
TLVFieldSizeToBytes(TLVFieldSize fieldSize)
|
uint8_t
|
TLVTypeHasLength(uint8_t type)
|
bool
Restituisce true se il tipo TLV specificato implica la presenza di un campo di lunghezza associato.
|
TLVTypeHasValue(uint8_t type)
|
bool
Restituisce true se il tipo TLV specificato implica la presenza di un campo valore associato.
|
TLVTypeIsContainer(uint8_t type)
|
bool
Restituisce true se il tipo TLV specificato è un container.
|
TLVTypeIsString(uint8_t type)
|
bool
Restituisce true se il tipo TLV specificato è una stringa UTF8 o byte.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Restituisce il numero di tag da un tag TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Restituisce l'ID fornitore da un tag TLV.
|
Corsi |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Fornisce un analizzatore sintattico efficiente della memoria per i dati codificati nel formato TLV Weave. |
nl:: |
Fornisce un'interfaccia Lettore/Writer unificata per la modifica, l'aggiunta o l'eliminazione di elementi nella codifica TLV. |
nl:: |
Offre un codificatore con memoria efficiente per la scrittura dei dati nel formato TLV Weave. |
nl:: |
WeaveCircularTLVBuffer fornisce uno spazio di archiviazione circolare per nl::Weave::TLV::TLVWriter e nl::Weave::TLVTLVReader. |
Spazi dei nomi |
|
---|---|
nl:: |
Questo spazio dei nomi include tipi e interfacce per il debug e il logging di TLV di Weave. |
nl:: |
Questo spazio dei nomi include tipi e interfacce di utilità per la gestione e l'utilizzo di Weave TLV. |
Enumerazioni
@71
@71
@73
@73
@74
@74
Proprietà | |
---|---|
AnonymousTag
|
Un valore che indica un elemento TLV senza tag (ad es. in un elemento anonimo). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Proprietà | |
---|---|
kProfileIdNotSpecified
|
Utilizzato per indicare l'assenza di un ID profilo in una variabile o un membro. Essenzialmente è uguale a kWeaveProfile_NotSpecify definito in WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagCampi
TLVTagFields
Variabili
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copia un elemento TLV da un oggetto lettore nell'autore.
Il metodo CopyElement() codifica un nuovo elemento TLV il cui tipo e valore sono presi da un oggetto TLVReader. Quando il metodo viene chiamato, l'oggetto lettore fornito deve essere posizionato sull'elemento TLV di origine. L'elemento appena codificato avrà lo stesso tipo e gli stessi contenuti del contenitore di input, ma il tag verrà impostato sull'argomento specificato. Se l'elemento fornito è un contenitore TLV (struttura, array o percorso), vengono copiati l'intero contenuto del contenitore.
Dettagli | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||||
Valori di ritorno |
|
Tag tag
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Functions
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Genera la rappresentazione API di un tag TLV di profilo comune.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un numero intero a 64 bit che rappresenta il tag.
|
Tag di contesto
uint64_t ContextTag( uint8_t tagNum )
Genera la rappresentazione API del tag TLV specifico del contesto.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un numero intero a 64 bit che rappresenta il tag.
|
GetTLVFieldSize
TLVFieldSize GetTLVFieldSize( uint8_t type )
IsContextTag
bool IsContextTag( uint64_t tag )
Restituisce true se il tag fornito è un tag specifico di contesto.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Restituisce true del tag fornito è un tag specifico del profilo.
IsSpecialTag
bool IsSpecialTag( uint64_t tag )
IsValidTLVType
bool IsValidTLVType( uint8_t type )
ProfiloIdFromTag
uint32_t ProfileIdFromTag( uint64_t tag )
ProfiloNumFromTag
uint16_t ProfileNumFromTag( uint64_t tag )
Tag profilo
uint64_t ProfileTag( uint32_t profileId, uint32_t tagNum )
Genera la rappresentazione API di un tag TLV specifico del profilo da un ID profilo e un numero di tag.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un numero intero a 64 bit che rappresenta il tag.
|
Tag profilo
uint64_t ProfileTag( uint16_t vendorId, uint16_t profileNum, uint32_t tagNum )
Genera la rappresentazione API di un tag TLV specifico del profilo da un ID fornitore, numero di profilo e numero di tag.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
Un numero intero a 64 bit che rappresenta il 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 )
Restituisce il numero di tag da un tag TLV.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Il numero di tag associato.
|
IsProfileTag() e IsContextTag()