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

Это пространство имен включает в себя все интерфейсы внутри Weave для профиля обновления программного обеспечения Weave, который включает соответствующий одноименный протокол.

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

Перечисления

@309 {
kMsgType_ImageAnnounce = 0,
kMsgType_ImageQuery = 1,
kMsgType_ImageQueryResponse = 2,
kMsgType_DownloadNotify = 3,
kMsgType_NotifyResponse = 4,
kMsgType_UpdateNotify = 5,
kMsgType_ImageQueryStatus = 6
}
перечисление
Типы сообщений SoftwareUpdate .
@310 {
kStatus_NoUpdateAvailable = 0x0001,
kStatus_UpdateFailed = 0x0010,
kStatus_InvalidInstructions = 0x0050,
kStatus_DownloadFailed = 0x0051,
kStatus_IntegrityCheckFailed = 0x0052,
kStatus_Abort = 0x0053,
kStatus_Retry = 0x0091
}
перечисление
@311 {
kFlag_PackageSpecPresent = 1,
kFlag_LocaleSpecPresent = 2,
kFlag_TargetNodeIdPresent = 4
}
перечисление
Флаги управления для поля управления кадра ImageQuery .
@312 перечисление
Битовые маски для дополнительного поля параметров обновления ImageQueryResponse .
@313 перечисление
Смещения сдвига для дополнительного поля параметров обновления ImageQueryResponse .
@314 {
kIntegrityType_SHA160 = 0,
kIntegrityType_SHA256 = 1,
kIntegrityType_SHA512 = 2,
kIntegrityType_Last = 3
}
перечисление
@315 перечисление
Длина в байтах байтовых строк спецификации целостности.
@316 {
kUpdateScheme_HTTP = 0,
kUpdateScheme_HTTPS = 1,
kUpdateScheme_SFTP = 2,
kUpdateScheme_BDX = 3,
kUpdateScheme_Last = 4
}
перечисление
@317 перечисление
Теги элементов данных для профиля SoftwareUpdate .
UpdateCondition {
IfUnmatched ,
IfLater ,
Unconditionally ,
OnOptIn
}
перечисление
Условия, регулирующие политику обновления.
UpdatePriority {
Normal ,
Critical
}
перечисление
Обновите приоритеты.

Функции

integrityLength (uint8_t aType)
int
Метод поддержки, сопоставляющий значения IntegrityTypes с длинами хэшей этого типа.

Классы

nl:: Weave:: Profiles:: SoftwareUpdate:: IWeaveImageAnnounceServerDelegate

Интерфейс для делегата WeaveImageAnnounceServer .

nl:: Weave:: Profiles:: SoftwareUpdate:: ImageAnnounce

Класс, описывающий сообщение ImageAnnounce .

nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery

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

nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQueryResponse

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

nl:: Weave:: Profiles:: SoftwareUpdate:: IntegritySpec

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

nl:: Weave:: Profiles:: SoftwareUpdate:: IntegrityTypeList

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

nl:: Weave:: Профили:: SoftwareUpdate:: ProductSpec

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

nl:: Weave:: Profiles:: SoftwareUpdate:: UpdateSchemeList

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

nl:: Weave:: Profiles:: SoftwareUpdate:: WeaveImageAnnounceServer

Сервер, который прослушивает объявления изображений Weave.

Перечисления

@309

 @309

Типы сообщений SoftwareUpdate .

Характеристики
kMsgType_DownloadNotify

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

Его полезная нагрузка — это nl::Weave::Profiles::StatusReporting::StatusReport с дополнительной информацией о статусе, полученной из SoftwareUpdateStatusCodes .

kMsgType_ImageAnnounce

Необязательное незапрашиваемое сообщение, используемое сервером для объявления о доступности обновления программного обеспечения.

Сообщение не несет никакой полезной нагрузки.

kMsgType_ImageQuery

Сообщение запроса, отправленное клиентом на сервер.

Его формат определяется классом ImageQuery .

kMsgType_ImageQueryResponse

Сообщение, созданное в ответ на сообщение об успешном запросе изображения.

Его формат определяется классом ImageQueryResponse .

kMsgType_ImageQueryStatus

Сообщение, созданное в ответ на сообщение об ошибке запроса изображения.

Его полезная нагрузка — это nl::Weave::Profiles::StatusReporting::StatusReport с дополнительной информацией о статусе, полученной из SoftwareUpdateStatusCodes .

kMsgType_NotifyResponse

Сообщение, созданное в ответ на сообщение с уведомлением о загрузке.

