nl:: Weave:: TLV
Definizioni per lavorare con dati codificati nel formato Weave TLV.
Riepilogo
Weave TLV è un metodo di codifica generalizzato per dati strutturati semplici. Condivide molte proprietà con il formato di serializzazione JSON di uso comune, pur essendo notevolmente più compatto.
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 reader nell'autore.
|
sTagSizes = { 0, 1, 2, 4, 2, 4, 6, 8 }[]
|
const uint8_t
|
Funzioni |
|
---|---|
CommonTag(uint32_t tagNum)
|
uint64_t
Genera la rappresentazione API di un tag TLV del profilo comune.
|
ContextTag(uint8_t tagNum)
|
uint64_t
Genera la rappresentazione API per un tag TLV specifico del contesto.
|
GetTLVFieldSize(uint8_t type)
|
TLVFieldSize
|
IsContextTag(uint64_t tag)
|
bool
Restituisce true se il tag fornito è un tag specifico del contesto.
|
IsProfileTag(uint64_t tag)
|
bool
Restituisce true se il tag fornito è un tag specifico per il 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 di profilo 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 e un numero di tag profilo.
|
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, un numero di profilo e un 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 length 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 di byte o UTF8.
|
TagNumFromTag(uint64_t tag)
|
uint32_t
Restituisce il numero di tag da un tag TLV.
|
VendorIdFromTag(uint64_t tag)
|
uint16_t
Restituisce l'ID del fornitore da un tag TLV.
|
Corsi |
|
---|---|
nl:: |
|
nl:: |
|
nl:: |
Fornisce un parser efficiente dalla memoria per i dati codificati nel formato Weave TLV. |
nl:: |
Fornisce un'interfaccia di lettura/scrittura unificata per la modifica, l'aggiunta o l'eliminazione di elementi nella codifica TLV. |
nl:: |
Fornisce un codificatore a elevata efficienza di memoria per la scrittura di dati in formato Weave TLV. |
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 Weave TLV. |
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 privo di tag (ad es. un elemento anonimo). |
@75
@75
TLVCommonProfiles
TLVCommonProfiles
Proprietà | |
---|---|
kProfileIdNotSpecified
|
Utilizzato per indicare l'assenza di un ID profilo in una variabile o in un membro. Essenzialmente uguale a kWeaveProfile_NotSpecified definito in WeaveProfiles.h |
TLVElementType
TLVElementType
TLVFieldSize
TLVFieldSize
TLVTagControl
TLVTagControl
TLVTagFields
TLVTagFields
Variabili
kWeaveTLVCopyChunkSize
const size_t kWeaveTLVCopyChunkSize = 16
Copia un elemento TLV da un oggetto reader nell'autore.
Il metodo CopyElement() codifica un nuovo elemento TLV il cui tipo e valore derivano da un oggetto TLVReader. Quando il metodo viene chiamato, l'oggetto reader fornito dovrebbe essere posizionato sull'elemento TLV di origine. L'elemento appena codificato avrà lo stesso tipo e lo stesso contenuto del contenitore di input, ma il tag verrà impostato sull'argomento specificato. Se l'elemento fornito è un container TLV (struttura, array o percorso), verranno copiati l'intero contenuto del container.
Dettagli | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||||
Valori restituiti |
|
sTagSizes
const uint8_t sTagSizes[] = { 0, 1, 2, 4, 2, 4, 6, 8 }
Funzioni
CommonTag
uint64_t CommonTag( uint32_t tagNum )
Genera la rappresentazione API di un tag TLV del profilo comune.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
Un numero intero a 64 bit che rappresenta il tag.
|
ContextTag
uint64_t ContextTag( uint8_t tagNum )
Genera la rappresentazione API per un 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 del contesto.
IsProfileTag
bool IsProfileTag( uint64_t tag )
Restituisce true se il tag fornito è un tag specifico per il profilo.
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 rappresentazione API di un tag TLV specifico del profilo da un ID e un numero di tag profilo.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
Un numero intero a 64 bit che rappresenta il tag.
|
ProfileTag
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, un numero di profilo e un 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()