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 API または 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
パブリック関数
中止(abort)
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
演算子=
SoftwareUpdateManager & operator=( const SoftwareUpdateManager & )=delete
~SoftwareUpdateManager
~SoftwareUpdateManager()=default