Его полезная нагрузка — это nl::Weave::Profiles::StatusReporting::StatusReport с дополнительной информацией о статусе, полученной из SoftwareUpdateStatusCodes .

kMsgType_UpdateNotify

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

Его полезная нагрузка — это nl::Weave::Profiles::StatusReporting::StatusReport с дополнительной информацией о статусе, полученной из SoftwareUpdateStatusCodes . Поскольку ожидается, что сообщение будет создано после фактического обновления, оно отправляется в новом ExchangeContext и обрабатывается на сервере как незапрошенное сообщение.

@310

 @310

Коды состояния, специфичные для профиля SoftwareUpdate .

Характеристики
kStatus_Abort

сервер => клиент, указывает, что клиент должен сдаться, поскольку у сервера нет вариантов.

kStatus_DownloadFailed

клиент => сервер, указывает, что попытка загрузки не удалась.

kStatus_IntegrityCheckFailed

клиент => сервер указывает, что изображение было загружено, но не прошло последующую проверку целостности.

kStatus_InvalidInstructions

клиент => сервер, указывает, что клиент не смог загрузить изображение, поскольку инструкции по загрузке содержатся в ImageQueryResponse , т.е.

URI, схема обновления, условие обновления были плохо сформированы или противоречивы.

kStatus_NoUpdateAvailable

сервер => клиент, указывает, что запрос изображения был получен и понят и что на данный момент на сервере нет обновлений для клиента.

kStatus_Retry

сервер => клиент, указывает, что клиент должен отправить еще один запрос изображения и перезапустить/продолжить обновление.

kStatus_UpdateFailed

клиент => сервер, указывает на то, что попытка установить образ, указанный сервером, не удалась.

@311

 @311

Флаги управления для поля управления кадра ImageQuery .

Характеристики
kFlag_LocaleSpecPresent

Спецификация локали присутствует в ImageQuery .

kFlag_PackageSpecPresent

Спецификация пакета присутствует в ImageQuery .

kFlag_TargetNodeIdPresent

Идентификатор целевого узла присутствует в ImageQuery .

@312

 @312

Битовые маски для дополнительного поля параметров обновления ImageQueryResponse .

@313

 @313

Смещения сдвига для дополнительного поля параметров обновления ImageQueryResponse .

@314

 @314

Типы целостности, поддерживаемые профилем SoftwareUpdate .

Кадр запроса изображения содержит информацию о том, какую проверку целостности поддерживает клиент, а ответ на запрос изображения содержит тип целостности и значение для изображения, которое клиенту поручено загрузить и установить. Поддерживаемые типы:

Характеристики
kIntegrityType_Last

Количество допустимых элементов в перечислении.

kIntegrityType_SHA160

Требуется 160-битный безопасный хэш (SHA-1).

kIntegrityType_SHA256

256-битный безопасный хэш (SHA-2).

kIntegrityType_SHA512

512-битный безопасный хэш (SHA-2).

@315

 @315

Длина в байтах байтовых строк спецификации целостности.

@316

 @316

Схемы обновления, поддерживаемые профилем SofwareUpdate.

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

Характеристики
kUpdateScheme_BDX

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

kUpdateScheme_HTTP

В качестве протокола загрузки будет использоваться HTTP.

kUpdateScheme_HTTPS

В качестве протокола загрузки будет использоваться HTTPS.

kUpdateScheme_Last

Количество допустимых элементов в перечислении.

kUpdateScheme_SFTP

В качестве протокола загрузки будет использоваться SFTP.

@317

 @317

Теги элементов данных для профиля SoftwareUpdate .

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

 UpdateCondition

Условия, регулирующие политику обновления.

Характеристики
IfLater

Загрузите и установите образ, если спецификация версии в ответном фрейме более поздняя, ​​чем версия программного обеспечения, установленная в данный момент.

IfUnmatched

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

OnOptIn

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

Unconditionally

Загрузите и установите образ независимо от текущей версии программного обеспечения.

ОбновлениеПриоритет

 UpdatePriority

Обновите приоритеты.

Характеристики
Critical

Обновление должно быть выполнено немедленно.

Normal

Обновление может быть выполнено по усмотрению клиента.

Функции

целостностьдлина

int integrityLength(
  uint8_t aType
)

Метод поддержки, сопоставляющий значения IntegrityTypes с длинами хэшей этого типа.

Подробности
Параметры
[in] aType
Значение IntegrityTypes
Возврат
Длина хеша предоставленного типа хеша.