нл:: Переплетение:: Уровень устройства:: Менеджер обновлений программного обеспечения
Краткое содержание
Наследование
Прямые известные подклассы:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
Публичные типы | |
---|---|
ActionType { | перечисление Если доступно обновление программного обеспечения, приложение может выбрать одно из следующих действий в рамках обратного вызова события API SoftwareUpdateAvailable. |
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) | определение типаvoid(* |
EventType { | перечисление События API, генерируемые объектом SoftwareUpdateManager . |
RetryPolicyCallback )(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) | определение типаvoid(* |
State | перечисление |
Классы друзей | |
---|---|
Internal::GenericPlatformManagerImpl | friend class |
Общественные функции | |
---|---|
Abort (void) | |
CheckNow (void) | |
GetState (void) | State |
ImageInstallComplete ( WEAVE_ERROR aError) | |
IsInProgress (void) | bool |
PrepareImageStorageComplete ( WEAVE_ERROR aError) | |
SetEventCallback (void *const aAppState, const EventCallback aEventCallback) | |
SetQueryIntervalWindow (uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs) | |
SetRetryPolicyCallback (const RetryPolicyCallback aRetryPolicyCallback) | void |
Публичные статические функции | |
---|---|
DefaultEventHandler (void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam) | void |
Защищенные функции | |
---|---|
SoftwareUpdateManager ()=default | |
SoftwareUpdateManager (const SoftwareUpdateManager &)=delete | |
SoftwareUpdateManager (const SoftwareUpdateManager &&)=delete | |
operator= (const SoftwareUpdateManager &)=delete | |
~SoftwareUpdateManager ()=default |
Структуры | |
---|---|
nl:: Weave:: DeviceLayer:: SoftwareUpdateManager:: RetryParam |
Союзы | |
---|---|
nl:: Weave:: DeviceLayer:: SoftwareUpdateManager:: InEventParam | |
nl:: Weave:: DeviceLayer:: SoftwareUpdateManager:: OutEventParam |
Публичные типы
Тип действия
ActionType
Если доступно обновление программного обеспечения, приложение может выбрать одно из следующих действий в рамках обратного вызова события API SoftwareUpdateAvailable.
Действие по умолчанию будет установлено на kAction_Now.
Характеристики | |
---|---|
kAction_ApplicationManaged | Позволяет приложению управлять остальными этапами обновления программного обеспечения, такими как загрузка, проверка целостности образа и установка. Конечный автомат диспетчера обновлений программного обеспечения перейдет в состояние ApplicationManaged. Запланированные проверки обновлений программного обеспечения (если они включены) будут приостановлены до тех пор, пока приложение не вызовет API Abort или ImageInstallComplete. |
kAction_DownloadLater | Приостановить загрузку при запуске. Запланированные проверки обновлений программного обеспечения (если они включены) будут приостановлены. Конечный автомат останется в состоянии загрузки. Когда все будет готово, приложение может вызвать API возобновления загрузки, чтобы продолжить загрузку, или вызвать Abort, чтобы отменить ее. |
kAction_DownloadNow | Начните загрузку прямо сейчас. Сразу после этого будет сгенерирован обратный вызов события API kEvent_FetchPartialImageInfo. |
kAction_Ignore | Полностью игнорируйте загрузку. Обратный вызов события API kEvent_Finished будет сгенерирован с ошибкой WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED, если выбран этот параметр, и логика повтора не будет вызвана. |
Обратный вызов события
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
тип события
EventType
События API, генерируемые объектом SoftwareUpdateManager
.
Характеристики | |
---|---|
kEvent_ComputeImageIntegrity | Вычислите значение проверки целостности изображения. Запрашивает приложение вычислить значение проверки целостности загруженного изображения. Генерируется после завершения загрузки. |
kEvent_DefaultCheck | Проверьте поведение обработки событий по умолчанию. Используется для проверки правильности обработки событий по умолчанию в приложении. Приложения НЕ должны обрабатывать это событие. |
kEvent_FetchPartialImageInfo | Получить сохраненную информацию о состоянии частично загруженного изображения. Предоставляет приложению возможность раскрыть информацию о ранее загруженной части изображения, чтобы загрузку можно было продолжить с того места, где она была остановлена в последний раз. URI доступного обновления программного обеспечения предоставляется в качестве входного параметра, который приложение может использовать для сравнения, совпадает ли загружаемое изображение с частичным изображением. Ожидается, что приложение вернет длину частичного изображения в выходном параметре PartialImageLenInBytes. Приложение может установить значение PartialImageLenInBytes равным 0, чтобы указать, что части изображения не существует или что URI частичного изображения не соответствует. Приложение может игнорировать это событие, передав его обработчику событий по умолчанию. Если это сделать, система всегда будет загружать весь доступный образ прошивки. |
kEvent_Finished | Процесс обновления программного обеспечения завершен. Генерируется, когда проверка обновлений программного обеспечения завершилась с ошибками или без них. Параметры, включенные в это событие, указывают причину сбоя, если попытка завершилась из-за сбоя. |
kEvent_PrepareImageStorage | Подготовьтесь к хранению нового изображения. Запрашивает приложение выполнить любые действия, необходимые для подготовки локального хранилища для загрузки нового образа прошивки. Приложение может использовать это, например, для стирания флеш-страниц. Событие ПодготовкаImageStorage генерируется только в том случае, если загружается новый образ встроенного ПО. Когда возобновляется ранее прерванная загрузка, параметр AcceptImageStorage не создается. Приложение должно сигнализировать о завершении операции подготовки, вызывая метод Приложение может игнорировать событие ReadImageStorage, передав его обработчику событий по умолчанию. Если это будет сделано, система автоматически перейдет в состояние загрузки изображения. Чтобы поддерживать возобновление прерванной загрузки, приложение должно сохранить URI изображения (предоставленный как параметр события) и использовать его при обработке последующих событий FetchPartialImageInfo. |
kEvent_PrepareQuery | Подготовьте сообщение ImageQuery. Генерируется при запуске проверки обновлений программного обеспечения. Предоставляет приложению возможность предоставлять информацию, связанную с продуктом, в сообщение SofwareUpdate:ImageQuery. |
kEvent_PrepareQuery_Metadata | Подготовьте метаданные для запроса ImageQuery. Предоставляет приложению возможность добавлять дополнительные метаданные к сообщению SofwareUpdate:ImageQuery, если это необходимо. Генерируется, когда реализация готова получить метаданные из приложения. |
kEvent_QueryPrepareFailed | Ошибка при подготовке запроса ImageQuery. Генерируется, когда реализация обнаруживает ошибку при подготовке к отправке запроса на обновление программного обеспечения. |
kEvent_QuerySent | Запрос ImageQuery отправлен. Информационное событие, сигнализирующее об отправке сообщения SofwareUpdate:ImageQuery. |
kEvent_ReadyToInstall | Образ готов к установке. Информационное событие, сигнализирующее о том, что образ готов к установке. Создается после того, как изображение проходит проверку целостности. |
kEvent_ResetPartialImageInfo | Сбросить состояние частично загруженного изображения. Запрашивает приложение забыть сохраненное состояние, связанное с загруженным изображением. Событие ResetPartialImageInfo генерируется всякий раз, когда загруженное изображение не проходит проверку целостности. После обработки события ResetPartialImageInfo последующие события FetchPartialImageInfo должны указывать на то, что часть изображения недоступна. Обратите внимание, что при обработке события ResetPartialImageInfo приложению НЕ требуется очищать сами данные изображения, а только информацию о состоянии, связанную с изображением (т. е. URI и частичную длину изображения). Если приложение не поддерживает возобновление загрузки изображения, оно может игнорировать это событие, передав его обработчику событий по умолчанию. |
kEvent_SoftwareUpdateAvailable | Доступно обновление программного обеспечения. Генерируется, когда SofwareUpdate:ImageQueryResponse получен в ответ на запрос, содержащий информацию о доступном обновлении. |
kEvent_StartImageDownload | Загрузка изображения началась. Информационное событие, сигнализирующее о начале транзакции загрузки изображения. |
kEvent_StartInstallImage | Начните установку образа. Запрашивает у приложения процесс установки загруженного образа прошивки. |
kEvent_StoreImageBlock | Сохраните блок данных изображения. Генерируется всякий раз, когда блок данных принимается с сервера загрузки файлов. Параметры, включенные в это событие, предоставляют данные и длину данных. Чтобы поддерживать возобновление прерванной загрузки, приложение должно поддерживать постоянный подсчет общего количества сохраненных байтов изображения и использовать это значение при обработке последующих событий FetchPartialImageInfo. |
Повторить политику обратного вызова
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
Состояние
State
Классы друзей
Внутренний::ДженерикПлатформманажеримпл
friend class Internal::GenericPlatformManagerImpl
Общественные функции
Прервать
WEAVE_ERROR Abort( void )
Проверить сейчас
WEAVE_ERROR CheckNow( void )
GetState
State GetState( void )
Установка изображения завершена
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
ИсВПрогресс
bool IsInProgress( void )
Подготовка изображенияStorageComplete
WEAVE_ERROR PrepareImageStorageComplete( WEAVE_ERROR aError )
SetEventCallback
WEAVE_ERROR SetEventCallback( void *const aAppState, const EventCallback aEventCallback )
SetQueryIntervalWindow
WEAVE_ERROR SetQueryIntervalWindow( uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs )
SetRetryPolicyОбратный вызов
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
Публичные статические функции
Обработчик событий по умолчанию
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
Защищенные функции
Менеджер обновлений программного обеспечения
SoftwareUpdateManager()=default
Менеджер обновлений программного обеспечения
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
Менеджер обновлений программного обеспечения
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
оператор=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default