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

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

Dieses Objekt codiert die WDM-Nutzlasten UpdateRequest und PartialUpdateRequest.

Zusammenfassung

Beachten Sie, dass beide Anfragen dasselbe Format haben. Sie unterscheiden sich nur durch den Nachrichtentyp, der nicht in den Bereich dieses Objekts fällt.

Die Codierung erfolgt synchron durch die EncodeRequest-Methode. Die einzige andere öffentliche Methode ist InsertInProgressUpdateItem. Sie wird von SchemaEngine aufgerufen, wenn ein Wörterbuch zurück in die Warteschlange verschoben werden muss.

Konstruktoren und Zerstörer

UpdateEncoder()
~UpdateEncoder()

Öffentliche Funktionen

EncodeRequest(Context & aContext)
Nutzlast einer WDM-Update-Anfrage codieren
InsertInProgressUpdateItem(const TraitPath & aItem)
Fügen Sie der Liste der aktiven Pfade einen privaten Pfad hinzu, der nach dem derzeit codierten Pfad eingefügt wird.

Strukturen

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

Diese Struktur enthält die E/A-Argumente für die EncodeRequest-Methode.

Öffentliche Funktionen

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Nutzlast einer WDM-Update-Anfrage codieren

Siehe UpdateEncoder::Context. Die Datenlänge von PacketBuffer wird nur im Erfolgsfall aktualisiert, der Pufferinhalt bleibt jedoch nicht erhalten.

Details
Rückgabewerte
WEAVE_NO_ERROR
Mindestens ein DataElement wurde in der DataList der Nutzlast codiert.
WEAVE_ERROR_BUFFER_TOO_SMALL
Das erste DataElement konnte nicht in die Nutzlast passen.
WEAVE_ERROR_INVALID_ARGUMENT
aContext wurde mit ungültigen Werten initialisiert.
other
Andere Fehler von Objekten auf niedrigerer Ebene (TLVWriter, SchemaEngine usw.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Fügen Sie der Liste der aktiven Pfade einen privaten Pfad hinzu, der nach dem derzeit codierten Pfad eingefügt wird.

Diese Methode soll von SchemaEngine beim Durchlaufen der Schemastruktur aufgerufen werden und Wörterbücher zurück in die Liste verschieben.

Details
Parameter
[in] aItem
Der TraitPath, der in die zu codierende Liste eingefügt werden soll.
Rückgabewerte
WEAVE_NO_ERROR
Der Artikel wurde erfolgreich eingefügt.
WEAVE_NO_MEMORY
In TraitPathStore war kein Platz zum Einfügen des Elements.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()