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

nl::Weave::Profile::SoftwareUpdate::IntegritySpec

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

Eine Hilfsklasse, die den Integritätstyp und den tatsächlichen Hash des Software-Update-Images enthält.

Zusammenfassung

Das Objekt enthält das Feld IntegrityTypes, das den Typ des Hash und den tatsächlichen Hash des Software-Update-Images angibt. Die Länge des Hashwerts ist vom Hashtyp abhängig. Das Objekt ist so groß, dass es den größten der unterstützten Hashes aufnehmen kann.

Konstruktoren und Zerstörer

IntegritySpec()
Der Standardkonstruktor für IntegritySpec.

Öffentliche Attribute

type
uint8_t
Typ des Hashwerts, der aus IntegrityTypes zu entnehmen ist.
value[64]
uint8_t
Eine variable Länge von Byte, die den Integritätswert für das Software-Image enthält, das durch das URI-Feld identifiziert wird.

Öffentliche Funktionen

init(uint8_t, uint8_t *)
Initialisieren Sie das Objekt IntegritySpec mit angegebenen Werten.
operator==(const IntegritySpec &) const
bool
Ein Gleichheitsoperator.
pack(MessageIterator &)
Serialisieren Sie die IntegritySpec in den bereitgestellten MessageIterator.

Öffentliche statische Funktionen

parse(MessageIterator &, IntegritySpec &)
Dearchivieren Sie das Objekt aus dem bereitgestellten MessageIterator in das bereitgestellte IntegritySpec.

Öffentliche Attribute

Typ

uint8_t type

Typ des Hashwerts, der aus IntegrityTypes zu entnehmen ist.

Wert

uint8_t value[64]

Eine variable Länge von Byte, die den Integritätswert für das Software-Image enthält, das durch das URI-Feld identifiziert wird.

Der Integritätswert wird berechnet, indem die vom Integritätstyp angegebene Integritätsfunktion auf den Inhalt des Bildes zur Softwareaktualisierung angewendet wird, auf das unter dem oben angegebenen URI zugegriffen wird. Mit der Integritätsspezifikation kann der Client bestätigen, dass das heruntergeladene Bild mit dem in dieser Antwort angegebenen Bild übereinstimmt.

Öffentliche Funktionen

Integritätsspezifikation

 IntegritySpec()

Der Standardkonstruktor für IntegritySpec.

Das Objekt muss entweder über die Methode init() oder durch Dearchivierung aus einer Nachricht initialisiert werden.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Initialisieren Sie das Objekt IntegritySpec mit angegebenen Werten.

Details
Parameter
[in] aType
Einen Integritätstypwert aus IntegrityTypes
[in] aValue
Ein Hashwert der richtigen Länge, dargestellt als gepackter Bytestring
Rückgabe
WEAVE_NO_ERROR Bei Erfolg
Rückgabe
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Wenn der angegebene Integritätstyp keiner der in IntegrityTypes angegebenen Werte ist

Operator==

bool operator==(
  const IntegritySpec &
) const 

Ein Gleichheitsoperator.

Details
Parameter
another
Eine IntegritySpec für den Vergleich mit dieser IntegritySpec
Rückgabe
„wahr“, wenn alle Felder in beiden Objekten gleich sind, andernfalls „falsch“

Packung

WEAVE_ERROR pack(
  MessageIterator &
)

Serialisieren Sie die IntegritySpec in den bereitgestellten MessageIterator.

Details
Parameter
[in] i
Ein Iterator über die gepackte Nachricht
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn die IntegritySpec zu groß für die Nachricht ist.

Öffentliche statische Funktionen

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Dearchivieren Sie das Objekt aus dem bereitgestellten MessageIterator in das bereitgestellte IntegritySpec.

Details
Parameter
[in] i
Ein Iterator über die Nachricht, die geparst wird.
[in] aSpec
Ein Verweis auf ein Objekt, das das Ergebnis enthalten soll
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
Rückgabewerte
WEAVE_ERROR_BUFFER_TOO_SMALL
Wenn die Nachricht nicht genügend Byte für den Integritätstyp und den zugehörigen Hash enthält
Rückgabe
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Wenn der angegebene Integritätstyp keiner der in IntegrityTypes angegebenen Werte ist