nl::Weave::DeviceLayer::SoftwareUpdateManager

Zusammenfassung

Übernahme

Direkte bekannte abgeleitete Klassen:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

Öffentliche Typen

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
Wenn ein Softwareupdate verfügbar ist, kann die Anwendung eine der folgenden Aktionen als Teil des SoftwareUpdateAvailable API-Ereignis-Callbacks auswählen.
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
Vom SoftwareUpdateManager-Objekt generierte API-Ereignisse.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef.
void(*
State enum

Kurse für Freunde

Internal::GenericPlatformManagerImpl
friend class

Öffentliche Funktionen

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

Öffentliche statische Funktionen

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

Geschützte Funktionen

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

Strukturen

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

Gewerkschaften

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

Öffentliche Typen

ActionType

 ActionType

Wenn ein Softwareupdate verfügbar ist, kann die Anwendung eine der folgenden Aktionen als Teil des SoftwareUpdateAvailable API-Ereignis-Callbacks auswählen.

Die Standardaktion ist auf „kAction_Now“ festgelegt.

Attribute
kAction_ApplicationManaged

Ermöglicht der App, die restlichen Phasen der Softwareaktualisierung wie Download, Validierung der Bildintegrität und Installation zu verwalten.

Die Statusmaschine des Software-Update-Managers wird in den Status „Anwendungverwaltet“ versetzt. Geplante Prüfungen auf Softwareupdates (falls aktiviert) werden ausgesetzt, bis die Anwendung die API „Abort“ oder „ImageInstallComplete“ aufruft.

kAction_DownloadLater

Download beim Start anhalten.

Geplante Prüfungen auf Softwareupdates (falls aktiviert) werden ausgesetzt. Der Statuscomputer bleibt im Status „Download“. Wenn die Anwendung bereit ist, kann sie die API zum Fortsetzen des Downloads aufrufen, um mit dem Download fortzufahren, oder den Abbruch aufrufen, um den Vorgang abzubrechen.

kAction_DownloadNow

Starten Sie den Download sofort.

Direkt danach wird ein kEvent_FetchPartialImageInfo API-Ereignis-Callback generiert.

kAction_Ignore

Ignorieren Sie den Download vollständig.

Ein kEvent_Finished API-Ereignis-Callback wird mit dem Fehler WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED generiert, wenn diese Option ausgewählt ist und die Wiederholungslogik nicht aufgerufen wird.

EventCallback

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

EventType

 EventType

Vom SoftwareUpdateManager-Objekt generierte API-Ereignisse.

Attribute
kEvent_ComputeImageIntegrity

Berechnet einen Wert für die Image-Integritätsprüfung.

Fordert die Anwendung an, über das heruntergeladene Image einen Wert für die Integritätsprüfung zu berechnen. Wird nach dem Download generiert.

kEvent_DefaultCheck

Standardverhalten für die Ereignisverarbeitung überprüfen

Wird verwendet, um die korrekte Verarbeitung von Standardereignissen in der Anwendung zu prüfen.

Anwendungen dürfen dieses Ereignis NICHT verarbeiten.

kEvent_FetchPartialImageInfo

Ruft persistente Statusinformationen für ein teilweise heruntergeladenes Image ab.

Bietet der App die Möglichkeit, Informationen zu einem zuvor heruntergeladenen Teilbild offenzulegen, damit der Download an der Stelle fortgesetzt werden kann, an der er zuletzt angehalten wurde. Der URI des verfügbaren Softwareupdates wird als Eingabeparameter angegeben, mit dem die Anwendung vergleichen kann, ob das heruntergeladene Bild mit dem Teilbild übereinstimmt.

Es wird erwartet, dass die Anwendung die Länge des Teilbilds im Ausgabeparameter PartialImageLenInBytes zurückgibt. Die Anwendung kann den Wert von PartialImageLenInBytes auf 0 setzen, um anzugeben, dass kein Teilbild vorhanden ist oder dass der URI des Teilbilds nicht übereinstimmt.

Die Anwendung kann dieses Ereignis ignorieren, indem sie es an den Standard-Event-Handler übergibt. In diesem Fall lädt das System immer das gesamte verfügbare Firmware-Image herunter.

kEvent_Finished

Softwareupdate abgeschlossen.

Wird generiert, wenn eine Prüfung auf Softwareupdates mit oder ohne Fehler abgeschlossen wurde. Die in diesem Ereignis enthaltenen Parameter geben den Grund für den Fehler an, wenn der Versuch aufgrund eines Fehlers abgeschlossen wurde.

kEvent_PrepareImageStorage

Das Speichern eines neuen Bildes vorbereiten.

Fordert die Anwendung an, alle Schritte auszuführen, die zur Vorbereitung des lokalen Speichers für den Download eines neuen Firmware-Images erforderlich sind. Die Anwendung kann diese Funktion beispielsweise zum Löschen von Flash-Seiten verwenden.

Das PrepareImageStorage-Ereignis wird nur generiert, wenn ein neues Firmware-Image heruntergeladen wird. Wenn ein zuvor unterbrochener Download fortgesetzt wird, wird kein PrepareImageStorage generiert.

Die Anwendung muss den Abschluss des Vorbereitungsvorgangs durch Aufrufen der Methode PrepareImageStorageComplete() signalisieren. Dies kann innerhalb des Ereignis-Callbacks selbst oder zu einem späteren Zeitpunkt erfolgen. Wenn der Aufruf von einer anderen Aufgabe als der Weave-Aufgabe aus erfolgt, muss der Aufrufer die Weave-Stack-Sperre halten.

Die Anwendung kann das PrepareImageStorage-Ereignis ignorieren, indem es an den Standard-Event-Handler übergeben. In diesem Fall fährt das System automatisch in den Status „Bild-Download“ über.

Damit ein unterbrochener Download fortgesetzt werden kann, sollte die Anwendung den Bild-URI (als Ereignisparameter bereitgestellt) beibehalten und diesen bei der Verarbeitung nachfolgender FetchPartialImageInfo-Ereignisse verwenden.

kEvent_PrepareQuery

ImageQuery-Nachricht vorbereiten.

Wird generiert, wenn eine Prüfung auf Softwareupdates ausgelöst wurde. Bietet der Anwendung die Möglichkeit, in der Nachricht SofwareUpdate:ImageQuery produktbezogene Informationen anzugeben.

kEvent_PrepareQuery_Metadata

Bereiten Sie Metadaten für die ImageQuery-Anfrage vor.

Bietet der Anwendung die Möglichkeit, bei Bedarf zusätzliche Metadaten an die SofwareUpdate:ImageQuery-Nachricht anzuhängen. Wird generiert, wenn die Implementierung bereit ist, Metadaten aus der Anwendung abzurufen.

kEvent_QueryPrepareFailed

Fehler beim Vorbereiten einer ImageQuery-Anfrage.

Wird generiert, wenn bei der Implementierung bei der Vorbereitung zum Senden einer Abfrage zum Softwareupdate ein Fehler auftritt.

kEvent_QuerySent

ImageQuery-Anfrage wurde gesendet.

Informationsereignis, das signalisiert, dass eine SofwareUpdate:ImageQuery-Nachricht gesendet wurde.

kEvent_ReadyToInstall

Das Image kann jetzt installiert werden.

Informationsereignis, das signalisiert, dass das Image installiert werden kann. Wird generiert, sobald ein Bild die Integritätsprüfung bestanden hat.

kEvent_ResetPartialImageInfo

Status des teilweise heruntergeladenen Bildes zurücksetzen.

Fordert die Anwendung an, den beibehaltenen Status zu entfernen, der mit einem heruntergeladenen Image verknüpft ist. Ein ResetPartialImageInfo-Ereignis wird immer dann generiert, wenn ein heruntergeladenes Bild die Integritätsprüfung nicht besteht. Nachdem ein ResetPartialImageInfo-Ereignis verarbeitet wurde, sollte bei nachfolgenden FetchPartialImageInfo-Ereignissen angezeigt werden, dass kein Teilbild verfügbar ist.

Bei der Verarbeitung des ResetPartialImageInfo-Ereignisses muss die Anwendung NICHT die Bilddaten selbst löschen, sondern nur die mit dem Bild verknüpften Statusinformationen (d.h. URI und Teillänge des Bilds).

Wenn die Anwendung die Wiederaufnahme von Bilddownloads nicht unterstützt, ignoriert sie dieses Ereignis möglicherweise, indem es an den Standard-Event-Handler übergeben wird.

kEvent_SoftwareUpdateAvailable

Ein Softwareupdate ist verfügbar.

Wird generiert, wenn eine SofwareUpdate:ImageQueryResponse als Antwort auf eine Abfrage mit Informationen zum verfügbaren Update eingeht.

kEvent_StartImageDownload

Der Download des Bildes hat begonnen.

Informationsereignis, das den Beginn einer Bilddownloadtransaktion signalisiert.

kEvent_StartInstallImage

Image-Installation starten.

Fordert die Installation eines heruntergeladenen Firmware-Images auf.

kEvent_StoreImageBlock

Speichert einen Block mit Bilddaten.

Wird generiert, wenn ein Datenblock vom Dateidownloadserver empfangen wird. In diesem Ereignis enthaltene Parameter enthalten die Daten und die Länge der Daten.

Damit ein unterbrochener Download fortgesetzt werden kann, sollte die Anwendung eine dauerhafte Anzahl der gespeicherten Bildbyte beibehalten und diesen Wert bei der Verarbeitung nachfolgender FetchPartialImageInfo-Ereignisse verwenden.

RetryPolicyCallback

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

Status

 State

Kurse für Freunde

Intern::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

Öffentliche Funktionen

Abbrechen

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
)

Öffentliche statische Funktionen

DefaultEventHandler

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

Geschützte Funktionen

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

operator=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default