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

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

Ten obiekt koduje ładunki UpdateRequest WDM i PartialUpdateRequest.

Podsumowanie

Pamiętaj, że oba żądania mają ten sam format. różnią się tylko typem wiadomości, który jest poza zakresem tego obiektu.

Kodowanie odbywa się synchronicznie przez metodę EncodeRequest. Jedyną inną metodą publiczną jest InsertInProgressUpdateItem, który jest wywoływany przez SchemaEngine, gdy musi przesłać słownik z powrotem do kolejki.

Konstruktory i niszczyciele

UpdateEncoder()
~UpdateEncoder()

Funkcje publiczne

EncodeRequest(Context & aContext)
Zakoduj ładunek żądania aktualizacji WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Dodaj ścieżkę prywatną na liście trwających ścieżek, wstawiając ją po ścieżce kodowanej w danej chwili.

Struktura

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

Ta struktura zawiera argumenty wejścia-wyjścia dla metody EncodeRequest.

Funkcje publiczne

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Zakoduj ładunek żądania aktualizacji WDM.

Zobacz UpdateEncoder::Context. Długość danych PacketBuffer jest aktualizowana tylko w przypadku powodzenia, ale zawartość bufora nie zostaje zachowana.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
Co najmniej 1 element DataElement został zakodowany na liście DataList ładunku.
WEAVE_ERROR_BUFFER_TOO_SMALL
Pierwszy element DataElement nie zmieścił się w ładunku.
WEAVE_ERROR_INVALID_ARGUMENT
Zainicjowano kontekst aContext z użyciem nieprawidłowych wartości.
other
Inne błędy pochodzące z obiektów niższego poziomu (TLVWriter, SchemaEngine itp.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Dodaj ścieżkę prywatną na liście trwających ścieżek, wstawiając ją po ścieżce kodowanej w danej chwili.

Ta metoda ma być wywoływana przez SchemaEngine, gdy przemierza drzewo schematów i musi przenieść słowniki z powrotem na listę.

Szczegóły
Parametry
[in] aItem
Wartość TraitPath do wstawienia do kodowanej listy.
Zwracane wartości
WEAVE_NO_ERROR
Element został wstawiony.
WEAVE_NO_MEMORY
W TraitPathStore zabrakło miejsca, w którym można było wstawić element.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()