nl::Weave::DeviceLayer::SoftwareUpdateManager

Özet

Devralma

Doğrudan Bilinen Alt Sınıflar:
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
nl::Weave:DeviceLayer::SoftwareUpdateManagerImpl

Herkese açık türler

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
Bir yazılım güncellemesi mevcut olduğunda uygulama, SoftwareUpdateKullanılabilir API etkinlik geri çağırma işleminin bir parçası olarak aşağıdaki işlemlerden birini seçebilir.
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) Tür
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
SoftwareUpdateManager nesnesi tarafından oluşturulan API etkinlikleri.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) Tür
void(*
State enum

Arkadaşlık dersleri

Internal::GenericPlatformManagerImpl
friend class

Herkese açık işlevler

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

Herkese açık statik işlevler

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

Korumalı işlevler

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

Struct

nl::Weave::DeviceLayer::SoftwareUpdateManager::TryParam

Birlikler

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

Herkese açık türler

İşlem Türü

 ActionType

Bir yazılım güncellemesi mevcut olduğunda uygulama, SoftwareUpdateKullanılabilir API etkinlik geri çağırma işleminin bir parçası olarak aşağıdaki işlemlerden birini seçebilir.

Varsayılan işlem kAction_Now olarak ayarlanacaktır.

Özellikler
kAction_ApplicationManaged

Uygulamaya, yazılım güncellemesinin indirme, resim bütünlüğü doğrulama ve yükleme gibi diğer aşamalarını yönetme izni verir.

Yazılım güncelleme yöneticisi durum makinesi, ApplicationManaged durumuna geçer. Programlanmış yazılım güncelleme kontrolleri (etkinleştirilmişse), uygulama İptal Et veya ImageInstallComplete API çağrı yapana kadar askıya alındı.

kAction_DownloadLater

Başlangıçta indirme işlemini duraklat.

Programlanmış yazılım güncelleme kontrolleri (etkinleştirilmişse) askıya alınacak. Eyalet makinesi İndirme durumunda kalır. Uygulama hazır olduğunda, indirme işlemine devam etmek için öz geçmiş indirme API'sini çağırabilir veya iptal etmek için İptal'i arayabilir.

kAction_DownloadNow

İndirmeye hemen başlayın.

Hemen ardından bir kEvent_FetchPartialImageInfo API etkinlik geri çağırması oluşturulacak.

kAction_Ignore

İndirme işlemini tamamen yoksayın.

Bu seçenek belirlenirse ve yeniden deneme mantığı çağrılmazsa WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED hatasıyla bir kEvent_Finished API etkinlik geri çağırması oluşturulur.

Etkinlik Geri Çağırması

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

Etkinlik Türü

 EventType

SoftwareUpdateManager nesnesi tarafından oluşturulan API etkinlikleri.

Özellikler
kEvent_ComputeImageIntegrity

Resim bütünlük kontrolü değerini hesaplayın.

Uygulamadan, indirilen görselin üzerinde bütünlük kontrolü değeri hesaplamasını ister. İndirme işlemi tamamlandıktan sonra oluşturulur.

kEvent_DefaultCheck

Varsayılan etkinlik işleme davranışını kontrol edin.

Uygulamada doğru varsayılan etkinlik işleme işlemini doğrulamak için kullanılır.

Uygulamalar bu etkinliği ALMAMALIDIR.

kEvent_FetchPartialImageInfo

Kısmen indirilen bir resim için kalıcı durum bilgilerini getirme.

Uygulamaya, daha önce indirilen kısmi bir resmin bilgilerini açıklama fırsatı verir. Böylece indirme işlemi, durduğu noktadan devam edebilir. Mevcut yazılım güncellemesinin URI'sı, indirilen resmin kısmi resimle aynı olduğunda uygulamanın karşılaştırmak üzere kullanabileceği bir giriş parametresi olarak sağlanır.

Uygulamanın, PartialImageLenInBytes çıkış parametresindeki kısmi resmin uzunluğunu döndürmesi bekleniyor. Uygulama, kısmi bir resmin olmadığını veya kısmi resmin URI'sinin eşleşmediğini belirtmek için Kısmi Görüntü LenInBytes değerini 0 olarak ayarlayabilir.

Uygulama, varsayılan etkinlik işleyiciye ileterek bu etkinliği yok saymayı seçebilir. Bu durumda sistem, her zaman kullanılabilir donanım yazılımı resminin tamamını indirir.

kEvent_Finished

Yazılım güncelleme işlemi tamamlandı.

Bir yazılım güncelleme kontrolü hatası olduğunda veya hatasız sona erdiğinde oluşturulur. Bu etkinliğe dahil edilen parametreler, deneme bir hata nedeniyle tamamlandıysa hatanın nedenini sağlar.

kEvent_PrepareImageStorage

Yeni bir resmin depolanması için hazırlık yapın.

Uygulamadan, yeni bir donanım yazılımı görüntüsünün indirilmesine yönelik yerel depolama alanı hazırlamak için gerekli adımları gerçekleştirmesini ister. Uygulama, örneğin flash sayfalarını silmek için bunu kullanabilir.

ReadyImageStorage etkinliği yalnızca yeni bir donanım yazılımı görüntüsünün indirildiği durumlarda oluşturulur. Önceden kesintiye uğramış bir indirme devam ettirildiğinde ReadyImageStorage oluşturulmaz.

Uygulama, PrepareImageStorageComplete() yöntemini çağırarak hazırlık işleminin tamamlandığını bildirmelidir. Bunu etkinlik geri çağırma işleminin kendisinde veya daha sonra yapabilir. Arayan, Weave görevi dışında bir görevden çağrılırsa Weave yığın kilidini tutmalıdır.

Uygulama, ReadyImageStorage etkinliğini varsayılan etkinlik işleyiciye ileterek yoksaymayı seçebilir. İşlem tamamlandığında sistem otomatik olarak resim indirme durumuna geçer.

Kesilen bir indirmenin devam ettirilmesini sağlamak için uygulama, resim URI'sini (bir etkinlik parametresi olarak sağlanır) korumalı ve daha sonra FetchKısmiResimBilgi etkinliklerini işlerken bunu kullanmalıdır.

kEvent_PrepareQuery

ImageQuery mesajı hazırlayın.

Bir yazılım güncelleme kontrolü tetiklendiğinde oluşturulur. Uygulamanın SofwareUpdate:ImageQuery mesajına ürünle ilgili bilgileri sağlaması için bir fırsat sunar.

kEvent_PrepareQuery_Metadata

ImageQuery isteği için meta veriler hazırlama.

Uygulamaya, gerekirse SofwareUpdate:ImageQuery mesajına ilave meta veriler ekleme fırsatı verir. Uygulama, uygulamadan meta veriler almaya hazır olduğunda oluşturulur.

kEvent_QueryPrepareFailed

ImageQuery isteği hazırlanırken hata oluştu.

Uygulama bir yazılım güncelleme sorgusu göndermeye hazırlanırken hata ile karşılaştığında oluşturulur.

kEvent_QuerySent

ImageQuery isteği gönderildi.

Bir SofwareUpdate:ImageQuery mesajının gönderildiğini işaret eden bilgilendirici etkinlik.

kEvent_ReadyToInstall

Resim yüklenmeye hazır.

Görselin yüklenmeye hazır olduğunu gösteren bilgi etkinliği. Bir resim bütünlük kontrolünü geçtikten sonra oluşturulur.

kEvent_ResetPartialImageInfo

Kısmen indirilen resmin durumunu sıfırla.

Uygulamadan, indirilen bir resimle ilişkili kalıcı durumu unutmasını ister. İndirilen bir resim bütünlük kontrolünde başarısız olduğunda Sıfırlama Bölümü Resim etkinliği oluşturulur. SıfırlamaKısmi ResimBilgisi etkinliği işlendikten sonra, FetchKısmi Resim Bilgisi etkinlikleri kısmi resim olmadığını belirtmelidir.

Sıfırlama işlemi sırasında Sıfırlama Resmi

Uygulama, resim indirme işlemini devam ettirmeyi desteklemiyorsa bu etkinliği varsayılan etkinlik işleyiciye ileterek yok sayabilir.

kEvent_SoftwareUpdateAvailable

Yazılım güncellemesi mevcut.

Mevcut güncelleme hakkındaki bilgileri içeren bir sorguya yanıt olarak bir SofwareUpdate:ImageQueryResponse alındığında oluşturulur.

kEvent_StartImageDownload

Resim indirme işlemi başladı.

Resim indirme işleminin başlangıcını işaret eden bilgilendirici etkinlik.

kEvent_StartInstallImage

Resim yüklemeye başla.

Uygulamaya, indirilen bir donanım yazılımı görüntüsü yükleme işlemi için istekte bulunur.

kEvent_StoreImageBlock

Bir resim veri bloğu depolayın.

Dosya indirme sunucusundan veri bloğu alındığında oluşturulur. Bu etkinliğe dahil edilen parametreler, verileri ve verilerin uzunluğunu sağlar.

Uygulama, kesintiye uğrayan bir indirmenin devam ettirilmesini desteklemek için toplam depolanan resim baytlarının sayısını kalıcı bir şekilde tutmalı ve sonraki FetchPartialImageInfo etkinliklerini işlerken bu değeri kullanmalıdır.

Yeniden Deneme Politikası Geri Çağırması

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

Durum

 State

Arkadaşlık dersleri

Dahili::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Herkese açık işlevler

İptal et

WEAVE_ERROR Abort(
  void
)

Şimdi kontrol et

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

ImageInstallComplete

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

Devam Ediyor

bool IsInProgress(
  void
)

FreshImageStorage Tamamlandı

WEAVE_ERROR PrepareImageStorageComplete(
  WEAVE_ERROR aError
)

Etkinlik Etkinliği Geri Çağırması

WEAVE_ERROR SetEventCallback(
  void *const aAppState,
  const EventCallback aEventCallback
)

SetQueryIntervalPenceresi

WEAVE_ERROR SetQueryIntervalWindow(
  uint32_t aMinWaitTimeMs,
  uint32_t aMaxWaitTimeMs
)

Set TryPolicyCallback

void SetRetryPolicyCallback(
  const RetryPolicyCallback aRetryPolicyCallback
)

Herkese açık statik işlevler

VarsayılanEtkinlikHandler

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

Korumalı işlevler

Yazılım Güncellemesi Yöneticisi

 SoftwareUpdateManager()=default

Yazılım Güncellemesi Yöneticisi

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

Yazılım Güncellemesi Yöneticisi

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operatör=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~YazılımGüncellemeYöneticisi

 ~SoftwareUpdateManager()=default