nl::Weave::DeviceLayer::SoftwareUpdateManager

Podsumowanie

Dziedziczenie

Bezpośrednie znane podklasy:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

Typy publiczne

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum | typ wyliczeniowy
Gdy dostępna jest aktualizacja oprogramowania, aplikacja może wybrać jedno z tych działań w ramach wywołania zwrotnego zdarzenia 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 | typ wyliczeniowy
Zdarzenia interfejsu API wygenerowane przez obiekt SoftwareUpdateManager.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enum | typ wyliczeniowy

Klasy znajomych

Internal::GenericPlatformManagerImpl
friend class

Funkcje publiczne

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

Publiczne funkcje statyczne

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

Funkcje chronione

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

Konstrukcja

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

Związki

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

Typy publiczne

ActionType

 ActionType

Gdy dostępna jest aktualizacja oprogramowania, aplikacja może wybrać jedno z tych działań w ramach wywołania zwrotnego zdarzenia SoftwareUpdateAvailable API.

Domyślne działanie to kAction_Now.

Właściwości
kAction_ApplicationManaged

Zezwala aplikacji na zarządzanie pozostałymi fazami aktualizacji oprogramowania, takimi jak pobieranie, weryfikacja integralności obrazu i instalowanie.

Maszyna stanu menedżera aktualizacji oprogramowania przejdzie w stan Zarządzane przez aplikację. Zaplanowane sprawdzanie dostępności aktualizacji oprogramowania (jeśli jest włączone) będą zawieszone do czasu przerwania wywoływania aplikacji lub interfejsu ImageInstallComplete API.

kAction_DownloadLater

Wstrzymaj pobieranie przy rozpoczęciu.

Zaplanowane sprawdzanie dostępności aktualizacji oprogramowania (jeśli jest włączone) zostaną zawieszone. Komputer stanowy pozostanie w stanie pobierania. Gdy wszystko będzie gotowe, aplikacja może wywołać interfejs API wznowienia pobierania, aby kontynuować pobieranie, lub wywołać przerwę, aby anulować.

kAction_DownloadNow

Natychmiast rozpocznij pobieranie.

Od razu zostanie wygenerowane wywołanie zwrotne zdarzenia kEvent_FetchPartialImageInfo.

kAction_Ignore

Zignoruj pobieranie.

Jeśli ta opcja jest zaznaczona, wywołanie zwrotne zdarzenia kEvent_Finished API zostanie wygenerowane z błędem WEAVE_DEVICE_ERROR_ISSUE_UPDATE_CANCELLED, a logika ponawiania nie zostanie wywołana.

EventCallback

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

EventType

 EventType

Zdarzenia interfejsu API wygenerowane przez obiekt SoftwareUpdateManager.

Właściwości
kEvent_ComputeImageIntegrity

Oblicza wartość kontroli integralności obrazu.

Zgłasza prośbę do aplikacji o obliczenie wartości kontroli integralności dla pobranego obrazu. Wygenerowany po zakończeniu pobierania.

kEvent_DefaultCheck

Sprawdź domyślne zachowanie obsługi zdarzeń.

Służy do weryfikowania prawidłowej domyślnej obsługi zdarzeń w aplikacji.

Aplikacje NIE mogą obsługiwać tego zdarzenia.

kEvent_FetchPartialImageInfo

Pobierz informacje o stanie trwałych obrazów w przypadku częściowo pobranego obrazu.

Umożliwia aplikacji ujawnienie informacji o częściowym obrazie pobranym wcześniej, dzięki czemu pobieranie może być kontynuowane od momentu ostatniego zatrzymania. Identyfikator URI aktualizacji dostępnego oprogramowania jest podawany jako parametr wejściowy, którego aplikacja może użyć do porównania, czy pobierany obraz jest taki sam jak części obrazu.

Aplikacja powinna zwracać długość częściowego obrazu w parametrze wyjściowym PartialImageLenInBytes. Aplikacja może ustawić wartość PartialImageLenInBytes na 0, co oznacza, że nie ma częściowego obrazu lub że identyfikator URI części obrazu jest niezgodny.

Aplikacja może zignorować to zdarzenie, przekazując je do domyślnego modułu obsługi zdarzeń. W takim przypadku system zawsze będzie pobierać cały dostępny obraz oprogramowania układowego.

kEvent_Finished

Zakończono proces aktualizacji oprogramowania.

Generujemy, gdy sprawdzanie dostępności aktualizacji oprogramowania zakończy się z błędami lub bez nich. Parametry uwzględnione w tym zdarzeniu podają przyczynę niepowodzenia, jeśli próba zakończyła się niepowodzeniem.

kEvent_PrepareImageStorage

Przygotuj się do przechowywania nowego obrazu.

