Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::SoftwareUpdate::ImageQueryResponse

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

Eine Klasse, die das Erstellen und Decodieren der Bildabfrage-Antwortnachrichten unterstützt.

Fazit

Die Antwort auf die Bildabfrage hat das folgende Format:

Zeitfenster Feldname
Variable URI
Variable Versionsspezifikation
Variable Integritätsspezifikation
1 Byte Schema aktualisieren
1 Byte Aktualisierungsoptionen
Das Format der optionalen Updateoptionen lautet:

Einsätze Bedeutung
0,2 Priorität aktualisieren
3,4 Bedingung aktualisieren
5 Berichtsstatus Wenn dies festgelegt ist, wird der Client aufgefordert, die optionalen Nachrichten „DownloadNotify“ und „UpdateNotify“ zu generieren.
5,7 Reserviert
Die Bildabfrageantwort wird nur gesendet, wenn die Bildabfrage erfolgreich verarbeitet wird und ein Bild zum Download generiert. Die Nachricht enthält Downloadanleitungen für den Knoten, an den die Abfrage gesendet wurde. Wenn der Server die Bildabfrage nicht verarbeitet, wird ein Status der Bildabfrage generiert.

Konstrukteur und Zerstörer

ImageQueryResponse()
Der Standardkonstruktor für ImageQueryResponse.

Öffentliche Attribute

integritySpec
Ein Feld mit den Integritätsinformationen (Integritätstyp und Hash) für das Bild zur Softwareaktualisierung.
reportStatus
bool
Anfrage, den Server über die optionalen Nachrichten „DownloadNotify“ und „UpdateNotify“ über den Fortschritt der Software zu informieren.
updateCondition
Anleitung für die Bedingungen, die mit der Softwareaktualisierung verbunden werden müssen
updatePriority
Anweisungen zum Ausführen des Softwareupdates für das Gerät.
updateScheme
uint8_t
Das Updateschema, das zum Herunterladen des Software-Updatebilds verwendet wird.
uri
Ein UTF-8-String mit variabler Länge, der den Speicherort des Softwarebilds enthält.
versionSpec
Ein UTF-8-String mit variabler Länge, der eine anbieterspezifische Softwareversionsidentifikation enthält.

Öffentliche Funktionen

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Initialisieren Sie das Objekt ImageQueryResponse explizit mit den angegebenen Werten.
operator==(const ImageQueryResponse &) const
bool
Ein Gleichheitsoperator.
pack(PacketBuffer *)
serialisiert ImageQueryResponse in den bereitgestellten PacketBuffer.
print(void)
void

Öffentliche statische Funktionen

parse(PacketBuffer *, ImageQueryResponse &)
Defragmentieren Sie die in einem PacketBuffer bereitgestellte Bildabfrageantwortnachricht in eine bereitgestellte ImageQueryResponse.

Öffentliche Attribute

Integritätsspezifikation

IntegritySpec integritySpec

Ein Feld mit den Integritätsinformationen (Integritätstyp und Hash) für das Bild zur Softwareaktualisierung.

Berichtstatus

bool reportStatus

Anfrage, den Server über die optionalen Nachrichten „DownloadNotify“ und „UpdateNotify“ über den Fortschritt der Software zu informieren.

updateCondition

UpdateCondition updateCondition

Anleitung für die Bedingungen, die mit der Softwareaktualisierung verbunden werden müssen

Priorität aktualisieren

UpdatePriority updatePriority

Anweisungen zum Ausführen des Softwareupdates für das Gerät.

Schema aktualisieren

uint8_t updateScheme

Das Updateschema, das zum Herunterladen des Software-Updatebilds verwendet wird.

Der Wert stammt aus UpdateSchemes.

uri

ReferencedString uri

Ein UTF-8-String mit variabler Länge, der den Speicherort des Softwarebilds enthält.

Der Inhalt dieses Strings muss der RFC 3986-Spezifikation entsprechen. Bei Update-Schemas, die einem klar definierten Internetprotokoll (HTTP, HTTPS, SFTP) entsprechen, muss das Schemaelement des URI der kanonischen URL-Codierung für dieses Protokollschema entsprechen. Die String-Länge darf 65565 nicht überschreiten und der String muss in eine einzelne Weave-Nachricht passen, die UTM-Beschränkungen unterliegen kann.

Versionsspezifikation

ReferencedString versionSpec

Ein UTF-8-String mit variabler Länge, der eine anbieterspezifische Softwareversionsidentifikation enthält.

Die Stringlänge darf 256 Byte nicht überschreiten.

Öffentliche Funktionen

ImageQueryResponse

 ImageQueryResponse()

Der Standardkonstruktor für ImageQueryResponse.

Das Objekt ImageQueryResponse kann über die Methode init() oder durch Defragmentierung des Objekts aus einer Nachricht ausgefüllt werden.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Initialisieren Sie das Objekt ImageQueryResponse explizit mit den angegebenen Werten.

Details
Parameter
[in] aUri
Der URI, unter dem das neue Firmware-Image zu finden ist.
[in] aVersion
Der Versionsstring für dieses Image.
[in] aIntegrity
Die Integritätsspezifikation des neuen Bildes.
[in] aScheme
Das Updateschema für den Download.
[in] aPriority
Die Aktualisierungspriorität, die mit diesem Update verknüpft ist.
[in] aCondition
Die Bedingung, unter der aktualisiert werden soll.
[in] aReportStatus
Wenn „true“, wird der Client nach dem Download und der Aktualisierung zum Bericht aufgefordert. Andernfalls erstellt der Kunde keine Berichte.
Rückgabe
WEAVE_NO_ERROR bedingungslos.

Operator==

bool operator==(
  const ImageQueryResponse &
) const 

Ein Gleichheitsoperator.

Details
Parameter
another
Eine ImageQueryResponse, die mit dieser ImageQueryResponse verglichen wird
Rückgabe
True, wenn alle Felder in beiden Objekten gleich sind, andernfalls False

Packung

WEAVE_ERROR pack(
  PacketBuffer *
)

serialisiert ImageQueryResponse in den bereitgestellten PacketBuffer.

Details
Parameter
[in] aBuffer
Ein Paketzwischenspeicher, in den die Abfrageantwort gepackt werden soll
Rückgabewerte
WEAVE_NO_ERROR
Erfolg.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn ImageQueryResponse zu groß für den bereitgestellten Puffer ist.

Print

void print(
  void
)

Öffentliche statische Funktionen

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Defragmentieren Sie die in einem PacketBuffer bereitgestellte Bildabfrageantwortnachricht in eine bereitgestellte ImageQueryResponse.

Details
Parameter
[in] aBuffer
Ein Mauszeiger auf ein Paket, aus dem die Bildabfrage geparst werden soll
[in] aResponse
Ein Objekt, in das das Ergebnis eingegeben werden soll
Rückgabe
WEAVE_NO_ERROR bei Erfolg
Rückgabe
WEAVE_ERROR_BUFFER_TOO_PLACEHOLDER Wenn die Nachricht zu klein war, um alle Felder von ImageQuery zu enthalten
Rückgabe
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Wenn der angegebene Integritätstyp keiner der in IntegrityTypes angegebenen Werte ist