nl::Weave::DeviceLayer::SoftwareUpdateManager

Résumé

Héritage

Sous-classes directes connues:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

Types publics

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
énum
Lorsqu'une mise à jour logicielle est disponible, l'application peut choisir l'une des actions suivantes dans le cadre du rappel d'événement d'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
}
énum
Événements d'API générés par l'objet SoftwareUpdateManager.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State énum

Cours d'amis

Internal::GenericPlatformManagerImpl
friend class

Fonctions publiques

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

Fonctions statiques publiques

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Fonctions protégées

SoftwareUpdateManager()=default
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
operator=(const SoftwareUpdateManager &)=delete
~SoftwareUpdateManager()=default

Structs

nl::Weave::DeviceLayer::SoftwareUpdateManager::RetryParam

Union

nl::Weave::DeviceLayer::SoftwareUpdateManager::InEventParam
nl::Weave::DeviceLayer::SoftwareUpdateManager::OutEventParam

Types publics

ActionType

 ActionType

Lorsqu'une mise à jour logicielle est disponible, l'application peut choisir l'une des actions suivantes dans le cadre du rappel d'événement d'API SoftwareUpdateAvailable.

L'action par défaut sera définie sur kAction_Now.

Propriétés
kAction_ApplicationManaged

Permet à l'application de gérer le reste des phases de la mise à jour du logiciel, telles que le téléchargement, la validation de l'intégrité de l'image et l'installation.

La machine d'état du gestionnaire de mise à jour logicielle passera à l'état "ApplicationManaged". Les vérifications planifiées des mises à jour logicielles (si activées) seront suspendues jusqu'à ce que l'application appelle "Annuler" ou l'API ImageInstallComplete.

kAction_DownloadLater

Interrompre le téléchargement au démarrage

Les vérifications planifiées des mises à jour logicielles (si activées) seront suspendues. La machine d'état restera à l'état de téléchargement. Lorsque l'application est prête, l'application peut appeler l'API de téléchargement de CV pour poursuivre le téléchargement ou appeler Abort pour annuler.

kAction_DownloadNow

Lancez le téléchargement immédiatement.

Un rappel d'événement d'API kEvent_FetchPartialImageInfo sera généré juste après.

kAction_Ignore

Vous pouvez ignorer le téléchargement.

Si cette option est sélectionnée, un rappel d'événement d'API kEvent_Finished est généré avec l'erreur WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED. La logique de nouvelle tentative n'est pas appelée.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType

Événements d'API générés par l'objet SoftwareUpdateManager.

Propriétés
kEvent_ComputeImageIntegrity

Calculez une valeur de vérification de l'intégrité de l'image.

Demande à l'application de calculer une valeur de contrôle d'intégrité sur l'image téléchargée. Généré une fois le téléchargement terminé.

kEvent_DefaultCheck

Vérifiez le comportement de gestion des événements par défaut.

Permet de vérifier que la gestion des événements par défaut est correcte dans l'application.

Les applications NE DOIVENT PAS gérer cet événement.

kEvent_FetchPartialImageInfo

Récupère des informations d'état persistantes pour une image partiellement téléchargée.

Permet à l'application de divulguer des informations sur une image partielle précédemment téléchargée afin que le téléchargement puisse se poursuivre là où il s'est arrêté pour la dernière fois. L'URI de la mise à jour logicielle disponible est fourni en tant que paramètre d'entrée. L'application peut l'utiliser pour déterminer si l'image en cours de téléchargement est identique à l'image partielle.

L'application doit renvoyer la longueur de l'image partielle dans le paramètre de sortie PartialImageLenInBytes. L'application peut définir la valeur de PartialImageLenInBytes sur 0 pour indiquer qu'il n'existe aucune image partielle ou que l'URI de l'image partielle ne correspond pas.

L'application peut choisir d'ignorer cet événement en le transmettant au gestionnaire d'événements par défaut. Dans ce cas, le système télécharge toujours l’intégralité de l’image de micrologiciel disponible.

kEvent_Finished

Processus de mise à jour du logiciel terminé.

Généré lorsqu'une vérification des mises à jour logicielles s'est terminée avec ou sans erreurs. Les paramètres inclus dans cet événement indiquent le motif de l'échec si la tentative s'est terminée en raison d'un échec.

kEvent_PrepareImageStorage

