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

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

Jest to klasa pomocnicza umożliwiająca utworzenie powiadomień, które mogą wyodrębnić konstrukcję i strukturę przekazu z perspektywy klienta.

Podsumowanie

Jest to bardziej kompaktowa wersja podobnej klasy dostępnej w pliku MessageDef.cpp, która uwzględnia wymagania urządzenia dotyczące pamięci flash i ramki RAM.

Funkcje publiczne

Checkpoint(TLV::TLVWriter & aPoint)
Punkt kontroli stanu żądania w obiekcie TLVWriter.
EndDataList()
Zakończ konstrukcję tablicy listy danych.
EndEventList()
Zakończ tworzenie listy zdarzeń.
EndNotifyRequest()
Zakończ tworzenie powiadomienia.
GetWriter(void)
Init(PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Inicjuje konstruktora.
MoveToState(NotifyRequestBuilderState aDesiredState)
Główna funkcja przełączania stanu.
Rollback(TLV::TLVWriter & aPoint)
Przywróć stan żądania do punktu kontrolnego TLVWriter.
StartDataList(void)
Rozpoczyna konstrukcję tablicy listy danych.
StartEventList()
Rozpoczyna tworzenie listy zdarzeń.
StartNotifyRequest()
Rozpocznij tworzenie powiadomienia.
WriteDataElement(TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Z uwzględnieniem ścieżki cechy zapisz element danych, który jest z nią powiązany.

Funkcje publiczne

Punkt kontroli

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Punkt kontroli stanu żądania w obiekcie TLVWriter.

Szczegóły
Parametry
[out] aPoint
Pisarz do punktu kontrolnego stanu zapisującego TLV.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.

EndDataList

WEAVE_ERROR EndDataList()

Zakończ konstrukcję tablicy listy danych.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądanie nie znajduje się w kontenerze DataList.
other
Nie można utworzyć końca listy danych.

EndEventList

WEAVE_ERROR EndEventList()

Zakończ tworzenie listy zdarzeń.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądanie nie znajduje się w kontenerze EventList.
other
Nie można utworzyć końca listy danych.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Zakończ tworzenie powiadomienia.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze Powiadom.
other
Nie można utworzyć końca powiadomienia.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Zainicjuj

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

Inicjuje konstruktora.

Należy wywołać je tylko raz.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
other
Nie udało się zainicjować konstruktora.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Główna funkcja przełączania stanu.

Funkcja osiąga odpowiedni stan (tj. etap powiadamiania konstruktora żądań, do którego ma dotrzeć) i przenosi żądanie do tego stanu. Jeśli żądany stan jest taki sam jak bieżący, funkcja nie wykonuje żadnych działań. W przeciwnym razie przydzielony jest obiekt PacketBuffer (w razie potrzeby). Funkcja najpierw przenosi żądanie do żądania powiadomienia najwyższego poziomu (otwierając strukturę TLV żądania powiadomienia lub w razie potrzeby zamykając bieżący kontener danych TLV), a następnie przenosi żądanie powiadomienia, otwierając odpowiedni kontener danych TLV lub zamykając nadrzędne żądanie Notify.

Szczegóły
Parametry
aDesiredState
Żądany stan, do którego powinno przejść żądanie
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_NO_MEMORY
Nie udało się przejść do stanu z powodu niewystarczającej ilości pamięci.
WEAVE_ERROR_INCORRECT_STATE
Uszkodzenie wewnętrznego stanu maszyny.
other
Gdy maszyna stanowa nie może zarejestrować stanu w buforze, prawdopodobnie oznacza to błąd projektowy, a nie problem ze środowiskiem wykonawczym.

Przywróć

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Przywróć stan żądania do punktu kontrolnego TLVWriter.

Szczegóły
Parametry
[in] aPoint
Pisarz, który uchwycił państwo w przeszłości
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Rozpoczyna konstrukcję tablicy listy danych.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze Powiadom.
other
Nie można utworzyć początku listy danych.

StartEventList

WEAVE_ERROR StartEventList()

Rozpoczyna tworzenie listy zdarzeń.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze Powiadom.
other
Nie można utworzyć początku listy danych.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Rozpocznij tworzenie powiadomienia.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądanie nie znajduje się na najwyższym poziomie bufora.
other
Nie można utworzyć końca powiadomienia.

WriteDataElement

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

Z uwzględnieniem ścieżki cechy zapisz element danych, który jest z nią powiązany.

Element wywołujący może też opcjonalnie przekazać zestaw uchwytów, co pozwala korzystać z operacji scalania za pomocą węższego zestawu bezpośrednich węzłów podrzędnych uchwytu ścieżki usługi nadrzędnej.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
other
Nie udało się pobrać i zapisać elementu danych.