нл:: Переплетение:: Профили:: DataManagement_Current:: NotificationEngine:: УведомитьRequestBuilder

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

Это предоставляет вспомогательный класс для составления уведомлений и абстрагирования конструкции и структуры сообщения от его потребителей.

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

Это более компактная версия аналогичного класса, представленного в MessageDef.cpp , которая призвана быть чувствительной к потребностям флэш-памяти и оперативной памяти устройства.

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

Checkpoint ( TLV::TLVWriter & aPoint)
Проверьте состояние запроса в TLVWriter.
EndDataList ()
Завершите построение массива списка данных.
EndEventList ()
Завершить построение списка событий.
EndNotifyRequest ()
Завершить создание уведомления.
GetWriter (void)
Init (PacketBuffer *aBuf, TLV::TLVWriter *aWriter, SubscriptionHandler *aSubHandler, uint32_t aMaxPayloadSize)
Инициализирует построитель.
MoveToState ( NotifyRequestBuilderState aDesiredState)
Основная функция перехода состояний.
Rollback ( TLV::TLVWriter & aPoint)
Откат состояния запроса в TLVWriter с контрольной точкой.
StartDataList (void)
Запускает построение массива списка данных.
StartEventList ()
Запускает построение списка событий.
StartNotifyRequest ()
Запускаем построение уведомления.
WriteDataElement (TraitDataHandle aTraitDataHandle, PropertyPathHandle aPropertyPathHandle, SchemaVersion aSchemaVersion, PropertyPathHandle *aMergeDataHandleSet, uint32_t aNumMergeDataHandles, PropertyPathHandle *aDeleteHandleSet, uint32_t aNumDeleteHandles)
Учитывая путь признака, выпишите элемент данных, связанный с этим путем.

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

Контрольно-пропускной пункт

WEAVE_ERROR Checkpoint(
  TLV::TLVWriter & aPoint
)

Проверьте состояние запроса в TLVWriter.

Подробности
Параметры
[out] aPoint
Модуль записи, в котором проверяется состояние модуля записи TLV .
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.

Конддаталист

WEAVE_ERROR EndDataList()

Завершите построение массива списка данных.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос находится не в контейнере DataList.
other
Невозможно создать конец списка данных.

EndEventList

WEAVE_ERROR EndEventList()

Завершить построение списка событий.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос находится не в контейнере EventList.
other
Невозможно создать конец списка данных.

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

WEAVE_ERROR EndNotifyRequest()

Завершить создание уведомления.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос не находится в контейнере Notify.
other
Невозможно создать конец уведомления.

GetWriter

TLV::TLVWriter * GetWriter(
  void
)

Инициализировать

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

Инициализирует построитель.

Следует вызывать только один раз.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Не удалось инициализировать построитель.

Моветостате

WEAVE_ERROR MoveToState(
  NotifyRequestBuilderState aDesiredState
)

Основная функция перехода состояний.

Функция принимает желаемое состояние (т. е. фазу построителя запроса на уведомление, которой мы хотели бы достичь) и переводит запрос в это состояние. Если желаемое состояние совпадает с текущим, функция ничего не делает. В противном случае выделяется PacketBuffer (при необходимости); функция сначала переводит запрос в запрос уведомления верхнего уровня (либо открывает структуру TLV запроса уведомления, либо закрывает текущий контейнер данных TLV по мере необходимости), а затем передает запрос Notify либо путем открытия соответствующего контейнера данных TLV , либо путем закрытия всеобъемлющего контейнера данных TLV. Уведомить запрос.

Подробности
Параметры
aDesiredState
Желаемое состояние, в которое должен перейти запрос
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_NO_MEMORY
Не удалось перейти в состояние из-за недостаточности памяти.
WEAVE_ERROR_INCORRECT_STATE
Коррупция внутренней государственной машины.
other
Когда конечный автомат не может записать состояние в свой буфер, это, скорее всего, указывает на недостаток конструкции, а не на проблему во время выполнения.

Откат

WEAVE_ERROR Rollback(
  TLV::TLVWriter & aPoint
)

Откат состояния запроса в TLVWriter с контрольной точкой.

Подробности
Параметры
[in] aPoint
Писатель, запечатлевший государство в какой-то момент в прошлом
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.

Стартдаталист

WEAVE_ERROR StartDataList(
  void
)

Запускает построение массива списка данных.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос не находится в контейнере Notify.
other
Невозможно создать начало списка данных.

StartEventList

WEAVE_ERROR StartEventList()

Запускает построение списка событий.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос не находится в контейнере Notify.
other
Невозможно создать начало списка данных.

Стартнотифиреквест

WEAVE_ERROR StartNotifyRequest()

Запускаем построение уведомления.

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_INCORRECT_STATE
Если запрос находится не на верхнем уровне буфера.
other
Невозможно создать конец уведомления.

WriteDataElement

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

Учитывая путь признака, выпишите элемент данных, связанный с этим путем.

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

Подробности
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
other
Невозможно получить и записать элемент данных.