nl::Weave::DeviceLayer::SoftwareUpdateManager

Ringkasan

Inheritance

Subclass yang Dikenal Langsung:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

Jenis publik

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
Saat update software tersedia, aplikasi dapat memilih salah satu tindakan berikut sebagai bagian dari callback peristiwa 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
}
enum
Peristiwa API yang dibuat oleh objek SoftwareUpdateManager.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enum

Kelas teman

Internal::GenericPlatformManagerImpl
friend class

Fungsi publik

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

Fungsi statis publik

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

Fungsi yang dilindungi

SoftwareUpdateManager()=default
SoftwareUpdateManager(const SoftwareUpdateManager &)=delete
SoftwareUpdateManager(const SoftwareUpdateManager &&)=delete
operator=(const SoftwareUpdateManager &)=delete
~SoftwareUpdateManager()=default

Struct

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

Serikat

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

Jenis publik

ActionType

 ActionType

Saat update software tersedia, aplikasi dapat memilih salah satu tindakan berikut sebagai bagian dari callback peristiwa SoftwareUpdateAvailable API.

Tindakan default akan disetel ke kAction_Now.

Properti
kAction_ApplicationManaged

Mengizinkan aplikasi mengelola fase update software lainnya seperti download, validasi integritas gambar, dan penginstalan.

Mesin status pengelola update software akan dipindahkan ke status ApplicationManaged. Pemeriksaan update software terjadwal (jika diaktifkan) akan ditangguhkan hingga aplikasi memanggil Abort atau ImageInstallComplete API.

kAction_DownloadLater

Jeda download saat memulai.

Pemeriksaan update software terjadwal (jika diaktifkan) akan ditangguhkan. Komputer status akan tetap dalam status Download. Jika sudah siap, aplikasi dapat memanggil API download resume untuk melanjutkan download atau memanggil Batal untuk membatalkan.

kAction_DownloadNow

Segera mulai download.

Callback peristiwa kEvent_FetchPartialImageInfo API akan dibuat tepat setelahnya.

kAction_Ignore

Abaikan download sepenuhnya.

Callback peristiwa API kEvent_Finished akan dibuat dengan error WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED jika opsi ini dipilih dan logika percobaan ulang tidak akan dipanggil.

EventCallback

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

EventType

 EventType

Peristiwa API yang dibuat oleh objek SoftwareUpdateManager.

Properti
kEvent_ComputeImageIntegrity

Hitung nilai pemeriksaan integritas gambar.

Meminta aplikasi untuk menghitung nilai pemeriksaan integritas pada gambar yang didownload. Dibuat setelah download selesai.

kEvent_DefaultCheck

Periksa perilaku penanganan peristiwa default.

Digunakan untuk memverifikasi penanganan peristiwa default yang benar dalam aplikasi.

Aplikasi TIDAK boleh menangani peristiwa ini.

kEvent_FetchPartialImageInfo

Mengambil informasi status yang dipertahankan untuk gambar yang didownload sebagian.

Memberikan kesempatan bagi aplikasi untuk mengungkapkan informasi sebagian gambar yang telah didownload sebelumnya sehingga download dapat dilanjutkan dari titik terakhir download tersebut. URI update software yang tersedia disediakan sebagai parameter input yang dapat digunakan aplikasi untuk membandingkan apakah gambar yang didownload sama dengan gambar parsial.

Aplikasi diharapkan menampilkan panjang gambar parsial dalam parameter output PartialImageLenInBytes. Aplikasi dapat menyetel nilai PartialImageLenInBytes ke 0 untuk menunjukkan bahwa tidak ada gambar parsial atau bahwa URI gambar sebagian tidak cocok.

Aplikasi dapat memilih untuk mengabaikan peristiwa ini dengan meneruskannya ke pengendali peristiwa default. Jika hal ini dilakukan, sistem akan selalu mengunduh seluruh image firmware yang tersedia.

kEvent_Finished

Proses update software selesai.

Dihasilkan bila pemeriksaan update software telah selesai dengan atau tanpa error. Parameter yang disertakan dengan peristiwa ini memberikan alasan kegagalan jika percobaan diselesaikan karena kegagalan.

kEvent_PrepareImageStorage

Bersiaplah untuk penyimpanan gambar baru.

Meminta aplikasi untuk melakukan langkah apa pun yang diperlukan guna menyiapkan penyimpanan lokal untuk download image firmware baru. Aplikasi dapat menggunakannya, misalnya, untuk menghapus halaman flash.

