нл:: Переплетение:: Профили:: Обновление программного обеспечения:: ImageQueryResponse

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

Класс для поддержки создания и декодирования сообщений ответа на запрос изображения.

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

Ответное сообщение на запрос изображения имеет форму:

Длина Имя поля
переменная URI
переменная Спецификация версии
переменная Спецификация целостности
1 байт Обновить схему
1 байт Обновить параметры
Формат поля (необязательного) параметров обновления следующий:

Кусочек Значение
0..2 Обновить приоритет
3..4 Обновить условие
5 Статус отчета. Если этот параметр установлен, клиенту предлагается создать дополнительные сообщения DownloadNotify и UpdateNotify.
5..7 Сдержанный
Ответ на запрос изображения отправляется только в том случае, если запрос изображения обрабатывается успешно и создает изображение для загрузки. Сообщение представляет собой инструкции загрузки для узла, отправившего запрос. Обратите внимание, что в случаях, когда серверу не удается обработать запрос изображения, он должен генерировать статус запроса изображения.

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

ImageQueryResponse ()
Конструктор по умолчанию для ImageQueryResponse .

Публичные атрибуты

integritySpec
Поле, содержащее информацию о целостности (тип целостности и хэш) для образа обновления программного обеспечения.
reportStatus
bool
Запрос на информирование сервера о ходе обновления программного обеспечения с помощью дополнительных сообщений DownloadNotify и UpdateNotify.
updateCondition
Инструкции относительно условий, при которых можно продолжить обновление программного обеспечения.
updatePriority
Инструкции, указывающие устройству, когда следует выполнять обновление программного обеспечения.
updateScheme
uint8_t
Схема обновления, которая будет использоваться для загрузки образа обновления программного обеспечения.
uri
Строка UTF-8 переменной длины, содержащая расположение образа программного обеспечения.
versionSpec
Строка UTF-8 переменной длины, содержащая идентификатор версии программного обеспечения, зависящий от поставщика.

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

init ( ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority , UpdateCondition , bool)
Явно инициализируйте объект ImageQueryResponse с предоставленными значениями.
operator== (const ImageQueryResponse &) const
bool
Оператор равенства.
pack (PacketBuffer *)
Сериализуйте ImageQueryResponse в предоставленный PacketBuffer.
print (void)
void

Публичные статические функции

parse (PacketBuffer *, ImageQueryResponse &)
Десериализовать ответное сообщение на запрос изображения, предоставленное в PacketBuffer, в предоставленный ImageQueryResponse .

Публичные атрибуты

Спецификация целостности

IntegritySpec integritySpec

Поле, содержащее информацию о целостности (тип целостности и хэш) для образа обновления программного обеспечения.

отчетстатус

bool reportStatus

Запрос на информирование сервера о ходе обновления программного обеспечения с помощью дополнительных сообщений DownloadNotify и UpdateNotify.

обновлениеУсловие

UpdateCondition updateCondition

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

обновлениеприоритет

UpdatePriority updatePriority

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

updateScheme

uint8_t updateScheme

Схема обновления, которая будет использоваться для загрузки образа обновления программного обеспечения.

Его значение извлекается из UpdateSchemes .

ури

ReferencedString uri

Строка UTF-8 переменной длины, содержащая расположение образа программного обеспечения.

Содержимое этой строки должно соответствовать спецификации RFC 3986. Для схем обновления, соответствующих четко определенному интернет-протоколу (HTTP, HTTPS, SFTP), элемент схемы URI ДОЛЖЕН соответствовать каноническому кодированию URL для этой схемы протокола. Длина строки не должна превышать 65565, и она должна умещаться в одном сообщении Weave, на которое могут распространяться ограничения MTU.

спецификация версии

ReferencedString versionSpec

Строка UTF-8 переменной длины, содержащая идентификатор версии программного обеспечения, зависящий от поставщика.

Длина строки не должна превышать 256 байт.

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

ImageQueryResponse

 ImageQueryResponse()

Конструктор по умолчанию для ImageQueryResponse .

ImageQueryResponse может быть заполнен с помощью метода init() или путем десериализации объекта из сообщения.

в этом

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Явно инициализируйте объект ImageQueryResponse с предоставленными значениями.

Подробности
Параметры
[in] aUri
URI, по которому можно найти новый образ встроенного ПО.
[in] aVersion
Строка версии для этого изображения.
[in] aIntegrity
Спецификация целостности, соответствующая новому образу.
[in] aScheme
Схема обновления, используемая при загрузке.
[in] aPriority
Приоритет обновления, связанный с этим обновлением.
[in] aCondition
Условие, при котором выполняется обновление.
[in] aReportStatus
Если значение true, клиент отправляет отчет после загрузки и обновления, в противном случае клиент не будет сообщать.
Возврат
WEAVE_NO_ERROR Безусловно.

оператор==

bool operator==(
  const ImageQueryResponse &
) const 

Оператор равенства.

Подробности
Параметры
another
ImageQueryResponse для проверки на соответствие этому ImageQueryResponse.
Возврат
true, если все поля в обоих объектах равны, в противном случае false

пакет

WEAVE_ERROR pack(
  PacketBuffer *
)

Сериализуйте ImageQueryResponse в предоставленный PacketBuffer.

Подробности
Параметры
[in] aBuffer
Буфер пакетов, в который упаковывается ответ на запрос.
Возвращаемые значения
WEAVE_NO_ERROR
Об успехе.
WEAVE_ERROR_BUFFER_TOO_SMALL
Если ImageQueryResponse слишком велик и не помещается в предоставленный буфер.

Распечатать

void print(
  void
)

Публичные статические функции

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

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Десериализовать ответное сообщение на запрос изображения, предоставленное в PacketBuffer, в предоставленный ImageQueryResponse .

Подробности
Параметры
[in] aBuffer
Указатель на пакет, из которого можно проанализировать запрос изображения.
[in] aResponse
Объект, в который помещается результат
Возврат
WEAVE_NO_ERROR В случае успеха
Возврат
WEAVE_ERROR_BUFFER_TOO_SMALL Если сообщение слишком мало и не может содержать все поля ImageQuery .
Возврат
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Если предоставленный тип целостности не является одним из значений, указанных в IntegrityTypes