nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
Riepilogo
Eredità
Sottoclassi note dirette:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
Tipi pubblici |
|
---|---|
ActionType{
|
enum Quando è disponibile un aggiornamento software, l'applicazione può scegliere una delle seguenti azioni come parte del callback dell'evento dell'API SoftwareUpdateAvailable. |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enum Eventi API generati dall'oggetto SoftwareUpdateManager . |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
State
|
enum |
Classi di amici |
|
---|---|
Internal::GenericPlatformManagerImpl
|
friend class
|
Funzioni pubbliche |
|
---|---|
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
|
Funzioni statiche pubbliche |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
|
Funzioni protette |
|
---|---|
SoftwareUpdateManager()=default
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
|
|
operator=(const SoftwareUpdateManager &)=delete
|
|
~SoftwareUpdateManager()=default
|
|
Strutture |
|
---|---|
nl:: |
Unione |
|
---|---|
nl:: |
|
nl:: |
Tipi pubblici
ActionType
ActionType
Quando è disponibile un aggiornamento software, l'applicazione può scegliere una delle seguenti azioni come parte del callback dell'evento dell'API SoftwareUpdateAvailable.
L'azione predefinita sarà impostata su kAction_Now.
Proprietà | |
---|---|
kAction_ApplicationManaged
|
Consente all'applicazione di gestire le altre fasi dell'aggiornamento del software, quali download, convalida dell'integrità dell'immagine e installazione. La macchina a stato del gestore degli aggiornamenti software passerà allo stato ApplicationManaged. I controlli degli aggiornamenti software pianificati (se attivati) verranno sospesi fino a quando l'applicazione non chiama l'API Abort o ImageInstallComplete. |
kAction_DownloadLater
|
Sospendi il download all'avvio. I controlli degli aggiornamenti software pianificati (se attivati) verranno sospesi. La macchina a stato rimarrà in stato Download. Quando è pronta, l'applicazione può chiamare l'API per il ripristino del download per procedere con il download o chiamare Abort per annullare. |
kAction_DownloadNow
|
Avvia subito il download. Subito dopo verrà generato un callback dell'evento API kEvent_FetchPartialImageInfo. |
kAction_Ignore
|
Ignorare del tutto il download. Se questa opzione viene selezionata e la logica di nuovo tentativo non verrà richiamata, verrà generato un callback di evento API kEvent_Finished con errore WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED. |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
Eventi API generati dall'oggetto SoftwareUpdateManager
.
Proprietà | |
---|---|
kEvent_ComputeImageIntegrity
|
Calcola un valore di controllo dell'integrità dell'immagine. Richiede all'applicazione di calcolare un valore di controllo dell'integrità sull'immagine scaricata. Vengono generati al termine del download. |
kEvent_DefaultCheck
|
Controlla il comportamento predefinito di gestione degli eventi. Utilizzato per verificare la corretta gestione predefinita degli eventi nell'applicazione. Le applicazioni NON devono gestire questo evento. |
kEvent_FetchPartialImageInfo
|
Recuperate informazioni sullo stato persistenti di un'immagine scaricata parzialmente. Offre all'applicazione l'opportunità di divulgare le informazioni di un'immagine parziale precedentemente scaricata, in modo che il download possa continuare dal punto in cui è stato interrotto. L'URI dell'aggiornamento software disponibile viene fornito come parametro di input che l'applicazione può utilizzare per confrontare se l'immagine scaricata è uguale a quella parziale. L'applicazione dovrebbe restituire la lunghezza dell'immagine parziale nel parametro di output PartialImageLenInBytes. L'applicazione può impostare il valore di PartialImageLenInBytes su 0 per indicare che non esiste un'immagine parziale o che l'URI dell'immagine parziale non corrisponde. L'applicazione può scegliere di ignorare questo evento passandolo al gestore di eventi predefinito. In tal caso, il sistema scaricherà sempre l'intera immagine del firmware disponibile. |
kEvent_Finished
|
Procedura di aggiornamento del software terminata. Vengono generati quando il controllo degli aggiornamenti del software è terminato con o senza errori. I parametri inclusi in questo evento forniscono il motivo dell'errore se il tentativo è terminato a causa di un errore. |
kEvent_PrepareImageStorage
|
Prepararsi per l'archiviazione di una nuova immagine. Richiede all'applicazione di eseguire gli eventuali passaggi necessari per preparare l'archiviazione locale per il download di una nuova immagine del firmware. L'applicazione può utilizzarla, ad esempio, per cancellare pagine flash. L'evento PrepareImageStorage viene generato solo nel caso in cui viene scaricata una nuova immagine del firmware. Quando viene ripreso un download interrotto in precedenza, il metodo PrepareImageStorage non viene generato. L'applicazione deve segnalare il completamento dell'operazione di preparazione chiamando il metodo L'applicazione può scegliere di ignorare l'evento PrepareImageStorage passando al gestore di eventi predefinito. In questo caso, il sistema passa automaticamente allo stato di download dell'immagine. Per supportare il ripristino di un download interrotto, l'applicazione deve rendere persistenti l'URI dell'immagine (fornito come parametro evento) e utilizzarlo quando gestisce i successivi eventi FetchPartialImageInfo. |
kEvent_PrepareQuery
|
Prepara il messaggio ImageQuery. Viene generato quando viene attivato un controllo degli aggiornamenti software. Fornisce all'applicazione un'opportunità per fornire informazioni relative al prodotto al messaggio SofwareUpdate:ImageQuery. |
kEvent_PrepareQuery_Metadata
|
Prepara i metadati per la richiesta ImageQuery. Offre all'applicazione l'opportunità di aggiungere metadati aggiuntivi al messaggio SofwareUpdate:ImageQuery, se necessario. Vengono generati quando l'implementazione è pronta per ottenere metadati dall'applicazione. |
kEvent_QueryPrepareFailed
|
Errore durante la preparazione di una richiesta ImageQuery. Vengono generati quando l'implementazione rileva un errore durante la preparazione all'invio di una query di aggiornamento del software. |
kEvent_QuerySent
|
La richiesta ImageQuery è stata inviata. Evento informativo che segnala l'invio di un messaggio SofwareUpdate:ImageQuery. |
kEvent_ReadyToInstall
|
L'immagine è pronta per essere installata. Evento informativo che segnala che l'immagine è pronta per essere installata. Viene generata quando un'immagine supera il controllo di integrità. |
kEvent_ResetPartialImageInfo
|
Reimposta stato dell'immagine scaricata parzialmente. Richiede all'applicazione di eliminare lo stato persistente associato a un'immagine scaricata. Un evento ResetPartialImageInfo viene generato ogni volta che un'immagine scaricata non supera il controllo di integrità. Dopo l'elaborazione di un evento ResetPartialImageInfo, gli eventi FetchPartialImageInfo successivi dovrebbero indicare che non è disponibile alcuna immagine parziale. Tieni presente che, durante la gestione dell'evento ResetPartialImageInfo, l'applicazione NON deve cancellare i dati dell'immagine stessa, ma solo le informazioni sullo stato associate all'immagine (ovvero l'URI e la lunghezza parziale dell'immagine). Se l'applicazione non supporta la ripresa del download delle immagini, potrebbe ignorare questo evento passandolo al gestore di eventi predefinito. |
kEvent_SoftwareUpdateAvailable
|
È disponibile un aggiornamento software. Vengono generati quando viene ricevuto un SofwareUpdate:ImageQueryResponse in risposta a una query contenente informazioni sull'aggiornamento disponibile. |
kEvent_StartImageDownload
|
Il download dell'immagine è iniziato. Evento informativo che segnala l'inizio di una transazione di download di un'immagine. |
kEvent_StartInstallImage
|
Inizia l'installazione dell'immagine. Richiede che l'applicazione sia il processo di installazione di un'immagine del firmware scaricata. |
kEvent_StoreImageBlock
|
Archivia un blocco di dati immagine. Viene generato ogni volta che viene ricevuto un blocco dati dal server di download dei file. I parametri inclusi in questo evento forniscono i dati e la lunghezza dei dati. Per supportare il ripristino di un download interrotto, l'applicazione deve mantenere un conteggio permanente del numero totale di byte immagine archiviati e utilizzare questo valore durante la gestione di successivi eventi FetchPartialImageInfo. |
RetryPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
Stato
State
Classi di amici
Interno::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
Funzioni pubbliche
Interrompi
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 )
Funzioni statiche pubbliche
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
Funzioni protette
SoftwareUpdateManager
SoftwareUpdateManager()=default
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
operatore=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default