nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
摘要
繼承
直接已知的子類別:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
公開類型 |
|
---|---|
ActionType{
|
列舉 如果有軟體更新,應用程式可在 SoftwareUpdateAvailable API 事件回呼中選擇下列其中一個動作。 |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
列舉SoftwareUpdateManager 物件產生的 API 事件。 |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
State
|
列舉 |
好友課程 |
|
---|---|
Internal::GenericPlatformManagerImpl
|
friend class
|
公開函式 |
|
---|---|
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
|
公開的靜態函式 |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
|
受保護的函式 |
|
---|---|
SoftwareUpdateManager()=default
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
|
|
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
|
|
operator=(const SoftwareUpdateManager &)=delete
|
|
~SoftwareUpdateManager()=default
|
|
Structs |
|
---|---|
nl:: |
聯合工會 |
|
---|---|
nl:: |
|
nl:: |
公開類型
ActionType
ActionType
如果有軟體更新,應用程式可在 SoftwareUpdateAvailable API 事件回呼中選擇下列其中一個動作。
預設動作會設為 kAction_Now。
屬性 | |
---|---|
kAction_ApplicationManaged
|
允許應用程式管理軟體更新的其餘階段,例如下載、圖片完整性驗證和安裝。 軟體更新管理員狀態機器將移至 ApplicationManaged 狀態。排定的軟體更新檢查 (如果已啟用) 會暫停,直到應用程式呼叫 Abort 或 ImageInstallComplete API 為止。 |
kAction_DownloadLater
|
開始時暫停下載。 如果啟用排程軟體更新檢查功能,排定的軟體更新檢查作業也會暫停。狀態機器仍會維持「下載」狀態。準備就緒後,應用程式可呼叫履歷下載 API 繼續下載,或呼叫 Abort 以取消。 |
kAction_DownloadNow
|
立即開始下載。 系統會隨即產生 kEvent_FetchPartialImageInfo API 事件回呼。 |
kAction_Ignore
|
完全忽略下載內容。 如果選取這個選項,系統將產生 kEvent_Finished API 事件回呼,並傳回 WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED 錯誤,而且不會叫用重試邏輯。 |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
SoftwareUpdateManager
物件產生的 API 事件。
屬性 | |
---|---|
kEvent_ComputeImageIntegrity
|
計算映像檔完整性檢查值。 要求應用程式針對下載的圖片計算完整性檢查值。下載完成後即會產生。 |
kEvent_DefaultCheck
|
查看預設的事件處理行為。 用於驗證應用程式中正確的預設事件處理方式。 應用程式不得處理這個事件。 |
kEvent_FetchPartialImageInfo
|
擷取部分下載圖片的保留狀態資訊。 讓應用程式有機會揭露之前下載的不完整圖片資訊,以便從上次停止的那一刻繼續下載。可用軟體更新的 URI 做為輸入參數,應用程式可用來比較下載的圖片是否與部分圖片相同。 應用程式應會在 PartialImageLenInBytes 輸出參數中傳回部分圖像的長度。應用程式可將 PartialImageLenInBytes 的值設為 0,表示沒有部分圖片,或是部分圖片的 URI 不相符。 應用程式可以選擇忽略這個事件,方法是將其傳遞至預設的事件處理常式。如果完成這項作業,系統一律會下載可用的完整韌體映像檔。 |
kEvent_Finished
|
軟體更新程序已完成。 系統在軟體更新檢查完成 (無論是否發生錯誤) 時產生。這個事件中包含的參數可以說明因失敗而失敗的原因。 |
kEvent_PrepareImageStorage
|
準備儲存新映像檔。 要求應用程式執行必要步驟來準備本機儲存空間,以便下載新的韌體映像檔。例如,應用程式可以使用此功能來清除 Flash 頁面。 只有在下載新韌體映像檔時,才會產生 PrepareImageStorage 事件。如果繼續執行先前中斷的下載作業,則不會產生 PrepareImageStorage。 應用程式必須呼叫 應用程式可以選擇忽略 PrepareImageStorage 事件,方法是將其傳遞至預設的事件處理常式。完成之後,系統會自動繼續執行映像檔的下載狀態。 如要支援恢復中斷的下載,應用程式應保存圖片 URI (以事件參數的形式提供),並在處理後續的 FetchPartialImageInfo 事件時使用。 |
kEvent_PrepareQuery
|
準備 ImageQuery 訊息。 觸發軟體更新檢查時會產生。讓應用程式有機會向 SofwareUpdate:ImageQuery 訊息提供產品相關資訊。 |
kEvent_PrepareQuery_Metadata
|
為 ImageQuery 要求準備中繼資料。 讓應用程式有機會視需要將其他中繼資料附加至 SofwareUpdate:ImageQuery 訊息。在實作可從應用程式取得中繼資料時產生。 |
kEvent_QueryPrepareFailed
|
準備 ImageQuery 要求時發生錯誤。 會在準備送出軟體更新查詢時產生。 |
kEvent_QuerySent
|
已傳送 ImageQuery 要求。 資訊事件,用來表示已傳送 SofwareUpdate:ImageQuery 訊息。 |
kEvent_ReadyToInstall
|
映像檔已可安裝。 表示映像檔已可安裝的資訊事件。在圖片通過完整性檢查時產生。 |
kEvent_ResetPartialImageInfo
|
重設部分下載圖片的狀態。 要求應用程式清除與下載影像相關聯的保留狀態。當下載的圖片未通過完整性檢查時,就會產生 ResetPartialImageInfo 事件。ResetPartialImageInfo 事件處理完畢後,後續的 FetchPartialImageInfo 事件應會指出沒有可用的部分圖片。 請注意,處理 ResetPartialImageInfo 事件時,應用程式「不需」清除圖片資料本身,只會清除與圖片相關的狀態資訊 (即 URI 和部分圖片長度)。 如果應用程式不支援繼續下載圖片,可將其傳遞至預設的事件處理常式,以忽略這個事件。 |
kEvent_SoftwareUpdateAvailable
|
有可用的軟體更新。 為回應含有可用更新資訊的查詢而收到 SofwareUpdate:ImageQueryResponse 時產生。 |
kEvent_StartImageDownload
|
已開始下載圖片。 用來表示圖片下載交易開始的資訊事件。 |
kEvent_StartInstallImage
|
開始安裝映像檔。 要求應用程式開始安裝已下載的韌體映像檔。 |
kEvent_StoreImageBlock
|
儲存圖片資料區塊。 每當檔案下載伺服器收到資料區塊時,就會產生這個程式碼。這個事件內含的參數會提供資料和資料長度。 如要支援恢復中斷的下載,應用程式應持續計算儲存的圖片位元組總數,並在處理後續的 FetchPartialImageInfo 事件時使用這個值。 |
RetryPolicyCallback
void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
州
State
好友課程
內部::GenericPlatformManagerImpl
friend class Internal::GenericPlatformManagerImpl
公開函式
取消
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 )
公開的靜態函式
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
受保護的函式
SoftwareUpdateManager
SoftwareUpdateManager()=default
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager & )=delete
SoftwareUpdateManager
SoftwareUpdateManager( const SoftwareUpdateManager && )=delete
operator=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default