En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: DeviceLayer :: SoftwareUpdateManager

Resumen

Herencia

Subclases conocidas directas:
  nl :: Weave :: DeviceLayer :: SoftwareUpdateManagerImpl
  nl :: Weave :: DeviceLayer :: SoftwareUpdateManagerImpl
  nl :: Weave :: DeviceLayer :: SoftwareUpdateManagerImpl

Tipos públicos

ActionType {
kAction_Ignore ,
kAction_DownloadNow ,
kAction_DownloadLater ,
kAction_ApplicationManaged
}
enumeración
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 API SoftwareUpdateAvailable.
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType {
kEvent_PrepareQuery ,
kEvent_PrepareQuery_Metadata ,
kEvent_QueryPrepareFailed ,
kEvent_QuerySent ,
kEvent_SoftwareUpdateAvailable ,
kEvent_FetchPartialImageInfo ,
kEvent_PrepareImageStorage ,
kEvent_StartImageDownload ,
kEvent_StoreImageBlock ,
kEvent_ComputeImageIntegrity ,
kEvent_ResetPartialImageInfo ,
kEvent_ReadyToInstall ,
kEvent_StartInstallImage ,
kEvent_Finished ,
kEvent_DefaultCheck = 100
}
enumeración
Sucesos de API generados por el SoftwareUpdateManager objeto.
RetryPolicyCallback )(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enumeración

Clases de amigos

Internal::GenericPlatformManagerImpl
friend class

Funciones publicas

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

Estructuras

nl :: :: Armadura DeviceLayer :: :: SoftwareUpdateManager RetryParam

Sindicatos

nl :: :: Armadura DeviceLayer :: :: SoftwareUpdateManager InEventParam
nl :: :: Armadura DeviceLayer :: :: SoftwareUpdateManager OutEventParam

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 evento de API SoftwareUpdateAvailable.

La acción predeterminada se establecerá en 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 la integridad de la imagen y la instalación.

La máquina de estado del administrador de actualizaciones de software se moverá al estado ApplicationManaged. Las comprobaciones de actualización de software programadas (si están habilitadas) se suspenderán hasta que la aplicación llame a Abort o ImageInstallComplete API.

kAction_DownloadLater

Pausar descarga al iniciar.

Se suspenderán las comprobaciones de actualización de software programadas (si están habilitadas). La máquina de estado permanecerá en estado de descarga. Cuando esté lista, la aplicación puede llamar a la API de descarga de currículum para continuar con la descarga o llamar a Abort para cancelar.

kAction_DownloadNow

Inicie la descarga de inmediato.

Inmediatamente después se generará una devolución de llamada de evento de API kEvent_FetchPartialImageInfo.

kAction_Ignore

Ignore 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)

Tipo de evento

 EventType

Sucesos de API generados por el SoftwareUpdateManager objeto.

Propiedades
kEvent_ComputeImageIntegrity

Calcule 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. Se genera una vez que se completa la descarga.

kEvent_DefaultCheck

Verifique el comportamiento de manejo de eventos predeterminado.

Se utiliza para verificar el correcto manejo de eventos predeterminado en la aplicación.

Las aplicaciones NO deben manejar este evento.

kEvent_FetchPartialImageInfo

Obtener información de estado persistente para una imagen descargada parcialmente.

Brinda una oportunidad para que la aplicación revele información de una imagen parcial descargada previamente para que la descarga pueda continuar desde el punto donde 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 usar para comparar si la imagen que se descarga es la misma que la imagen parcial.

Se espera que la aplicación devuelva la longitud de la imagen parcial en el parámetro de salida 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 optar por ignorar este evento pasándolo al controlador de eventos predeterminado. Si se hace esto, el sistema siempre descargará la totalidad de la imagen de firmware disponible.

kEvent_Finished

Finalizó el proceso de actualización del software.

Se genera cuando una comprobación de actualización de software ha finalizado con o sin errores. Los parámetros incluidos con este evento proporcionan el motivo del error si el intento finalizó debido a un error.

kEvent_PrepareImageStorage

Prepárese para el almacenamiento de una nueva imagen.

Solicita a la aplicación que realice los pasos necesarios para preparar el almacenamiento local para la descarga de una nueva imagen de firmware. La aplicación puede usar esto, por ejemplo, para borrar páginas flash.

El evento PrepareImageStorage se genera solo en el caso de que se descargue una nueva imagen de firmware. Cuando se reanuda una descarga previamente interrumpida, no se genera PrepareImageStorage.

La aplicación debe señal de terminación de la operación de preparar llamando a la PrepareImageStorageComplete() método. Puede hacer esto dentro de la devolución de llamada del evento o en un momento posterior. Si se llama desde una tarea que no sea la tarea de tejido, la persona que llama debe mantener el bloqueo de la pila de tejido.

La aplicación puede optar por ignorar el evento PrepareImageStorage pasándolo al controlador de eventos predeterminado. Si se hace esto, el sistema pasa automáticamente al estado de descarga de imágenes.

Para admitir la reanudación de una descarga interrumpida, la aplicación debe conservar el URI de la imagen (suministrado como un parámetro de evento) y usarlo al manejar eventos FetchPartialImageInfo posteriores.

kEvent_PrepareQuery

Prepare el mensaje ImageQuery.

Se genera cuando se activa una comprobación de actualización de software. Brinda una oportunidad para que la aplicación proporcione información relacionada con el producto al mensaje SofwareUpdate: ImageQuery.

kEvent_PrepareQuery_Metadata

Prepare metadatos para la solicitud de ImageQuery.

Brinda una oportunidad para 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

Error al preparar 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 ha enviado la solicitud de ImageQuery.

Evento informativo para señalar que se ha enviado un mensaje SofwareUpdate: ImageQuery.

kEvent_ReadyToInstall

La imagen está lista para ser instalada.

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

Restablecer 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 falla en su verificación de integridad. Después de que se haya procesado un evento ResetPartialImageInfo, los eventos FetchPartialImageInfo posteriores deberían indicar que no hay una imagen parcial disponible.

Tenga en cuenta que, al manejar el evento ResetPartialImageInfo, la aplicación NO necesita borrar los datos de la imagen en sí, 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

La actualización de software está disponible.

Se genera cuando se recibe un SofwareUpdate: ImageQueryResponse en respuesta a una consulta que contiene información de la actualización disponible.

kEvent_StartImageDownload

La descarga de la imagen ha comenzado.

Evento informativo para señalar el inicio de una transacción de descarga de imágenes.

kEvent_StartInstallImage

Comience 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

Almacene un bloque de datos de imagen.

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 los datos.

Para admitir la reanudación de una descarga interrumpida, la aplicación debe mantener un recuento persistente del número total de bytes de imagen almacenados y usar este valor al manejar eventos FetchPartialImageInfo posteriores.

RetryPolicyCallback

void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)

Expresar

 State

Clases de amigos

Internal :: GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Funciones publicas

Abortar

WEAVE_ERROR Abort(
  void
)

Revisalo ahora

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

ImageInstallComplete

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

Está en proceso

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