nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

Klasa pomocnicza zawierająca typ integralności i rzeczywisty hasz obrazu aktualizacji oprogramowania.

Podsumowanie

Obiekt zawiera pole IntegrityTypes, które określa typ skrótu oraz rzeczywisty hasz obrazu aktualizacji oprogramowania. Długość skrótu zależy od jego typu. Obiekt ma rozmiar, który umożliwia przechowywanie największej z obsługiwanych wartości hash.

Konstruktory i niszczyciele

IntegritySpec()
Domyślny konstruktor IntegritySpec.

Atrybuty publiczne

type
uint8_t
Rodzaj skrótu, wartość do pobrania z IntegrityTypes.
value[64]
uint8_t
Sekwencja bajtów o zmiennej długości, zawierająca wartość integralności obrazu oprogramowania określonego w polu identyfikatora URI.

Funkcje publiczne

init(uint8_t, uint8_t *)
Jawnie zainicjuj obiekt IntegritySpec za pomocą podanych wartości.
operator==(const IntegritySpec &) const
bool
Operator równości.
pack(MessageIterator &)
Zserializuj IntegritySpec w przesłanym obiekcie MessageIterator.

Publiczne funkcje statyczne

parse(MessageIterator &, IntegritySpec &)
Deserializuj obiekt z podanego parametru MessageIterator do podanego specyfikacji IntegritySpec.

Atrybuty publiczne

typ

uint8_t type

Rodzaj skrótu, wartość do pobrania z IntegrityTypes.

wartość

uint8_t value[64]

Sekwencja bajtów o zmiennej długości, zawierająca wartość integralności obrazu oprogramowania określonego w polu identyfikatora URI.

Wartość integralności jest obliczana przez zastosowanie funkcji integralności określonej przez typ integralności do zawartości obrazu aktualizacji oprogramowania, do którego uzyskano dostęp pod podanym powyżej identyfikatorem URI. Specyfikacja integralności pozwala klientowi potwierdzić, że pobrany obraz pasuje do obrazu określonego w tej odpowiedzi.

Funkcje publiczne

IntegritySpec

 IntegritySpec()

Domyślny konstruktor IntegritySpec.

Obiekt należy zainicjować za pomocą metody init() lub deserializacji go z wiadomości.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Jawnie zainicjuj obiekt IntegritySpec za pomocą podanych wartości.

Szczegóły
Parametry
[in] aType
Wartość typu integralności pobrana z obiektów IntegrityTypes.
[in] aValue
Wartość skrótu o odpowiedniej długości reprezentowana jako spakowany ciąg bajtów
Zwroty
WEAVE_NO_ERROR Po powodzeniu
Zwroty
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Jeśli podany typ integralności nie należy do żadnej z wartości określonych w parametrach IntegrityTypes

operator==

bool operator==(
  const IntegritySpec &
) const 

Operator równości.

Szczegóły
Parametry
another
IntegritySpec, aby sprawdzić zgodność ze specyfikacją IntegritySpec.
Zwroty
true (prawda), jeśli wszystkie pola w obu obiektach są równe. W przeciwnym razie ma wartość false (fałsz)

paczka

WEAVE_ERROR pack(
  MessageIterator &
)

Zserializuj IntegritySpec w przesłanym obiekcie MessageIterator.

Szczegóły
Parametry
[in] i
iterator nad pakowaniem wiadomości.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli wartość IntegritySpec jest zbyt duża, aby zmieścić się w wiadomości.

Publiczne funkcje statyczne

analizowa

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Deserializuj obiekt z podanego parametru MessageIterator do podanego specyfikacji IntegritySpec.

Szczegóły
Parametry
[in] i
Iterator nad analizowaną wiadomością.
[in] aSpec
Odwołanie do obiektu, który ma zawierać wynik
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
Zwracane wartości
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli wiadomość nie zawierała wystarczającej liczby bajtów dla typu integralności i powiązanego hasza
Zwroty
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Jeśli podany typ integralności nie należy do żadnej z wartości określonych w parametrach IntegrityTypes