Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl::Weave::DeviceLayer::SoftwareUpdateManager

まとめ

継承

直接的なサブクラス:
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

パブリック タイプ

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
列挙型
ソフトウェア アップデートが利用可能になると、SoftwareUpdateAvailable API イベント コールバックの一部として、アプリは次のいずれかのアクションを選択できます。
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
}
列挙型
SoftwareUpdateManager オブジェクトによって生成された API イベント。
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
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

構造体

nl::Weave::DeviceLayer::SoftwareUpdateManager::RetryParam

共用体

nl::Weave::DeviceLayer::SoftwareUpdateManager::InEventParam
nl::Weave::DeviceLayer::SoftwareUpdateManager::OutEventParam

パブリック タイプ

ActionType

 ActionType

ソフトウェア アップデートが利用可能になると、SoftwareUpdateAvailable API イベント コールバックの一部として、アプリは次のいずれかのアクションを選択できます。

デフォルトのアクションは kAction_Now に設定されます。

Properties
kAction_ApplicationManaged

ダウンロード、イメージの整合性検証、インストールなど、ソフトウェア アップデートの残りのフェーズの管理をアプリに許可します。

ソフトウェア アップデート マネージャーのステートマシンは ApplicationManaged に移行します。スケジュールされたソフトウェア更新チェック(有効になっている場合)は、アプリケーションが Abort または ImageInstallComplete API を呼び出すまで停止されます。

kAction_DownloadLater

ダウンロードを一時停止します。

スケジュール設定済みのソフトウェアの更新チェック(有効になっている場合)は停止されます。ステートマシンはダウンロード状態のままになります。準備ができたら、アプリはダウンロード再開 API を呼び出してダウンロードを続行するか、Abort を呼び出してキャンセルすることができます。

kAction_DownloadNow

すぐにダウンロードを開始します。

kEvent_FetchPartialImageInfo API のイベント コールバックは、直後に生成されます。

kAction_Ignore

ダウンロードは完全に無視します。

このオプションが選択されており、再試行ロジックが呼び出されない場合、kEvent_finish API イベント コールバックがエラー WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED によって生成されます。

イベント コールバック

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

イベントタイプ

 EventType

SoftwareUpdateManager オブジェクトによって生成された API イベント。

Properties
kEvent_ComputeImageIntegrity

画像の整合性チェック値を計算します。

ダウンロードされた画像の完全性チェック値を計算するようアプリに指示します。ダウンロードが完了すると生成されます。

kEvent_DefaultCheck

デフォルトのイベント処理動作を確認します。

アプリケーションのデフォルトのイベント処理が正しく行われていることを確認するために使用されます。

アプリケーションでこのイベントを処理することはできません。

kEvent_FetchPartialImageInfo

部分的にダウンロードされた画像の保持状態情報を取得します。

以前にダウンロードした部分的な画像の情報をアプリケーションが開示することで、ダウンロードを最後に停止した時点から続行できるようにします。利用可能なソフトウェア アップデートの URI は、ダウンロードされる画像が部分画像と同じかどうかを比較するのに使用できる入力パラメータとして提供されます。

アプリは、PartialImageLenInBytes 出力パラメータで部分画像の長さを返すことが求められます。アプリケーションに PartialImageLenInBytes の値を 0 に設定して、部分的な画像が存在しないか、部分的な画像の URI が一致しないことを示すことができます。

アプリケーションは、デフォルトのイベント ハンドラにこのイベントを渡すことで、このイベントを無視することができます。この場合、利用可能なファームウェア イメージ全体が必ずダウンロードされます。

kEvent_Finished

ソフトウェアの更新処理が完了しました。

ソフトウェア アップデートのチェックがエラーの有無にかかわらず終了したときに生成されます。このイベントに含まれるパラメータは、エラーによって試行が失敗した場合に失敗の原因を示します。

kEvent_PrepareImageStorage

新しいイメージを保存できるように準備します。

新しいファームウェア イメージのダウンロード用にローカル ストレージを準備するために必要な手順を実行するようアプリケーションに指示します。たとえば、アプリケーションでこれを使用して Flash ページを消去できます。

PrepareImageStorage イベントは、新しいファームウェア イメージがダウンロードされている場合にのみ生成されます。以前に中断されたダウンロードが再開されると、PrepareImageStorage は生成されません。

アプリは、PrepareImageStorageComplete() メソッドを呼び出して、準備オペレーションの完了を通知する必要があります。これは、イベント コールバック自体で、または後で行うことができます。Weave タスク以外のタスクから呼び出された場合、呼び出し元は Weave スタック ロックを保持する必要があります。

デフォルトの イベント ハンドラに渡し、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
)

今すぐ確認

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

ImageInstallComplete

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

処理中

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()=default