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) typedef
void(*

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
)

-------------- definizioni per i dati TLV --------------

Il costruttore no-arg per i dati TLV. Restituisce un oggetto senza costi/non inizializzato che, per essere utile, deve essere sottoposto a uno dei metodi init() definiti qui.

gratis

void free(
  void
)

Libera un oggetto ReferencedTLVData, vale a dire non definirlo.

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
[in] aBuffer
Un buffer dei messaggi in cui si trova il file TLV.
Valori restituiti
WEAVE_NO_ERROR
Senza condizioni

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
[in] i
Un iteratore dei messaggi che punta a TLV da estrarre.
Valori restituiti
WEAVE_NO_ERROR
Senza condizioni

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
[in] aLength
Una lunghezza per i dati TLV
[in] aMaxLength
La lunghezza totale del buffer
[in] aByteString
Un puntatore ai dati stringa
Valori restituiti
WEAVE_NO_ERROR
Senza condizioni

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
[in] aWriteCallback
da chiamare quando è il momento di scrivere TLV.
[in] anAppState
un oggetto stato dell'applicazione da passare al callback insieme al writer.
Valori restituiti
WEAVE_NO_ERROR
Un successo.
WEAVE_ERROR_INVALID_ARGUMENT
Se il callback di scrittura non è fornito.

è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
[in] Another
un oggetto da verificare
Valori restituiti
true
Gli oggetti sono uguali.
false
Le stringhe degli oggetti non sono uguali.

confezione

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Comprimi un oggetto ReferencedTLVData direttamente in un PacketBuffer.

Dettagli
Parametri
[in] buff
il buffer da riempire.
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
[in] buff
il buffer da cui leggere.
[out] aTarget
un oggetto ReferencedTLVData per "fill" con il risultato.
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
[in] i
Un iteratore sul messaggio da analizzare.
[out] aTarget
Una posizione in cui inserire il risultato dell'analisi.
Valori restituiti
WEAVE_NO_ERROR
Senza condizioni