nl::Weave::DeviceLayer::SoftwareUpdateManager

Özet

Devralma

Doğrudan Bilinen Alt Sınıflar:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImplnl::Weave::DeviceLayer::SoftwareUpdateManagerImplnl::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ğırma işleminin 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ş dersleri

Internal::GenericPlatformManagerImpl
friend class

Kamu işlevleri

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ğırma işleminin 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üğünü doğrulama ve yükleme gibi yazılım güncellemesinin geri kalan aşamalarını yönetme izni verir.

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

kAction_DownloadLater

İndirme işlemi başlangıçta duraklatılır.

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

kAction_DownloadNow

İndirme işlemine hemen başlayın.

Hemen sonra bir kEvent_FetchucuImageInfo 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 WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED hatasıyla bir kEvent_Finished API etkinliği geri çağırması 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ü değerini hesaplayın.

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

kEvent_DefaultCheck

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

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

Uygulamalar bu etkinliği İŞLEME ALMAMALIDIR.

kEvent_FetchPartialImageInfo

Kısmen indirilen bir görselin kalıcı durum bilgileri alındı.

İndirme işleminin en son durdurulduğu andan itibaren devam edebilmesi için, uygulamaya daha önce indirilen kısmi bir resmin bilgilerini açıklama fırsatı verir. Mevcut yazılım güncellemesinin URI'si, uygulamanın indirilmekte olan görselin kısmi görüntüyle aynı olup olmadığını karşılaştırmak için kullanabileceği bir giriş parametresi olarak sağlanır.

Uygulamanın, KısmiImageLenInBytes çıkış parametresinde kısmi resmin uzunluğunu döndürmesi beklenir. Uygulama, kısmi resmin olmadığını veya kısmi resmin URI'sının 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 tamamlanırsa başarısızlığın nedenini sağlar.

kEvent_PrepareImageStorage

Yeni görüntünün depolanması 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ırlamak için gerekli tüm adımları uygulamasını ister. Uygulama bunu örneğin, flash sayfalarını silmek için 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ı bildirmelidir. Bu işlem, etkinlik geri çağırma işleminin kendisinde veya daha sonra yapılabilir. Weave görevi dışındaki bir görevden çağrılırsa çağrıyı yapan kişi Weave yığın kilidini tutmalıdır.

Uygulama, varsayılan etkinlik işleyiciye ileterek PrepareImageStorage etkinliğini yoksaymayı seçebilir. Bu işlem yapılırsa 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) sürdürmesi ve sonraki FetchFetchImageInfo etkinliklerini işlerken bunu kullanması gerekir.

kEvent_PrepareQuery

ImageQuery mesajı hazırlayın.

Yazılım güncelleme kontrolü tetiklendiğinde oluşturulur. Uygulamaya, SofwareUpdate:ImageQuery mesajına ürünle ilgili bilgiler sağlama fırsatı sunar.

kEvent_PrepareQuery_Metadata

ImageQuery isteği için meta verileri hazırlayın.

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

kEvent_QueryPrepareFailed

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

Yazılım güncelleme sorgusu gönderilmeye hazırlanırken uygulama bir hatayla karşılaştığında oluşturulur.

kEvent_QuerySent

ImageQuery isteği gönderildi.

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

kEvent_ReadyToInstall

Görüntü yüklenmeye hazır.

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

kEvent_ResetPartialImageInfo

Kısmen indirilen resmin durumunu sıfırlayın.

Uygulamanın, indirilen bir görüntüyle ilişkili kalıcı durumu unutmasını ister. İndirilen bir resmin bütünlük kontrolünde başarısız olması durumunda bir CustomImageInfo etkinliği oluşturulur. Bir SıfırlamaKısmiImageInfo etkinliği işlendikten sonra, sonraki FetchFetchImageInfo etkinlikleri herhangi bir kısmi görüntü olmadığını gösterir.

SıfırlamaKısmiImageInfo etkinliğini işlerken uygulamanın resim verilerini temizlemesi gerekli DEĞİLDİR, yalnızca resimle ilişkili durum bilgilerini (ör. URI ve kısmi resim uzunluğu) temizlemeniz gerektiğini unutmayın.

Uygulama, resim 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ı.

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

kEvent_StartInstallImage

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

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

kEvent_StoreImageBlock

Bir resim verisi bloğunu 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ın kalıcı bir sayısını saklaması ve sonraki FetchKısmiImageInfo etkinliklerini işlerken bu değeri kullanması gerekir.

RetryPolicyCallback

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

Eyalet

 State

Arkadaş dersleri

Dahili::GeneralPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Kamu işlevleri

İ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

operatör=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~YazılımGüncelleme Yöneticisi

 ~SoftwareUpdateManager()=default