Aplikacja żąda wykonania wszelkich czynności niezbędnych do przygotowania pamięci lokalnej na pobranie nowego obrazu oprogramowania układowego. Aplikacja może go używać np. do usuwania stron w formacie Flash.

Zdarzenie PrepareImageStorage jest generowane tylko w przypadku pobierania nowego obrazu oprogramowania układowego. Po wznowieniu wcześniej przerwanego pobierania element PrepareImageStorage nie jest generowany.

Aplikacja musi sygnalizować zakończenie operacji przygotowywania, wywołując metodę PrepareImageStorageComplete(). Może to zrobić w ramach wywołania zwrotnego zdarzenia lub w późniejszym czasie. Jeśli jest wywoływane z zadania innego niż zadanie Weave, osoba wywołująca musi mieć blokadę stosu Weave.

Aplikacja może ignorować zdarzenie PrepareImageStorage, przekazując je do domyślnego modułu obsługi zdarzeń. Jeśli tak się stanie, system automatycznie przejdzie do stanu pobrania obrazu.

Aby móc wznawiać przerywane pobieranie, aplikacja powinna zachować identyfikator URI obrazu (podany jako parametr zdarzenia) i używać go podczas obsługi kolejnych zdarzeń FetchPartialImageInfo.

kEvent_PrepareQuery

Przygotuj wiadomość Zapytanie o obrazy.

Wygenerowany po uruchomieniu sprawdzania dostępności aktualizacji oprogramowania. Umożliwia aplikacji przekazanie informacji o produkcie w wiadomości SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Przygotuj metadane na potrzeby żądania ImageQuery.

W razie potrzeby aplikacja może dołączyć dodatkowe metadane do komunikatu SofwareUpdate:ImageQuery. Generujemy go, gdy implementacja jest gotowa do pobrania metadanych z aplikacji.

kEvent_QueryPrepareFailed

Podczas przygotowywania żądania ImageQuery wystąpił błąd.

Generujemy, gdy implementacja napotka błąd podczas przygotowywania do wysłania zapytania o aktualizację oprogramowania.

kEvent_QuerySent

Żądanie ImageQuery zostało wysłane.

Zdarzenie informacyjne sygnalizujące, że została wysłana wiadomość SofwareUpdate:ImageQuery.

kEvent_ReadyToInstall

Obraz jest gotowy do instalacji.

Zdarzenie informacyjne sygnalizujące, że obraz jest gotowy do instalacji. Generujemy, gdy obraz przejdzie kontrolę integralności.

kEvent_ResetPartialImageInfo

Resetowanie stanu częściowo pobranego obrazu.

Żąda, aby aplikacja zapomniała stan trwały powiązany z pobranym obrazem. Zdarzenie ResetPartialImageInfo jest generowane za każdym razem, gdy pobrany obraz nie przejdzie kontroli integralności. Po przetworzeniu zdarzenia ResetPartialImageInfo kolejne zdarzenia FetchPartialImageInfo powinny wskazywać, że nie jest dostępny częściowy obraz.

Pamiętaj, że podczas obsługi zdarzenia ResetPartialImageInfo nie aplikacja musi usuwać samych danych obrazu, a jedynie informacji o stanie powiązanych z obrazem (tj. identyfikatora URI i częściowej długości obrazu).

Jeśli aplikacja nie obsługuje wznawiania pobierania obrazów, może zignorować to zdarzenie, przekazując je do domyślnego modułu obsługi zdarzeń.

kEvent_SoftwareUpdateAvailable

Dostępna jest aktualizacja oprogramowania.

Generujemy, gdy w odpowiedzi na zapytanie zawierające informacje o dostępnej aktualizacji otrzymana jest odpowiedź SofwareUpdate:ImageQueryResponse.

kEvent_StartImageDownload

Rozpoczęto pobieranie obrazu.

Zdarzenie informacyjne sygnalizujące rozpoczęcie transakcji pobierania obrazu.

kEvent_StartInstallImage

Rozpocznij instalację obrazu.

Wysyła do aplikacji prośbę o zainstalowanie pobranego obrazu oprogramowania układowego.

kEvent_StoreImageBlock

Przechowuj blok danych obrazu.

Generujemy za każdym razem, gdy z serwera pobierania plików otrzyma blok danych. Parametry dołączone do tego zdarzenia podają dane i długość danych.

Aby móc wznawiać przerywane pobieranie, aplikacja powinna stale przechowywać łączną liczbę przechowywanych bajtów obrazu i używać tej wartości podczas obsługi kolejnych zdarzeń FetchPartialImageInfo.

RetryPolicyCallback

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

Stan

 State

Klasy znajomych

Wewnętrzne::TypowePlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Funkcje publiczne

Przerwij

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
)

Publiczne funkcje statyczne

DefaultEventHandler

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

Funkcje chronione

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~Menedżer aktualizacji oprogramowania

 ~SoftwareUpdateManager()=default