nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
Resumen
Herencia
Subclases conocidas directas:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
Tipos públicos |
|
---|---|
ActionType{
|
enum 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 eventos de la API de SoftwareUpdateAvailable. |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enum Los eventos de API generados por el objeto SoftwareUpdateManager |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
State
|
enum |
Clases de amistad |
|
---|---|
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
Tipo de acción
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 eventos de la API de SoftwareUpdateAvailable.
La acción predeterminada se establecerá en kAction_Now.
Properties | |
---|---|
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 la integridad de la imagen y la instalación. La máquina del estado del administrador de actualizaciones de software pasará al estado ApplicationManaged. Las verificaciones de actualización de software programadas (si están habilitadas) se suspenderán hasta que la aplicación llame a Abort o la API de ImageInstallComplete. |
kAction_DownloadLater
|
Pausar descarga en el inicio. Se suspenderán las verificaciones de actualización de software programadas (si están habilitadas). La máquina del estado permanecerá en el estado Descarga. Cuando esté lista, 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
|
Inicia la descarga de inmediato. Se generará una devolución de llamada de evento de la API de kEvent_FetchPartialImageInfo inmediatamente después. |
kAction_Ignore
|
Ignora la descarga por completo. Si se selecciona esta opción y no se invoca la lógica de reintento, se generará una devolución de llamada de evento de la API de kEvent_finish con el error WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED. |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
Tipo de evento
EventType
Los eventos de API generados por el objeto SoftwareUpdateManager
Properties | |
---|---|
kEvent_ComputeImageIntegrity
|
Calcular un valor de verificación de integridad de la imagen Solicita a la aplicación que calcule un valor de verificación de integridad sobre la imagen descargada. Generado una vez que se completa la descarga. |
kEvent_DefaultCheck
|
Comprobar el comportamiento predeterminado de control de eventos Se utiliza para verificar la administración predeterminada de eventos en la aplicación. Las aplicaciones NO deben controlar este evento. |
kEvent_FetchPartialImageInfo
|
Recupera información de estado persistente para una imagen descargada de forma parcial. Permite que la aplicación divulgue información de una imagen parcial descargada previamente de modo que la descarga pueda continuar desde el último punto en el que se detuvo. El URI de la actualización de software disponible se proporciona como un parámetro de entrada que la aplicación puede usar para comparar si la imagen que se descarga es igual a 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 en 0 para indicar que no existe una imagen parcial o que el URI de la imagen parcial no coincide. La aplicación puede ignorar este evento pasándolo al controlador de eventos predeterminado. Si lo haces, el sistema siempre descargará la imagen del firmware disponible por completo. |
kEvent_Finished
|
Finalizó el proceso de actualización del software. Se genera cuando una verificación de actualizaciones de software ha finalizado con o sin errores. Los parámetros incluidos en este evento proporcionan el motivo de la falla si el intento finalizó debido a una falla. |
kEvent_PrepareImageStorage
|
Prepárate para el almacenamiento de 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 usar, por ejemplo, para borrar páginas de Flash. El evento PrepareImageStorage se genera solo en el caso de que se esté descargando una nueva imagen de firmware. Cuando se reanuda una descarga interrumpida, 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 ignorar el evento PrepareImageStorage pasándolo al controlador de eventos predeterminado. Si lo hace, el sistema pasa automáticamente al estado de descarga de la imagen. Para admitir reanudar una descarga interrumpida, la aplicación debe conservar el URI de la imagen (proporcionado como un parámetro de evento) y usarlo cuando se controlen eventos posteriores FetchPartialImageInfo. |
kEvent_PrepareQuery
|
Preparar 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 al mensaje SofwareUpdate:ImageQuery. |
kEvent_PrepareQuery_Metadata
|
Preparar metadatos para la solicitud de ImageQuery Proporciona una oportunidad para que la aplicación agregue metadatos adicionales al mensaje SofwareUpdate:ImageQuery si es necesario. Generado 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. Generado 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. Evento informativo para indicar 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 parcialmente descargada. Solicita a la aplicación que olvide el estado persistente asociado con una imagen descargada. Se genera un evento ResetPartialImageInfo cada vez que una imagen descargada no pasa su verificación de integridad. Después de que se haya procesado un evento ResetPartialImageInfo, los eventos FetchPartialImageInfo posteriores deben indicar que no hay una imagen parcial disponible. Ten en cuenta que, cuando se controla el evento ResetPartialImageInfo, NO es necesario que la aplicación borre los datos de 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 descarga de imágenes, puede ignorar este evento pasándolo al controlador de eventos predeterminado. |
kEvent_SoftwareUpdateAvailable
|
Hay una actualización de software disponible. Generada 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. Evento informativo para indicar el inicio de una transacción de descarga de imagen. |
kEvent_StartInstallImage
|
Inicia la instalación de la imagen. Solicita a la aplicación que sea el proceso de instalar una imagen de firmware descargada. |
kEvent_StoreImageBlock
|
Almacena un bloque de datos de imagen. Generado cada vez que se recibe un bloque de datos del servidor de descarga de archivos. Los parámetros incluidos en este evento proporcionan los datos y la longitud de los datos. Para admitir que se reanude una descarga interrumpida, la aplicación debe mantener un recuento persistente de la cantidad total de bytes de imagen almacenados y usar este valor cuando se manejen eventos FetchPartialImageInfo posteriores. |
ReintentarPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
Estado
State
Clases de amistad
Internal::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
Funciones públicas
Anular
WEAVE_ERROR Abort( void )
Verificar ahora
WEAVE_ERROR CheckNow( void )
Obtener estado
State GetState( void )
ImagenDeInstalaciónCompleta
WEAVE_ERROR ImageInstallComplete( WEAVE_ERROR aError )
Está en progreso
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 )
Configurar ReintentoDevolución de llamada
void SetRetryPolicyCallback( const RetryPolicyCallback aRetryPolicyCallback )
Funciones estáticas públicas
DefaultEventHandler.
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
Funciones protegidas
Administrador de softwareUpdate
SoftwareUpdateManager()=default
Administrador de softwareUpdate
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
Administrador de softwareUpdate
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
operador=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
Administrador de actualizaciones de software: ~SoftwareUpdateManager
~SoftwareUpdateManager()=default