нл:: Переплетение:: Профили:: Обновление программного обеспечения:: 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 с предоставленными значениями.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возврат | WEAVE_NO_ERROR Безусловно. |
оператор==
bool operator==( const ImageQueryResponse & ) const
Оператор равенства.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | true, если все поля в обоих объектах равны, в противном случае — false |
пакет
WEAVE_ERROR pack( PacketBuffer * )
Сериализуйте ImageQueryResponse в предоставленный PacketBuffer.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
распечатать
void print( void )
Публичные статические функции
анализировать
WEAVE_ERROR parse( PacketBuffer *, ImageQueryResponse & )
Десериализовать ответное сообщение на запрос изображения, предоставленное в PacketBuffer, в предоставленный ImageQueryResponse .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR В случае успеха | ||||
Возврат | WEAVE_ERROR_BUFFER_TOO_SMALL Если сообщение слишком мало и не может содержать все поля ImageQuery. | ||||
Возврат | WEAVE_ERROR_INVALID_INTEGRITY_TYPE Если предоставленный тип целостности не является одним из значений, указанных в IntegrityTypes |