nl::Weave::Profiles::DataManagement_Current::NotificationEngine::NotifyRequestBuilder

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

Dadurch wird eine Hilfsklasse zum Verfassen von Benachrichtigungen bereitgestellt und die Konstruktion und Struktur der Nachricht vom Nutzer abstrahiert.

Zusammenfassung

Dies ist eine kompaktere Version einer ähnlichen Klasse in MessageDef.cpp, die darauf abzielt, auf die Flash- und RAM-Anforderungen des Geräts zu reagieren.

Öffentliche Funktionen

Checkpoint(TLV::TLVWriter & aPoint)
Prüfpunkt den Anfragestatus in einen TLVWriter.
EndDataList()
Beenden Sie die Konstruktion des Datenlistenarrays.
EndEventList()
Beenden Sie die Erstellung der Ereignisliste.
EndNotifyRequest()
Beenden Sie die Bauarbeiten der Benachrichtigung.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Initialisiert den Builder.
MoveToState(NotifyRequestBuilderState aDesiredState)
Die Funktion für den Hauptzustandsübergang.
Rollback(TLV::TLVWriter & aPoint)
Rollback des Anfragestatus in den TLVWriter mit Prüfpunkt durchführen.
StartDataList(void)
Beginnt mit der Konstruktion des Datenlistenarrays.
StartEventList()
Beginnt mit dem Erstellen der Ereignisliste.
StartNotifyRequest()
Beginnen Sie mit der Erstellung der Benachrichtigung.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Schreiben Sie das mit diesem Pfad verknüpfte Datenelement für einen Trait-Pfad aus.

Öffentliche Funktionen

Checkpoint

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Prüft den Anfragestatus auf einen TLVWriter.

Details
Parameter
[out] aPoint
Writer, in den der Status des TLV-Autors eingecheckt werden soll.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.

EndDataList

WEAVE_ERROR EndDataList()

Beenden Sie die Erstellung des Datenlistenarrays.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Die Anfrage befindet sich nicht im DataList-Container.
other
Das Ende der Datenliste kann nicht erstellt werden.

EndEventList

WEAVE_ERROR EndEventList()

Beenden Sie die Erstellung der Ereignisliste.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Die Anfrage befindet sich nicht im EventList-Container.
other
Das Ende der Datenliste kann nicht erstellt werden.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Beenden Sie die Bauarbeiten der Benachrichtigung.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Die Anfrage befindet sich nicht im Container „Benachrichtigen“.
other
Das Ende der Benachrichtigung kann nicht erstellt werden.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

WEAVE_ERROR Init(
  PacketBuffer *aBuf,
  TLV::TLVWriter *aWriter,
  SubscriptionHandler *aSubHandler,
  uint32_t aMaxPayloadSize
)

Initialisiert den Builder.

Sollte nur einmal aufgerufen werden.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Der Builder konnte nicht initialisiert werden.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Die Funktion für den Hauptzustandsübergang.

Die Funktion nimmt den gewünschten Status an (d.h. die Phase des Benachrichtigungs-Request-Builders, die wir erreichen möchten) und versetzt die Anfrage in diesen Status. Wenn der gewünschte Zustand mit dem aktuellen Zustand übereinstimmt, passiert nichts. Andernfalls wird ein PacketBuffer zugewiesen (falls erforderlich). Die Funktion überführt die Anfrage zuerst in die übergeordnete Benachrichtigungsanfrage (entweder durch Öffnen der TLV-Struktur für Benachrichtigungsanfragen oder Schließen des aktuellen TLV-Datencontainers) und ändert dann die Notify-Anfrage entweder durch Öffnen des entsprechenden TLV-Datencontainers oder durch Schließen der übergreifenden Notify-Anfrage.

Details
Parameter
aDesiredState
Der gewünschte Status, in den die Anfrage wechseln soll
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NO_MEMORY
Wechsel zu Status aufgrund unzureichenden Speichers nicht möglich.
WEAVE_ERROR_INCORRECT_STATE
Beschädigung des internen Zustandsautomaten
other
Wenn der Zustandsautomat den Status nicht in seinem Zwischenspeicher aufzeichnen konnte, weist dies wahrscheinlich auf einen Designfehler und nicht auf ein Laufzeitproblem hin.

Rollback

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Rollback des Anfragestatus in den TLVWriter mit Prüfpunkt durchführen.

Details
Parameter
[in] aPoint
Ein Autor, der den Bundesstaat zu einem früheren Zeitpunkt aufgenommen hat
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Beginnt mit der Konstruktion des Datenlistenarrays.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Die Anfrage befindet sich nicht im Container für Benachrichtigungen.
other
Der Anfang der Datenliste kann nicht erstellt werden.

StartEventList

WEAVE_ERROR StartEventList()

Beginnt mit dem Erstellen der Ereignisliste.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Die Anfrage befindet sich nicht im Container für Benachrichtigungen.
other
Der Anfang der Datenliste kann nicht erstellt werden.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Beginnen Sie mit der Erstellung der Benachrichtigung.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INCORRECT_STATE
Wenn sich die Anfrage nicht auf der obersten Ebene des Zwischenspeichers befindet.
other
Das Ende der Benachrichtigung kann nicht erstellt werden.

WriteDataElement

WEAVE_ERROR WriteDataElement(
  TraitDataHandle aTraitDataHandle,
  PropertyPathHandle aPropertyPathHandle,
  SchemaVersion aSchemaVersion,
  PropertyPathHandle *aMergeDataHandleSet,
  uint32_t aNumMergeDataHandles,
  PropertyPathHandle *aDeleteHandleSet,
  uint32_t aNumDeleteHandles
)

Schreiben Sie das mit diesem Pfad verknüpfte Datenelement für einen Trait-Pfad aus.

Der Aufrufer kann optional auch einen Handle-Satz übergeben, um den Zusammenführungsvorgang mit einer engeren Gruppe von unmittelbar untergeordneten Knoten des Handles des übergeordneten Property-Pfads zu nutzen.

Details
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
other
Das Datenelement kann nicht abgerufen und geschrieben werden.