Préparez le stockage d'une nouvelle image.

Demande à l'application d'effectuer les étapes nécessaires pour préparer le stockage local pour le téléchargement d'une nouvelle image de micrologiciel. L'application peut s'en servir, par exemple, pour effacer des pages Flash.

L'événement PrepareImageStorage n'est généré que si une nouvelle image de micrologiciel est téléchargée. Lorsqu'un téléchargement précédemment interrompu reprend, PrepareImageStorage n'est pas généré.

L'application doit signaler la fin de l'opération de préparation en appelant la méthode PrepareImageStorageComplete(). Elle peut le faire dans le rappel d'événement lui-même ou ultérieurement. S'il est appelé à partir d'une tâche autre que la tâche Weave, l'appelant doit maintenir le verrou de la pile Weave.

L'application peut choisir d'ignorer l'événement PrepareImageStorage en le transmettant au gestionnaire d'événements par défaut. Dans ce cas, le système passe automatiquement à l'état de téléchargement de l'image.

Pour permettre la reprise d'un téléchargement interrompu, l'application doit conserver l'URI de l'image (fourni en tant que paramètre d'événement) et l'utiliser lors de la gestion des événements FetchPartialImageInfo ultérieurs.

kEvent_PrepareQuery

Préparez le message ImageQuery.

Généré lorsqu'une vérification des mises à jour logicielles a été déclenchée. Permet à l'application de fournir des informations sur le produit dans le message SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Préparer les métadonnées pour la requête ImageQuery

Permet à l'application d'ajouter des métadonnées supplémentaires au message SofwareUpdate:ImageQuery si nécessaire. Généré lorsque l'implémentation est prête à recevoir des métadonnées de l'application.

kEvent_QueryPrepareFailed

Erreur lors de la préparation d'une requête ImageQuery.

Généré lorsque l'implémentation rencontre une erreur lors de la préparation à l'envoi d'une requête de mise à jour logicielle.

kEvent_QuerySent

La requête ImageQuery a été envoyée.

Événement d'information indiquant qu'un message SofwareUpdate:ImageQuery a été envoyé.

kEvent_ReadyToInstall

L'image est prête à être installée.

Événement d'information indiquant que l'image est prête à être installée. Générées une fois qu'une image a passé le contrôle d'intégrité.

kEvent_ResetPartialImageInfo

Réinitialiser l'état de l'image partiellement téléchargée.

Demande à l'application d'oublier l'état persistant associé à une image téléchargée. Un événement "ResetPartialImageInfo" est généré chaque fois que le contrôle d'intégrité d'une image téléchargée échoue. Une fois qu'un événement "ResetPartialImageInfo" a été traité, les événements FetchPartialImageInfo suivants doivent indiquer qu'aucune image partielle n'est disponible.

Notez que lors de la gestion de l'événement "ResetPartialImageInfo", l'application n'est PAS tenue d'effacer les données d'image proprement dite, mais uniquement les informations d'état associées à l'image (par exemple, l'URI et la longueur partielle de l'image).

Si l'application ne prend pas en charge la reprise de téléchargement d'image, elle peut ignorer cet événement en le transmettant au gestionnaire d'événements par défaut.

kEvent_SoftwareUpdateAvailable

Une mise à jour logicielle est disponible.

Généré lorsqu'une réponse SofwareUpdate:ImageQueryResponse est reçue en réponse à une requête contenant des informations sur la mise à jour disponible.

kEvent_StartImageDownload

Le téléchargement de l'image a commencé.

Événement d'information pour signaler le début d'une transaction de téléchargement d'image.

kEvent_StartInstallImage

Commencez l'installation de l'image.

Demande à l'application d'installer une image de micrologiciel téléchargée.

kEvent_StoreImageBlock

Stockez un bloc de données d'image.

Généré chaque fois qu'un bloc de données est reçu du serveur de téléchargement de fichiers. Les paramètres inclus dans cet événement fournissent les données et leur longueur.

Pour permettre la reprise d'un téléchargement interrompu, l'application doit conserver un nombre persistant du nombre total d'octets d'image stockés et utiliser cette valeur lors de la gestion des événements FetchPartialImageInfo suivants.

RetryPolicyCallback

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

État

 State

Cours d'amis

Interne::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Fonctions publiques

Annuler

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
)

Fonctions statiques publiques

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Fonctions protégées

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default