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

Cours pour les 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

Unions

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 rappel d'événement de l'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, comme le téléchargement, la validation de l'intégrité de l'image et l'installation.

L'ordinateur doté de l'état du gestionnaire de mises à jour logicielles passe à l'état ApplicationManaged. Les vérifications planifiées des mises à jour logicielles (si activées) seront suspendues jusqu'à ce que l'application appelle Abort ou ImageInstallComplete.

kAction_DownloadLater

Interrompre le téléchargement au démarrage

Les vérifications planifiées des mises à jour logicielles (si elles sont activées) seront suspendues. La machine d'état restera à l'état "Téléchargement". Une fois qu'elle est prête, l'application peut appeler l'API de reprise de téléchargement 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 de l'API kEvent_FetchPartialImageInfo est généré juste après.

kAction_Ignore

Ignorer complètement le téléchargement.

Un rappel d'événement de l'API kEvent_Finished sera généré avec l'erreur WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED si cette option est sélectionnée, et la logique de nouvelle tentative ne sera pas invoquée.

EventCallback

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

EventType

 EventType

Les é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é d'une image.

Demande à l'application de calculer une valeur de vérification 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 les événements par défaut sont correctement gérés dans l'application.

Les applications ne doivent PAS gérer cet événement.

kEvent_FetchPartialImageInfo

Extrayez les informations sur l'état persistant d'une image partiellement téléchargée.

Permet à l'application de divulguer des informations sur une image partielle téléchargée afin que le téléchargement puisse reprendre là où il s'était arrêté. L'URI de la mise à jour logicielle disponible est fourni en tant que paramètre d'entrée que l'application peut utiliser pour comparer 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. Si cela est fait, le système téléchargera toujours l'intégralité de l'image du micrologiciel disponible.

kEvent_Finished

Processus de mise à jour du logiciel terminé.

Généré lorsqu'une vérification de mise à jour logicielle s'est terminée avec ou sans erreur. 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 toutes les étapes nécessaires pour préparer le stockage local au téléchargement d'une nouvelle image du micrologiciel. L'application peut l'utiliser, par exemple, pour effacer des pages Flash.

L'événement PrepareImageStorage est généré uniquement dans le cas où une nouvelle image de micrologiciel est en cours de téléchargement. Lorsqu'un téléchargement précédemment interrompu est relancé, 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(). Cette opération peut être effectuée 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. Si c'est le 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 du traitement des événements FetchPartialImageInfo ultérieurs.

kEvent_PrepareQuery

Préparation du message ImageQuery.

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

kEvent_PrepareQuery_Metadata

Préparation des métadonnées pour la requête ImageQuery.

Si nécessaire, l'application peut ajouter des métadonnées supplémentaires au message SofwareUpdate:ImageQuery. Généré lorsque l'implémentation est prête à obtenir des métadonnées depuis 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 de l'envoi d'une requête de mise à jour logicielle.

kEvent_QuerySent

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

Événement informatif signalant qu'un message SofwareUpdate:ImageQuery a été envoyé.

kEvent_ReadyToInstall

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

Événement informatif signalant que l'image est prête à être installée. Généré 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 de supprimer l'état persistant associé à une image téléchargée. Un événement "ResetPartialImageInfo" est généré chaque fois qu'une image téléchargée échoue à la vérification d'intégrité. Une fois qu'un événement ResetPartialImageInfo a été traité, les événements FetchPartialImageInfo ultérieurs doivent indiquer qu'aucune image partielle n'est disponible.

Notez que lors du traitement de l'événement "ResetPartialImageInfo", l'application n'est PAS tenue d'effacer les données de l'image, mais uniquement les informations d'état associées à l'image (c'est-à-dire l'URI et la longueur partielle de l'image).

Si l'application n'accepte pas la reprise du téléchargement d'une 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 signalant le début d'une transaction de téléchargement d'image.

kEvent_StartInstallImage

Lancez l'installation de l'image.

Demande à l'application de lancer l'installation d'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 décompte persistant du nombre total d'octets d'image stockés et utiliser cette valeur lors du traitement des événements FetchPartialImageInfo ultérieurs.

RetryPolicyCallback

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

État

 State

Cours pour les 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

opérateur=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~Gestionnaire de mises à jour logicielles

 ~SoftwareUpdateManager()=default