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 SoftwareUpdateAvailable API etkinlik geri çağırmasının parçası olarak aşağıdaki işlemlerden birini seçebilir.
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
SoftwareUpdateManager nesnesi tarafından oluşturulan API etkinlikleri.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
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

Korunan işlevler

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

Yapılar

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

Birlikler

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

Herkese açık türler

ActionType

 ActionType

Bir yazılım güncellemesi mevcut olduğunda, uygulama SoftwareUpdateAvailable API etkinlik geri çağırmasının parçası olarak aşağıdaki işlemlerden birini seçebilir.

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

Özellikler
kAction_ApplicationManaged

Uygulamaya, indirme, görüntü bütünlüğü doğrulaması ve yükleme gibi yazılım güncellemesinin geri kalan aşamalarını yönetme izni verir.

Yazılım güncelleme yöneticisi durum makinesi, ApplicationManaged durumuna geçer. Planlanmış yazılım güncelleme kontrolleri (etkinse), uygulama Abort veya ImageUploadComplete API'sini çağırana kadar askıya alınır.

kAction_DownloadLater

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

Planlanmış yazılım güncelleme kontrolleri (etkinse) askıya alınır. Durum makinesi, İndirme durumunda kalır. Uygulama hazır olduğunda, indirme işlemine devam etmek için indirme API'sini çağırabilir veya iptal etmek için İptal'i çağırabilir.

kAction_DownloadNow

İndirme işlemini hemen başlatın.

Bu işlemden hemen sonra kEvent_FetchPercentageImageInfo API etkinliği geri çağırması oluşturulur.

kAction_Ignore

İndirme işlemini tamamen yoksayın.

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

EventCallback

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

EventType

 EventType

SoftwareUpdateManager nesnesi tarafından oluşturulan API etkinlikleri.

Özellikler
kEvent_ComputeImageIntegrity

Görüntü bütünlüğü kontrolünün değerini hesaplayın.

Uygulamanın, indirilen görüntü üzerinde bütünlük kontrolü değeri hesaplamasını ister. İndirme işlemi tamamlandığında oluşturulur.

kEvent_DefaultCheck

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

Uygulamada varsayılan etkinlik işlemenin doğru olduğunu doğrulamak için kullanılır.

Uygulamalar bu etkinliği İŞLEME YAPMAMALIDIR.

kEvent_FetchPartialImageInfo

Kısmen indirilmiş bir resmin kalıcı durum bilgilerini getir.

Uygulamaya, indirme işleminin son kaldığı noktadan devam edebilmesi için önceden indirilmiş kısmi bir resimle ilgili bilgileri ifşa etmesi için fırsat tanır. İndirilmekte olan resmin kısmi resimle aynı olup olmadığını karşılaştırmak için uygulamanın kullanabileceği bir giriş parametresi olarak mevcut yazılım güncellemesinin URI'si sağlanır.

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

Uygulama bu etkinliği varsayılan etkinlik işleyiciye ileterek yoksaymayı seçebilir. Bu işlem yapılırsa sistem her zaman mevcut donanım yazılımı görüntüsünün tamamını indirir.

kEvent_Finished

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

Yazılım güncelleme kontrolü hatalarla veya hata olmadan tamamlandığında oluşturulur. Bu etkinliğe dahil edilen parametreler, deneme bir hata nedeniyle tamamlandıysa başarısızlığın nedenini sağlar.

kEvent_PrepareImageStorage

Yeni bir görüntü depolama işlemi için hazırlanın.

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

PrepareImageStorage etkinliği yalnızca yeni bir donanım yazılımı görüntüsünün indirildiği durumlarda oluşturulur. Daha önce kesintiye uğrayan bir indirme işlemi devam ettirildiğinde PrepareImageStorage oluşturulmaz.

Uygulama, PrepareImageStorageComplete() yöntemini çağırarak hazırlama işleminin tamamlandığını belirtmelidir. Bu işlemi etkinlik geri çağırması içinde veya daha sonra yapabilir. Örgü görevi dışındaki bir görevden çağrılırsa arayan, Weave yığını kilidini tutmalıdır.

Uygulama, PrepareImageStorage etkinliğini varsayılan etkinlik işleyiciye ileterek yoksaymayı seçebilir. Bu durumda sistem otomatik olarak resim indirme durumuna geçer.

Kesilen bir indirme işleminin devam ettirilmesini desteklemek için uygulamanın, resim URI'sini (etkinlik parametresi olarak sağlanır) tutması ve sonraki FetchKısmiImageInfo etkinliklerini işlerken bunu kullanması gerekir.

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 bilgiler sağlaması için fırsat sunar.

kEvent_PrepareQuery_Metadata

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

Uygulamanın, gerekirse SofwareUpdate:ImageQuery mesajına ilave meta veriler eklemesi için fırsat verir. Uygulama, uygulamadan meta veri almaya hazır olduğunda oluşturulur.

kEvent_QueryPrepareFailed

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

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

kEvent_QuerySent

ImageQuery isteği gönderildi.

SofwareUpdate:ImageQuery mesajının gönderildiğini belirten bilgilendirme etkinliği.

kEvent_ReadyToInstall

Resim yüklenmeye hazır.

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

kEvent_ResetPartialImageInfo

Kısmen indirilmiş resmin durumunu sıfırlayın.

Uygulamanın, indirilen bir görüntüyle ilişkili kalıcı durumu unutmasını ister. İndirilen bir görüntünün bütünlük kontrolünde başarısız olduğu her seferinde bir DefaultImageInfo etkinliği oluşturulur. Sıfırlama Kısmi ImageInfo etkinliği işlendikten sonra, sonraki FetchFetchImageInfo etkinlikleri hiçbir kısmi resmin mevcut olmadığını belirtmelidir.

DefaultImageInfo etkinliğini işlerken uygulamanın resim verilerini temizlemesi GEREKMEZ, yalnızca resimle ilişkili durum bilgilerini (ör. URI ve kısmi görüntü uzunluğu) temizlemesi gerekmez.

Uygulama, görüntü indirmeyi devam ettirmeyi desteklemiyorsa bu etkinliği varsayılan etkinlik işleyiciye ileterek yok sayabilir.

kEvent_SoftwareUpdateAvailable

Yazılım güncellemesi mevcut.

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

kEvent_StartImageDownload

Resim indirme işlemi başladı.

Bir resim indirme işleminin başladığını bildiren bilgilendirme etkinliği.

kEvent_StartInstallImage

Görüntü yüklemeye başlayın.

Uygulamanın, indirilmiş bir donanım yazılımı görüntüsünü yükleme işlemi olmasını ister.

kEvent_StoreImageBlock

Bir resim verisi bloku depolayın.

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

Kesilen bir indirme işleminin devam ettirilmesini desteklemek için uygulamanın, depolanan toplam resim baytı sayısını kalıcı olarak tutması ve sonraki FetchFetchImageInfo etkinliklerini işlerken bu değeri kullanması gerekir.

RetryPolicyCallback

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

Eyalet

 State

Arkadaşlık dersleri

Dahili::GenelPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Herkese açık işlevler

İptal et

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
)

Herkese açık statik işlevler

DefaultEventHandler

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

Korunan işlevler

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default