нл:: Переплетение:: Профили:: DataManagement_Current:: Обновлениеэнкодера

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

Этот объект кодирует полезные данные WDM UpdateRequest и PartialUpdateRequest.

Краткое содержание

Обратите внимание, что оба запроса имеют одинаковый формат; они различаются только типом сообщения, который выходит за рамки этого объекта.

Кодирование выполняется синхронно методом EncodeRequest. Единственный другой общедоступный метод — это InsertInProgressUpdateItem, который вызывается SchemaEngine, когда ему необходимо вернуть словарь в очередь.

Конструкторы и деструкторы

UpdateEncoder ()
~UpdateEncoder ()

Общественные функции

EncodeRequest ( Context & aContext)
Закодируйте полезные данные запроса на обновление WDM.
InsertInProgressUpdateItem (const TraitPath & aItem)
Добавьте частный путь в список текущих путей, вставив его после того, который кодируется в данный момент.

Структуры

nl:: Weave:: Profiles:: DataManagement_Current:: UpdateEncoder:: Контекст

Эта структура содержит аргументы ввода-вывода метода EncodeRequest.

Общественные функции

Кодировать запрос

WEAVE_ERROR EncodeRequest(
  Context & aContext
)

Закодируйте полезные данные запроса на обновление WDM.

См. UpdateEncoder::Context . Длина данных PacketBuffer обновляется только в случае успеха, но содержимое буфера не сохраняется.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
По крайней мере один элемент DataElement был закодирован в DataList полезных данных.
WEAVE_ERROR_BUFFER_TOO_SMALL
Первый элемент DataElement не смог поместиться в полезную нагрузку.
WEAVE_ERROR_INVALID_ARGUMENT
aContext был инициализирован с недопустимыми значениями.
other
Другие ошибки объектов нижнего уровня (TLVWriter, SchemaEngine и т. д.).

Инсертеинпрогрессупдатитетем

WEAVE_ERROR InsertInProgressUpdateItem(
  const TraitPath & aItem
)

Добавьте частный путь в список текущих путей, вставив его после того, который кодируется в данный момент.

Этот метод предназначен для вызова SchemaEngine при обходе дерева схемы и необходимости вернуть словари обратно в список.

Подробности
Параметры
[in] aItem
TraitPath для вставки в кодируемый список.
Возвращаемые значения
WEAVE_NO_ERROR
Элемент был успешно вставлен.
WEAVE_NO_MEMORY
В TraitPathStore не было места для вставки элемента.

Обновлениеэнкодера

 UpdateEncoder()

~UpdateEncoder

 ~UpdateEncoder()