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

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

Dieses Objekt codiert die WDM-Nutzlasten vom Typ UpdateRequest und PartialUpdateRequest.

Zusammenfassung

Beide Anfragen haben dasselbe Format. Sie unterscheiden sich nur durch den Nachrichtentyp, der außerhalb des Geltungsbereichs dieses Objekts liegt.

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

Konstruktoren und Zerstörer

UpdateEncoder()
~UpdateEncoder()

Öffentliche Funktionen

EncodeRequest(Context & aContext)
Codieren Sie die Nutzlast einer WDM-Aktualisierungsanfrage.
InsertInProgressUpdateItem(const TraitPath & aItem)
Fügen Sie der Liste der laufenden Pfade einen privaten Pfad hinzu und fügen Sie ihn nach dem Pfad ein, der gerade codiert 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
)

Codieren Sie die Nutzlast einer WDM-Aktualisierungsanfrage.

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

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 untergeordneten Objekten (TLVWriter, SchemaEngine usw.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Fügen Sie der Liste der laufenden Pfade einen privaten Pfad hinzu und fügen Sie ihn nach dem Pfad ein, der gerade codiert wird.

Diese Methode soll von der SchemaEngine aufgerufen werden, während sie den Schemabaum durchläuft, und sie muss Wörterbücher zurück in die Liste verschieben.

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

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()