nl:: Weave:: Profiles:: ReferencedTLVData
#include <src/lib/profiles/common/WeaveMessage.h>
Allo stesso modo, dobbiamo essere in grado di rappresentare un grande vecchio blob di dati TLV.
Riepilogo
Eredità
Eredita da: nl::Weave::Profiles::RetainedPacketBuffer
Costruttori e distruttori |
|
---|---|
ReferencedTLVData(void)
-------------- definizioni per i dati TLV --------------
|
Tipi pubblici |
|
---|---|
TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
|
typedefvoid(*
|
Attributi pubblici |
|
---|---|
theData
|
uint8_t *
|
theLength
|
uint16_t
|
theMaxLength
|
uint16_t
|
Funzioni pubbliche |
|
---|---|
free(void)
|
void
Libera un oggetto ReferencedTLVData, vale a dire non definirlo.
|
init(System::PacketBuffer *aBuffer)
|
Inizializza l'oggetto ReferencedTLVData dato un PacketBuffer.
|
init(MessageIterator & i)
|
Inizializza un oggetto ReferencedTLVData in base a un MessageIterator.
|
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
|
Inizializzare un ReferencedTLVObject data una stringa di byte.
|
init(TLVWriteCallback aWriteCallback, void *anAppState)
|
Inizializzare un oggetto RefererencedTLVData data una funzione di callback.
|
isEmpty(void)
|
bool
Verifica se un oggetto ReferencedTLVData contiene elementi.
|
isFree(void)
|
bool
Controlla se un oggetto ReferencedTLVData è "senza costi", ad esempio
|
operator==(const ReferencedTLVData &) const
|
bool
Controlla l'uguaglianza tra un oggetto ReferencedTLVData e un altro.
|
pack(System::PacketBuffer *buff)
|
Comprimi un oggetto ReferencedTLVData direttamente in un PacketBuffer.
|
pack(MessageIterator & i, uint32_t maxLen)
|
|
packedLength(void)
|
uint16_t
Restituisce la lunghezza dei dati assumendo che l'oggetto sia stato compresso in un buffer.
|
Funzioni statiche pubbliche |
|
---|---|
parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
|
Analizza un oggetto ReferencedTLVData da un PacketBuffer fornito.
|
parse(MessageIterator & i, ReferencedTLVData & aTarget)
|
Analizza un oggetto ReferencedTLVData da un MessageIterator fornito.
|
Tipi pubblici
TLVWriteCallback
void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)
Attributi pubblici
theData
uint8_t * theData
theLength
uint16_t theLength
theMaxLength
uint16_t theMaxLength
Funzioni pubbliche
ReferencedTLVData
ReferencedTLVData( void )
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
Inizializza l'oggetto ReferencedTLVData dato un PacketBuffer.
Inizializza un oggetto ReferencedTLVData con un buffer pieno di TLV. Questo presuppone che il buffer contenga SOLO TLV.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Valori restituiti |
|
init
WEAVE_ERROR init( MessageIterator & i )
Inizializza un oggetto ReferencedTLVData in base a un MessageIterator.
Inizializza un oggetto ReferencedTLVData in base a un MessageIterator. In questo caso, il valore TLV è l'ultima parte del buffer e passiamo a un iteratore di messaggi che lo rimanda.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Valori restituiti |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
Inizializzare un ReferencedTLVObject data una stringa di byte.
Inizializza l'oggetto ReferencedTLVData con una stringa di byte contenente TLV. Questo inizializzatore è quello che usiamo se non è presente un PacketrBuffer perché ne stiamo creando uno per la compressione e l'invio.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
Inizializzare un oggetto RefererencedTLVData data una funzione di callback.
Inizializza un oggetto ReferencedTLVData. Invece di fornire esplicitamente i dati, questa versione fornisce la funzione, il callback di scrittura e un oggetto di riferimento, che verrà passato all'oggetto, insieme a un oggetto TLVWriter, quando i dati a cui si fa riferimento dovrebbero essere compressi e inviati. La firma del callback è:
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
èVuoto
bool isEmpty( void )
Verifica se un oggetto ReferencedTLVData contiene elementi.
Un oggetto potrebbe "avere" in due modi qualcosa. Può avere una lunghezza pari a 0 OPPURE non avere un callback di scrittura.
Dettagli | |
---|---|
Restituisce |
true se il set di dati ha una lunghezza pari a 0 o non è presente alcun callback di scrittura disponibile, altrimenti false.
|
isFree
bool isFree( void )
Controlla se un oggetto ReferencedTLVData è "senza costi", ad esempio
non definito.
Dettagli | |
---|---|
Restituisce |
true se l'oggetto non è definito, false negli altri casi.
|
operatore==
bool operator==( const ReferencedTLVData & ) const
Controlla l'uguaglianza tra un oggetto ReferencedTLVData e un altro.
Tieni presente che questo ha davvero senso solo nel caso di due oggetti che contengono dati reali supportati da un buffer o una stringa.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
confezione
WEAVE_ERROR pack( System::PacketBuffer *buff )
Comprimi un oggetto ReferencedTLVData direttamente in un PacketBuffer.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
un errore WEAVE_ERROR che indica il successo della chiamata ai pacchetti sottostante.
|
confezione
WEAVE_ERROR pack( MessageIterator & i, uint32_t maxLen )
packedLength
uint16_t packedLength( void )
Restituisce la lunghezza dei dati assumendo che l'oggetto sia stato compresso in un buffer.
Dettagli | |
---|---|
Restituisce |
la lunghezza intera dei dati compressi.
|
Funzioni statiche pubbliche
parse
WEAVE_ERROR parse( System::PacketBuffer *buff, ReferencedTLVData & aTarget )
Analizza un oggetto ReferencedTLVData da un PacketBuffer fornito.
Analizza un oggetto ReferencedTLVData da un buffer inet (supponendo che contenga solo TLV).
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
un errore WEAVE_ERROR che indica l'esito positivo della chiamata di analisi sottostante.
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
Analizza un oggetto ReferencedTLVData da un MessageIterator fornito.
Analizza un oggetto ReferenceTLVData da un oggetto MessageIterator che si presume punti alla parte TLV di un messaggio.
Tieni presente che nessuna "analisi" effettiva viene eseguita qui poiché il valore TLV viene lasciato nel buffer e non viene manipolato affatto. Questo metodo configura solo la struttura ReferencedTLVData per un utilizzo futuro.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|