nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

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

Eine Klasse, die das Erstellen und Decodieren der Antwortnachrichten auf Bildanfragen unterstützt.

Zusammenfassung

Die Antwortnachricht für die Bildanfrage hat das folgende Format:

Länge Feldname
Variable URI
Variable Versionsspezifikation
Variable Integritätsspezifikation
1 Byte Schema aktualisieren
1 Byte Optionen aktualisieren
Das (optionale) Feld mit den Aktualisierungsoptionen hat folgendes Format:

Bit Bedeutung
0–2 Priorität aktualisieren
3..4 Bedingung aktualisieren
5 Berichtsstatus. Wenn dies festgelegt ist, wird der Client aufgefordert, die optionalen DownloadNotify- und UpdateNotify-Nachrichten zu generieren.
5..7 Reserviert
Die Antwort auf die Bildanfrage wird nur gesendet, wenn die Bildanfrage erfolgreich verarbeitet wurde und ein Bild zum Herunterladen generiert wird. Die Nachricht stellt eine Downloadanleitung für den Knoten dar, von dem die Abfrage gesendet wurde. Falls der Server die Bildanfrage nicht verarbeiten kann, wird ein Bildanfragestatus generiert.

Konstruktoren 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 Software-Update-Image.
reportStatus
bool
Anforderung, den Server mithilfe der optionalen DownloadNotify- und UpdateNotify-Nachrichten über den Fortschritt der Softwareaktualisierung zu informieren.
updateCondition
Anweisungen zu den Bedingungen, unter denen Software-Updates ausgeführt werden sollen.
updatePriority
Anweisungen für das Gerät, wann die Software aktualisiert werden soll.
updateScheme
uint8_t
Das Updateschema, das zum Herunterladen des Software-Update-Images verwendet werden soll.
uri
Ein UTF-8-String variabler Länge, der den Speicherort des Software-Images enthält.
versionSpec
Ein UTF-8-String mit variabler Länge, der eine anbieterspezifische Kennung der Softwareversion enthält.

Öffentliche Funktionen

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

Öffentliche statische Funktionen

parse(PacketBuffer *, ImageQueryResponse &)
Deserialisiert die in einem PacketBuffer bereitgestellten Bildanfrageantwortnachricht in eine bereitgestellte ImageQueryResponse.

Öffentliche Attribute

integritySpec

IntegritySpec integritySpec

Ein Feld mit den Integritätsinformationen (Integritätstyp und Hash) für das Software-Update-Image.

reportStatus

bool reportStatus

Anforderung, den Server mithilfe der optionalen DownloadNotify- und UpdateNotify-Nachrichten über den Fortschritt der Softwareaktualisierung zu informieren.

updateCondition

UpdateCondition updateCondition

Anweisungen zu den Bedingungen, unter denen Software-Updates ausgeführt werden sollen.

updatePriority

UpdatePriority updatePriority

Anweisungen für das Gerät, wann die Software aktualisiert werden soll.

updateScheme

uint8_t updateScheme

Das Updateschema, das zum Herunterladen des Software-Update-Images verwendet werden soll.

Der Wert stammt aus UpdateSchemes.

uri

ReferencedString uri

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

Der Inhalt dieses Strings muss der RFC 3986-Spezifikation entsprechen. Bei Aktualisierungsschemata, die einem klar definierten Internet Protocol (HTTP, HTTPS, SFTP) entsprechen, MUSS das Schemaelement der URI der Codierung der kanonischen URL für dieses Protokollschema entsprechen. Die Zeichenfolge darf 65.565 nicht überschreiten und muss in eine einzelne Weave-Nachricht passen. Dies kann den MTU-Beschränkungen unterliegen.

versionSpec

ReferencedString versionSpec

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

Der String darf 256 Byte nicht überschreiten.

Öffentliche Funktionen

ImageQueryResponse

 ImageQueryResponse()

Der Standardkonstruktor für ImageQueryResponse.

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

init

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

Initialisieren Sie explizit das Objekt ImageQueryResponse 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, die dem neuen Bild entspricht.
[in] aScheme
Das Updateschema, das beim Herunterladen verwendet werden soll.
[in] aPriority
Die mit diesem Update verknüpfte Updatepriorität.
[in] aCondition
Die Bedingung für die Aktualisierung.
[in] aReportStatus
Bei „true“ wird der Client aufgefordert, nach dem Herunterladen und Aktualisieren einen Bericht zu erstellen. Andernfalls führt der Client keine Berichte aus.
Rückgabe
WEAVE_NO_ERROR unbedingt.

Operator==

bool operator==(
  const ImageQueryResponse &
) const 

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 die ImageQueryResponse in den bereitgestellten PacketBuffer.

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

ausgeben

void print(
  void
)

Öffentliche statische Funktionen

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserialisiert die in einem PacketBuffer bereitgestellten Bildanfrageantwortnachricht in eine bereitgestellte ImageQueryResponse.

Details
Parameter
[in] aBuffer
Ein Zeiger auf ein Paket, aus dem die Bildanfrage geparst werden soll.
[in] aResponse
Ein Objekt, in das das Ergebnis eingefügt werden soll.
Rückgabe
WEAVE_NO_ERROR Bei Erfolg
Rückgabe
WEAVE_ERROR_BUFFER_TOO_small 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 unter IntegrityTypes angegebenen Werte ist