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

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

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

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

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

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

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

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

type
uint8_t
Тип хеша, значение, которое будет получено из IntegrityTypes .
value [64]
uint8_t
Последовательность байтов переменной длины, содержащая значение целостности образа программного обеспечения, идентифицируемого полем URI.

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

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

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

parse ( MessageIterator &, IntegritySpec &)
Десериализовать объект из предоставленного MessageIterator в предоставленный IntegritySpec .

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

тип

uint8_t type

Тип хеша, значение, которое будет получено из IntegrityTypes .

ценить

uint8_t value[64]

Последовательность байтов переменной длины, содержащая значение целостности образа программного обеспечения, идентифицируемого полем URI.

Значение целостности вычисляется путем применения функции целостности, указанной типом целостности, к содержимому образа обновления программного обеспечения, доступ к которому осуществляется по URI, указанному выше. Спецификация целостности позволяет клиенту подтвердить, что загруженное изображение соответствует изображению, указанному в этом ответе.

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

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

 IntegritySpec()

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

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

инициализация

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

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

Подробности
Параметры
[in] aType
Значение типа целостности, полученное из IntegrityTypes.
[in] aValue
Хэш-значение соответствующей длины, представленное в виде упакованной строки байтов.
Возврат
WEAVE_NO_ERROR В случае успеха
Возврат
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Если предоставленный тип целостности не является одним из значений, указанных в IntegrityTypes

оператор==

bool operator==(
  const IntegritySpec &
) const 

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

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

пакет

WEAVE_ERROR pack(
  MessageIterator &
)

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

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

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

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

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Десериализовать объект из предоставленного MessageIterator в предоставленный IntegritySpec .

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