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

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

Zapewnia to klasę pomocniczą do tworzenia powiadomień i odebrania konstrukcji i struktury wiadomości od konsumentów.

Podsumowanie

Jest to bardziej kompaktowa wersja podobnej klasy udostępnianej w MessageDef.cpp, która ma odzwierciedlać potrzeby urządzenia związane z pamięcią flash i pamięcią RAM.

Funkcje publiczne

Checkpoint(TLV::TLVWriter & aPoint)
Punkt kontroli stanu żądania w programie TLVWriter.
EndDataList()
Zakończenie budowy tablicy z listą 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 kreator.
MoveToState(NotifyRequestBuilderState aDesiredState)
Funkcja przejścia głównego stanu.
Rollback(TLV::TLVWriter & aPoint)
Przywróć stan żądania do obiektu TLVWriter z punktem kontrolnym.
StartDataList(void)
Rozpoczyna tworzenie tablicy z listą 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)
Mając ścieżkę cech, zapisz powiązany z nią element danych.

Funkcje publiczne

Punkt kontroli

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Punkt kontroli stanu żądania w programie TLVWriter.

Szczegóły
Parametry
[out] aPoint
Zapisujący, w którym ma być określony stan zapisującego TLV.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.

EndDataList

WEAVE_ERROR EndDataList()

Zakończenie budowy tablicy z listą danych.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze DataList.
other
Nie udało się utworzyć końca listy danych.

EndEventList

WEAVE_ERROR EndEventList()

Zakończ tworzenie listy zdarzeń.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze EventList.
other
Nie udało się utworzyć końca listy danych.

EndNotifyRequest

WEAVE_ERROR EndNotifyRequest()

Zakończ tworzenie powiadomienia.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądanie nie znajduje się w kontenerze Powiadom.
other
Nie udało się utworzyć końca powiadomienia.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Init

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

Inicjuje kreator.

Należy wywołać tylko raz.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
other
Nie udało się zainicjować kreatora.

MoveToState

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Funkcja przejścia głównego stanu.

Funkcja przyjmuje pożądany stan (tj. etap konstruktora żądań powiadamiania, do którego chcemy dotrzeć) i przenosi żądanie do tego stanu. Jeśli żądany stan jest taki sam jak obecny, funkcja nie wykonuje żadnego działania. W przeciwnym razie przydzielony jest bufor PacketBuffer (w razie potrzeby). funkcja najpierw przenosi żądanie do żądania powiadomienia najwyższego poziomu (otwierając strukturę TLV żądania powiadomienia lub zamyka w razie potrzeby bieżący kontener danych TLV), a następnie przenosi żądanie Notify, otwierając odpowiedni kontener danych TLV lub zamykając ogólne żądanie Notify.

Szczegóły
Parametry
aDesiredState
Pożądany stan, na który żądanie powinno zostać zmienione
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_NO_MEMORY
Nie można przejść do tego stanu z powodu niewystarczającej ilości pamięci.
WEAVE_ERROR_INCORRECT_STATE
Uszkodzenie wewnętrznego maszyny stanu.
other
Gdy maszyna stanowa nie mogła zapisać stanu w buforze, prawdopodobnie oznacza to błąd projektowy, a nie problem w czasie działania.

Przywróć

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Przywróć stan żądania do obiektu TLVWriter z punktem kontrolnym.

Szczegóły
Parametry
[in] aPoint
Pisarz, który uchwycił stan w przeszłości
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.

StartDataList

WEAVE_ERROR StartDataList(
  void
)

Rozpoczyna tworzenie tablicy z listą danych.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze Powiadom.
other
Nie udało się utworzyć początku listy danych.

StartEventList

WEAVE_ERROR StartEventList()

Rozpoczyna tworzenie listy zdarzeń.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INCORRECT_STATE
Jeśli żądania nie ma w kontenerze Powiadom.
other
Nie udało się utworzyć początku listy danych.

StartNotifyRequest

WEAVE_ERROR StartNotifyRequest()

Rozpocznij tworzenie powiadomienia.

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

WriteDataElement

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

Mając ścieżkę cech, zapisz powiązany z nią element danych.

Element wywołujący może też opcjonalnie przekazać zestaw uchwytów, co pozwala wykorzystać operację scalania z węższym zbiorem bezpośrednich węzłów podrzędnych uchwytu ścieżki usługi nadrzędnej.

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