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 następujących 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 generowane 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

Struktura

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 następujących działań w ramach wywołania zwrotnego zdarzenia SoftwareUpdateAvailable API.

Działanie domyślne 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 oraz instalacja.

Komputer w stanie menedżera aktualizacji oprogramowania przejdzie w stan Zarządzane przez aplikację. Zaplanowane sprawdzanie aktualizacji oprogramowania (jeśli jest włączone) zostanie zawieszone do czasu wywołania interfejsu Abort lub ImageInstallComplete API.

kAction_DownloadLater

Wstrzymaj pobieranie przy uruchamianiu.

Zaplanowane sprawdzanie dostępności aktualizacji oprogramowania (jeśli jest włączone) będzie zawieszone. State Engine pozostanie w stanie pobierania. Gdy wszystko będzie gotowe, aplikacja może wywołać interfejs API wznowień pobierania, aby kontynuować pobieranie, lub wywołać funkcję Abort, aby anulować.

kAction_DownloadNow

Od razu zacznij pobieranie.

Bezpośrednio po tym zostanie wygenerowane wywołanie zwrotne zdarzenia interfejsu kEvent_FetchPartialImageInfo API.

kAction_Ignore

Całkowicie zignoruj pobieranie.

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

EventCallback

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

EventType

 EventType

Zdarzenia interfejsu API generowane przez obiekt SoftwareUpdateManager.

Właściwości
kEvent_ComputeImageIntegrity

Oblicz wartość kontrolną integralności obrazu.

Powoduje, że aplikacja oblicza wartość kontroli integralności dla pobranego obrazu. Wygenerowany po zakończeniu pobierania.

kEvent_DefaultCheck

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

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

Aplikacje NIE mogą obsługiwać tego zdarzenia.

kEvent_FetchPartialImageInfo

Pobierz informacje o stanie utrwalonego na częściowo pobranego obrazu.

Aplikacja może ujawnić informacje o części pobranego wcześniej obrazu, aby pobieranie mogło być kontynuowane od miejsca zatrzymania. Identyfikator URI dostępnej aktualizacji oprogramowania jest podawany jako parametr wejściowy, którego aplikacja może używać do porównywania, czy pobierany obraz jest taki sam jak jego części.

Aplikacja powinna zwrócić część obrazu w parametrze wyjściowym PartialImageLenInBytes. Aplikacja może ustawić wartość PartialImageLenInBytes na 0, by wskazać, że obraz częściowy nie istnieje lub że nie pasuje identyfikator URI części obrazu.

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

kEvent_Finished

Zakończono proces aktualizacji oprogramowania.

Wygenerowane, 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ę z powodu niepowodzenia.

kEvent_PrepareImageStorage

Przygotuj się do zapisania nowego obrazu.

Żąda od aplikacji wykonania wszelkich kroków niezbędnych do przygotowania pamięci lokalnej do pobrania nowego obrazu oprogramowania układowego. Pozwala to aplikacji na przykład usuwać strony w formacie Flash.

Zdarzenie PrepareImageStorage jest generowane tylko w przypadku pobierania nowego obrazu oprogramowania układowego. W przypadku wznowienia wcześniej przerwanego pobierania nie zostanie wygenerowany element PrepareImageStorage.

Aplikacja musi zasygnalizować zakończenie operacji przygotowania, wywołując metodę PrepareImageStorageComplete(). Może to zrobić w trakcie samego wywołania zwrotnego zdarzenia lub w późniejszym czasie. Jeśli wywołasz je z zadania innego niż Weave, element wywołujący musi przytrzymać blokadę stosu Weave.

Aplikacja może zignorować zdarzenie PrepareImageStorage, przekazując je do domyślnego modułu obsługi zdarzeń. Jeśli to zrobisz, system automatycznie przejdzie do stanu pobierania obrazu.

Aby wznawiać przerwane pobieranie, aplikacja powinna zachowywać identyfikator URI obrazu (podany jako parametr zdarzenia) i używać go do obsługi kolejnych zdarzeń FetchPartialImageInfo.

kEvent_PrepareQuery

Przygotuj wiadomość dotyczącą zapytania o obraz.

Wygenerowane po aktywowaniu sprawdzania dostępności aktualizacji oprogramowania. Daje aplikacji możliwość dostarczenia przez aplikację informacji o produkcie do komunikatu SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Przygotuj metadane dla żądania ImageQuery.

Daje aplikacji możliwość dołączenia w razie potrzeby dodatkowych metadanych do komunikatu SofwareUpdate:ImageQuery. Generuje się, gdy implementacja jest gotowa do pobrania metadanych z aplikacji.

kEvent_QueryPrepareFailed

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

Wygenerowane, gdy implementacja napotka błąd podczas przygotowań do wysłania zapytania o aktualizację oprogramowania.

kEvent_QuerySent

Żądanie dotyczące obrazu zostało wysłane.

Zdarzenie informacyjne sygnalizujące wysłanie wiadomości SofwareUpdate:ImageQuery.

kEvent_ReadyToInstall

Obraz jest gotowy do zainstalowania.

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

kEvent_ResetPartialImageInfo

Resetuj stan częściowo pobranego obrazu.

Zgłasza do aplikacji prośbę o zapomnienie stanu powiązanego 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 częściowy obraz nie jest dostępny.

Pamiętaj, że w przypadku obsługi zdarzenia ResetPartialImageInfo aplikacja NIE musi usuwać danych obrazu, a jedynie powiązane z nim informacje o stanie (tj. identyfikator URI i częściowa długość 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.

Wygenerowany po otrzymaniu żądania SofwareUpdate:ImageQueryResponse na zapytanie zawierające informacje o dostępnej aktualizacji.

kEvent_StartImageDownload

Rozpoczęto pobieranie obrazu.

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

kEvent_StartInstallImage

Rozpocznij instalację obrazu.

Żąda, aby aplikacja była procesem instalowania pobranego obrazu oprogramowania układowego.

kEvent_StoreImageBlock

Przechowuj blok danych obrazu.

Generowane za każdym razem, gdy serwer pobierania plików otrzyma blok danych. Parametry uwzględnione w tym zdarzeniu podają dane i ich długość.

Aby wznawiać przerwane pobieranie, aplikacja powinna zachowywać stałą liczbę wszystkich zapisanych bajtów obrazu i używać tej wartości do obsługi kolejnych zdarzeń FetchPartialImageInfo.

RetryPolicyCallback

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

Stan

 State

Klasy znajomych

Wewnętrzne::OgólnaPlatformaManagerImpl

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

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default