nl:: Weave:: DeviceLayer:: SoftwareUpdateManager
概要
継承
直系の既知のサブクラス:nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
公開タイプ |
|
---|---|
ActionType{
|
enum ソフトウェア アップデートが利用可能になると、アプリケーションは SoftwareUpdateAvailable API イベント コールバックの一部として次のいずれかのアクションを選択できます。 |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enumSoftwareUpdateManager オブジェクトによって生成された API イベント。 |
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)
|
typedefvoid(*
|
State
|
enum |
友達クラス |
|
---|---|
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
|
|
構造体 |
|
---|---|
nl:: |
共用体 |
|
---|---|
nl:: |
|
nl:: |
公開タイプ
ActionType
ActionType
ソフトウェア アップデートが利用可能になると、アプリケーションは SoftwareUpdateAvailable API イベント コールバックの一部として次のいずれかのアクションを選択できます。
デフォルトのアクションは kAction_Now に設定されます。
プロパティ | |
---|---|
kAction_ApplicationManaged
|
ダウンロード、イメージの完全性の検証、インストールなど、ソフトウェア アップデートの残りのフェーズをアプリケーションによって管理できるようにします。 ソフトウェア アップデート マネージャーのステートマシンは、ApplicationManaged の状態に移行します。スケジュール設定されたソフトウェア アップデートのチェック(有効になっている場合)は、アプリケーションが Abort または ImageInstallComplete API を呼び出すまで一時停止されます。 |
kAction_DownloadLater
|
起動時にダウンロードを一時停止します。 スケジュール設定されたソフトウェア アップデートのチェック(有効になっている場合)は停止されます。ステートマシンはダウンロード状態のままになります。準備ができたら、アプリは履歴書のダウンロード API を呼び出してダウンロードを続行するか、中止を呼び出してキャンセルできます。 |
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
|
新しいイメージを保存する準備をします。 新しいファームウェア イメージをダウンロードするためのローカル ストレージを準備するために必要な手順を実行するよう、アプリケーションに依頼します。たとえば、アプリケーションはフラッシュ ページの消去などに使用できます。 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