Peristiwa PrepareImageStorage hanya dibuat jika image firmware baru sedang didownload. Saat download yang sebelumnya terganggu dilanjutkan, PrepareImageStorage tidak dibuat.

Aplikasi harus menandakan selesainya operasi persiapan dengan memanggil metode PrepareImageStorageComplete(). Ini mungkin melakukan hal ini dalam callback peristiwa itu sendiri, atau di lain waktu. Jika dipanggil dari tugas selain tugas Weave, pemanggil harus menahan kunci stack Weave.

Aplikasi dapat memilih untuk mengabaikan peristiwa PrepareImageStorage dengan meneruskannya ke pengendali peristiwa default. Jika ini dilakukan, sistem akan secara otomatis melanjutkan ke status download gambar.

Untuk mendukung melanjutkan download yang terhenti, aplikasi harus mempertahankan URI gambar (disediakan sebagai parameter peristiwa), dan menggunakan ini saat menangani peristiwa FetchPartialImageInfo berikutnya.

kEvent_PrepareQuery

Menyiapkan pesan ImageQuery.

Dihasilkan saat pemeriksaan update software telah dipicu. Memberikan kesempatan bagi aplikasi untuk menyediakan informasi terkait produk ke pesan SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Menyiapkan metadata untuk permintaan ImageQuery.

Memberikan kesempatan bagi aplikasi untuk menambahkan metadata tambahan ke pesan SofwareUpdate:ImageQuery jika diperlukan. Dihasilkan saat implementasi siap untuk mendapatkan metadata dari aplikasi.

kEvent_QueryPrepareFailed

Terjadi error saat menyiapkan permintaan ImageQuery.

Dihasilkan saat implementasi mengalami error saat bersiap mengirimkan kueri update software.

kEvent_QuerySent

Permintaan ImageQuery telah dikirim.

Peristiwa informasi untuk menandakan bahwa pesan SofwareUpdate:ImageQuery telah dikirim.

kEvent_ReadyToInstall

Gambar siap diinstal.

Peristiwa informasi untuk menandakan bahwa image siap diinstal. Dibuat setelah gambar lulus pemeriksaan integritas.

kEvent_ResetPartialImageInfo

Reset status gambar yang didownload sebagian.

Meminta aplikasi untuk melupakan status yang dipertahankan yang terkait dengan gambar yang didownload. Peristiwa ResetPartialImageInfo dibuat setiap kali gambar yang didownload gagal dalam pemeriksaan integritasnya. Setelah peristiwa ResetPartialImageInfo diproses, peristiwa FetchPartialImageInfo berikutnya akan menunjukkan bahwa tidak ada gambar parsial yang tersedia.

Perlu diketahui bahwa saat menangani peristiwa ResetPartialImageInfo, aplikasi TIDAK perlu menghapus data gambar itu sendiri, hanya informasi status yang terkait dengan gambar tersebut (yaitu URI dan panjang gambar parsial).

Jika aplikasi tidak mendukung melanjutkan download gambar, aplikasi dapat mengabaikan peristiwa ini dengan meneruskannya ke pengendali peristiwa default.

kEvent_SoftwareUpdateAvailable

Update software tersedia.

Dibuat saat SofwareUpdate:ImageQueryResponse diterima sebagai respons atas kueri yang berisi informasi tentang update yang tersedia.

kEvent_StartImageDownload

Download gambar telah dimulai.

Peristiwa informasi untuk menandakan dimulainya transaksi download gambar.

kEvent_StartInstallImage

Mulai penginstalan image.

Meminta aplikasi untuk sedang dalam proses menginstal image firmware yang didownload.

kEvent_StoreImageBlock

Simpan blok data gambar.

Dihasilkan setiap kali blok data diterima dari server download file. Parameter yang disertakan dengan peristiwa ini menyediakan data dan panjang data.

Untuk mendukung melanjutkan download yang terhenti, aplikasi harus mempertahankan jumlah tetap total byte gambar yang disimpan, dan menggunakan nilai ini saat menangani peristiwa FetchPartialImageInfo berikutnya.

RetryPolicyCallback

void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)

Negara Bagian

 State

Kelas teman

Internal::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Fungsi publik

Batalkan

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
)

Fungsi statis publik

DefaultEventHandler

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

Fungsi yang dilindungi

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default