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

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

Ten obiekt koduje ładunki WDM UpdateRequest i PartialUpdateRequest.

Podsumowanie

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

Kodowanie jest wykonywane synchronicznie przez metodę EncodeRequest. Jedyną publiczną metodą jest InsertInProgressUpdateItem, która jest wywoływana przez SchemaEngine, gdy trzeba przenieść słownik z powrotem do kolejki.

Konstruktorzy i niszczyciele

UpdateEncoder()
~UpdateEncoder()

Funkcje publiczne

EncodeRequest(Context & aContext)
Zakoduj ładunek żądania aktualizacji WDM.
InsertInProgressUpdateItem(const TraitPath & aItem)
Dodaj ścieżkę prywatną do listy uruchomionych ścieżek i wstaw ją po tej, która jest w danym momencie kodowana.

Konstrukcja

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

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

Funkcje publiczne

EncodeRequest

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Zakoduj ładunek żądania aktualizacji WDM.

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

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 mógł się zmieścić w ładunku.
WEAVE_ERROR_INVALID_ARGUMENT
Element aContext został zainicjowany z nieprawidłowymi wartościami.
other
Inne błędy z obiektów niższego poziomu (TLVWriter, SchemaEngine itp.).

InsertInProgressUpdateItem

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Dodaj ścieżkę prywatną do listy uruchomionych ścieżek i wstaw ją po tej, która jest w danym momencie kodowana.

Ta metoda powinna być wywoływana przez SchemaEngine podczas przemierzania drzewa schematów i w celu wypchnięcia słowników z powrotem na listę.

Szczegóły
Parametry
[in] aItem
TraitPath, która ma być wstawiana do kodowanej listy.
Zwracane wartości
WEAVE_NO_ERROR
Element został wstawiony.
WEAVE_NO_MEMORY
W TraitPathStore brakuje miejsca do wstawienia elementu.

UpdateEncoder

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()