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

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

Eine Klasse, die das Erstellen und Decodieren von Bildabfrageantwortnachrichten unterstützt.

Zusammenfassung

Die Antwortnachricht auf die Bildabfrage hat folgendes Format:

Länge Feldname
variabel URI
variabel Versionsspezifikation
variabel Integritätsspezifikation
1 Byte Schema aktualisieren
1 Byte Aktualisierungsoptionen
Das optionale Feld für die Aktualisierungsoptionen hat folgendes Format:

Bit Bedeutung
0–2 Aktualisierungspriorität
3..4 Bedingung aktualisieren
5 Berichtsstatus. Wenn dieser Wert festgelegt ist, wird der Client aufgefordert, die optionalen Meldungen DownloadNotify und UpdateNotify zu generieren.
5..7 Reserviert
Die Antwort auf die Bildabfrage wird nur gesendet, wenn die Bildanfrage erfolgreich verarbeitet wurde und ein Bild zum Herunterladen erzeugt wird. Die Nachricht stellt Download-Anweisungen für den Knoten dar, an den die Anfrage gesendet wurde. Wenn der Server die Bildanfrage nicht verarbeiten kann, wird ein Bildabfragestatus 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 Softwareupdate-Image.
reportStatus
bool
Anfrage, um den Server mithilfe der optionalen Nachrichten DownloadNotify und UpdateNotify über den Fortschritt der Softwareaktualisierung zu informieren.
updateCondition
Anweisungen zu den Bedingungen, unter denen das Softwareupdate durchgeführt werden soll.
updatePriority
Anweisungen für das Gerät, wann die Software aktualisiert werden soll.
updateScheme
uint8_t
Das Updateschema, das zum Herunterladen des Images für die Softwareaktualisierung verwendet werden soll.
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 Identifikation der Softwareversion 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 &)
Deserialisiert die in einem PacketBuffer bereitgestellten Bildabfrageantwortnachricht in eine bereitgestellte ImageQueryResponse.

Öffentliche Attribute

integritySpec

IntegritySpec integritySpec

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

reportStatus

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

Anweisungen zu den Bedingungen, unter denen das Softwareupdate durchgeführt werden soll.

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 Images für die Softwareaktualisierung verwendet werden soll.

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 Aktualisierungsschemata, die einem klar definierten Internetprotokoll (HTTP, HTTPS, SFTP) entsprechen, MUSS das Schemaelement des URI der kanonischen URL-Codierung für dieses Protokollschema entsprechen. Die Zeichenfolge darf nicht länger als 65.565 sein und die Zeichenfolge muss in eine einzelne Weave-Nachricht passen, die MTU-Beschränkungen unterliegen kann.

versionSpec

ReferencedString versionSpec

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

Der String darf 256 Byte nicht überschreiten.

Öffentliche Funktionen

ImageQueryResponse

 ImageQueryResponse()

Der Standardkonstruktor für ImageQueryResponse.

Die ImageQueryResponse kann über die init()-Methode oder durch Deserialisieren 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, die dem neuen Bild entspricht.
[in] aScheme
Das beim Herunterladen zu verwendende Aktualisierungsschema.
[in] aPriority
Die mit diesem Update verknüpfte Updatepriorität.
[in] aCondition
Die Bedingung, unter der aktualisiert werden soll.
[in] aReportStatus
Bei "true" wird der Client nach dem Download und der Aktualisierung aufgefordert, einen Bericht zu erstellen, andernfalls erstellt er 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 geprüft werden soll
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
Bei Erfolg.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn ImageQueryResponse zu groß ist, um in den bereitgestellten Zwischenspeicher zu passen.

ausgeben

void print(
  void
)

Öffentliche statische Funktionen

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

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

Details
Parameter
[in] aBuffer
Ein Zeiger auf ein Paket, aus dem die Bildabfrage 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 enthalten zu können,
Rückgabe
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Wenn der angegebene Integritätstyp nicht einer der in IntegrityTypes angegebenen Werte ist