nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
Resumen
Herencia
Subclases directas conocidas:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
Clases de amigos |
|
---|---|
Internal::GenericPlatformManagerImpl
|
friend class
|
Funciones públicas |
|
---|---|
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
|
Funciones estáticas públicas |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
|
Funciones protegidas |
|
---|---|
SoftwareUpdateManager()=default
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
|
|
operator=(const SoftwareUpdateManager &)=delete
|
|
~SoftwareUpdateManager()=default
|
|
Structs |
|
---|---|
nl:: |
Unión |
|
---|---|
nl:: |
|
nl:: |
Tipos públicos
ActionType
ActionType
Cuando hay una actualización de software disponible, la aplicación puede elegir una de las siguientes acciones como parte de la devolución de llamada de evento de la API SoftwareUpdateAvailable.
La acción predeterminada se establecerá como kAction_Now.
Propiedades | |
---|---|
kAction_ApplicationManaged
|
Permite que la aplicación administre el resto de las fases de la actualización del software, como la descarga, la validación de integridad de la imagen y la instalación. La máquina de estado del administrador de actualizaciones de software pasará al estado ApplicationManaged. Las verificaciones de actualizaciones de software programadas (si están habilitadas) se suspenderán hasta que la aplicación llame a la función Abort o a la API de ImageInstallComplete. |
kAction_DownloadLater
|
Pausar la descarga en el inicio Se suspenderán las verificaciones de actualizaciones de software programadas (si están habilitadas). La máquina de estado permanecerá en estado de descarga. Cuando esté todo listo, la aplicación puede llamar a la API de reanudación de descarga para continuar con la descarga o llamar a Abort para cancelar. |
kAction_DownloadNow
|
Comienza la descarga de inmediato. Inmediatamente después, se generará una devolución de llamada de evento de la API de kEvent_FetchPartialImageInfo. |
kAction_Ignore
|
Ignora la descarga por completo. Se generará una devolución de llamada de evento de API kEvent_Finished con el error WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED si se selecciona esta opción y no se invoca la lógica de reintento. |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
Eventos de la API que genera el objeto SoftwareUpdateManager
.
Propiedades | |
---|---|
kEvent_ComputeImageIntegrity
|
Calcula un valor de verificación de integridad de imagen. Solicita a la aplicación que calcule un valor de verificación de integridad sobre la imagen descargada. Se genera una vez que se completa la descarga. |
kEvent_DefaultCheck
|
Verifica el comportamiento predeterminado de control de eventos. Se usa para verificar la correcta administración predeterminada de los eventos en la aplicación. Las aplicaciones NO deben controlar este evento. |
kEvent_FetchPartialImageInfo
|
Recupera información de estado persistente de una imagen descargada parcialmente. Ofrece la oportunidad de que la aplicación divulgue información de una imagen parcial descargada previamente para que la descarga pueda continuar desde el punto en que se detuvo por última vez. El URI de la actualización de software disponible se proporciona como un parámetro de entrada que la aplicación puede utilizar para comparar si la imagen que se descarga es la misma que la imagen parcial. Se espera que la aplicación muestre la longitud de la imagen parcial en el parámetro de resultado PartialImageLenInBytes. La aplicación puede establecer el valor de PartialImageLenInBytes a 0 para indicar que no existe una imagen parcial o que el URI de la imagen parcial no coincide. La aplicación puede optar por ignorar este evento pasándolo al controlador de eventos predeterminado. Si lo haces, el sistema siempre descargará la totalidad de la imagen de firmware disponible. |
kEvent_Finished
|
Finalizó el proceso de actualización de software. Se genera cuando finaliza la verificación de una actualización de software, con o sin errores. Los parámetros incluidos con este evento proporcionan el motivo de la falla si el intento finalizó debido a una falla. |
kEvent_PrepareImageStorage
|
Prepárate para almacenar una imagen nueva. Solicita a la aplicación que realice los pasos necesarios a fin de preparar el almacenamiento local para la descarga de una nueva imagen de firmware. La aplicación puede utilizar esto, por ejemplo, para borrar páginas flash. El evento PrepareImageStorage solo se genera en el caso de que se descargue una imagen de firmware nueva. Cuando se reanuda una descarga interrumpida previamente, no se genera PrepareImageStorage. La aplicación debe indicar la finalización de la operación de preparación llamando al método La aplicación puede optar por ignorar el evento PrepareImageStorage si lo pasa al controlador de eventos predeterminado. Cuando se hace esto, el sistema cambia automáticamente al estado de descarga de la imagen. Para admitir la reanudación de una descarga interrumpida, la aplicación debe conservar el URI de la imagen (proporcionado como un parámetro de evento) y usarlo cuando maneje eventos FetchPartialImageInfo posteriores. |
kEvent_PrepareQuery
|
Se prepara el mensaje de ImageQuery. Se genera cuando se activa una verificación de actualizaciones de software. Proporciona una oportunidad para que la aplicación proporcione información relacionada con el producto en el mensaje SofwareUpdate:ImageQuery. |
kEvent_PrepareQuery_Metadata
|
Preparar metadatos para la solicitud de ImageQuery Ofrece la oportunidad de que la aplicación agregue metadatos adicionales al mensaje SofwareUpdate:ImageQuery si es necesario. Se genera cuando la implementación está lista para obtener metadatos de la aplicación. |
kEvent_QueryPrepareFailed
|
Se produjo un error cuando se preparaba una solicitud de ImageQuery. Se genera cuando la implementación encuentra un error mientras se prepara para enviar una consulta de actualización de software. |
kEvent_QuerySent
|
Se envió la solicitud de ImageQuery. Evento informativo para indicar que se envió un mensaje SofwareUpdate:ImageQuery. |
kEvent_ReadyToInstall
|
La imagen está lista para instalarse. Es un evento informativo que indica que la imagen está lista para instalarse. Se genera una vez que una imagen pasa la verificación de integridad. |
kEvent_ResetPartialImageInfo
|
Restablece el estado de la imagen descargada parcialmente. Solicita a la aplicación que olvide el estado persistente asociado a una imagen descargada. Se genera un evento ResetPartialImageInfo cada vez que una imagen descargada falla en la verificación de integridad. Después de procesar un evento ResetPartialImageInfo, los eventos posteriores de FetchPartialImageInfo deben indicar que no hay una imagen parcial disponible. Ten en cuenta que, cuando se controla el evento ResetPartialImageInfo, NO se requiere que la aplicación borre los datos de la imagen, solo la información de estado asociada con la imagen (es decir, el URI y la longitud parcial de la imagen). Si la aplicación no admite la reanudación de la descarga de imágenes, puede ignorar este evento pasándolo al controlador de eventos predeterminado. |
kEvent_SoftwareUpdateAvailable
|
Hay una actualización de software disponible. Se genera cuando se recibe una SofwareUpdate:ImageQueryResponse en respuesta a una consulta que contiene información de la actualización disponible. |
kEvent_StartImageDownload
|
Comenzó la descarga de la imagen. Es un evento informativo que indica el inicio de una transacción de descarga de imagen. |
kEvent_StartInstallImage
|
Comienza la instalación de la imagen. Solicita que la aplicación sea el proceso de instalación de una imagen de firmware descargada. |
kEvent_StoreImageBlock
|
Almacena un bloque de datos de imágenes. Se genera cada vez que se recibe un bloque de datos del servidor de descarga de archivos. Los parámetros incluidos con este evento proporcionan los datos y la longitud de estos. Para admitir la reanudación de una descarga interrumpida, la aplicación debe mantener un recuento persistente de la cantidad total de bytes de imágenes almacenados y usar este valor cuando controle eventos posteriores de FetchPartialImageInfo. |
RetryPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
Estado
State
Clases de amigos
Interno::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
Funciones públicas
Anular
WEAVE_ERROR Abort( void )
CheckNow
WEAVE_ERROR CheckNow( void )
GetState
State GetState( void )
ImageInstallComplete
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
IsInProgress
bool IsInProgress( void )
PrepareImageStorageComplete
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 )
SetRetryPolicyCallback
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
Funciones estáticas públicas
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
Funciones protegidas
SoftwareUpdateManager
SoftwareUpdateManager()=default
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
operador=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default