Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: Profile:: DataManagement_Current:: UpdateEncoder

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

Für dieses Objekt Encodierungen WDM UpdateRequest und PartialUpdateRequest Nutzlasten.

Zusammenfassung

Beachten Sie, dass beide Anforderungen das gleiche Format haben; sie werden nur durch den Nachrichtentyp unterschieden, der außerhalb des Geltungsbereichs dieses Objekts liegt.

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

Konstruktoren und Destruktoren

UpdateEncoder ()
~UpdateEncoder ()

Öffentliche Funktionen

EncodeRequest ( Context & aContext)
Codieren Sie eine WDM-Aktualisierungsanforderungsnutzlast.
InsertInProgressUpdateItem (const TraitPath & aItem)
Fügen Sie einen privaten Pfad in die Liste der in Bearbeitung befindlichen Pfade ein und fügen Sie ihn nach dem derzeit kodierten Pfad ein.

Strukturen

nl :: Weave :: Profile :: 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 eine WDM-Aktualisierungsanforderungsnutzlast.

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

Einzelheiten
Rückgabewerte
WEAVE_NO_ERROR
Mindestens ein Dataelement wurde in der Nutzlast des Datalist kodiert.
WEAVE_ERROR_BUFFER_TOO_SMALL
Das erste Dataelement konnte nicht in der Nutzlast passen.
WEAVE_ERROR_INVALID_ARGUMENT
aKontext 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 einen privaten Pfad in die Liste der in Bearbeitung befindlichen Pfade ein und fügen Sie ihn nach dem derzeit kodierten Pfad ein.

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

Einzelheiten
Parameter
[in] aItem
Die TraitPath zu Insert in der Liste codiert wird.
Rückgabewerte
WEAVE_NO_ERROR
Der Artikel wurde erfolgreich eingefügt.
WEAVE_NO_MEMORY
Es gab keinen Platz im TraitPathStore das Element einzufügen.

UpdateEncoder

 UpdateEncoder()

~Encoder aktualisieren

 ~UpdateEncoder()