nl::Weave::Profiles::DataManagement_Current::UpdateEncoder

#include <src/lib/profiles/data-management/Current/UpdateEncoder.h>

Questo oggetto codifica i payload WDM UpdateRequest e PartialUpdateRequest.

Riepilogo

Tieni presente che entrambe le richieste hanno lo stesso formato: si differenziano solo per il tipo di messaggio, che non rientra nell'ambito di questo oggetto.

La codifica viene eseguita in modo sincrono tramite il metodo EncodeRequest. L'unico altro metodo pubblico è InsertInProgressUpdateItem, che viene chiamato da SchemaEngine quando deve inserire di nuovo un dizionario nella coda.

Costruttori e distruttori

UpdateEncoder()
~UpdateEncoder()

Funzioni pubbliche

EncodeRequest(Context & aContext)
Codificare un payload della richiesta di aggiornamento WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Aggiungi un percorso privato nell'elenco dei percorsi in corso, inserendolo dopo quello attualmente codificato.

Strutture

nl::Weave::Profiles::DataManagement_Current::UpdateEncoder::Context

Questa struttura contiene gli argomenti I/O del metodo EncodeRequest.

Funzioni pubbliche

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Codificare un payload della richiesta di aggiornamento WDM.

Vedi UpdateEncoder::Context. La lunghezza dei dati del PacketBuffer viene aggiornata solo in caso di esito positivo, ma i contenuti del buffer non vengono conservati.

Dettagli
Valori restituiti
WEAVE_NO_ERROR
Almeno un DataElement è stato codificato nel DataList del payload.
WEAVE_ERROR_BUFFER_TOO_SMALL
Non è stato possibile includere il primo DataElement nel payload.
WEAVE_ERROR_INVALID_ARGUMENT
aContext è stato inizializzato con valori non validi.
other
Altri errori da oggetti di livello inferiore (TLVWriter, SchemaEngine e così via).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Aggiungi un percorso privato nell'elenco dei percorsi in corso, inserendolo dopo quello attualmente codificato.

Questo metodo deve essere chiamato da SchemaEngine quando attraversa la struttura ad albero dello schema e deve reinserire i dizionari all'elenco.

Dettagli
Parametri
[in] aItem
Il TraitPath da inserire nell'elenco di codifica.
Valori restituiti
WEAVE_NO_ERROR
L'elemento è stato inserito correttamente.
WEAVE_NO_MEMORY
Nel TraitPathStore non c'erano spazi per inserire l'elemento.

UpdateEncoder

 UpdateEncoder()

~AggiornaEncoder

 ~UpdateEncoder()