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

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

Una classe ausiliaria che contiene il tipo di integrità e l'hash effettivo dell'immagine dell'aggiornamento del software.

Riepilogo

L'oggetto contiene il campo IntegrityTypes che specifica il tipo di hash e l'hash effettivo dell'immagine di aggiornamento del software. La lunghezza dell'hash è fissa in base al tipo. L'oggetto viene dimensionato in modo da contenere l'hash più grande tra quelli supportati.

Costruttori e distruttori

IntegritySpec()
Il costruttore predefinito per IntegritySpec.

Attributi pubblici

type
uint8_t
Tipo di hash, valore che deve essere ricavato da IntegrityTypes.
value[64]
uint8_t
Una sequenza di byte di lunghezza variabile contenente il valore di integrità per l'immagine software identificata dal campo URI.

Funzioni pubbliche

init(uint8_t, uint8_t *)
Inizializza esplicitamente l'oggetto IntegritySpec con i valori forniti.
operator==(const IntegritySpec &) const
bool
Un operatore di uguaglianza.
pack(MessageIterator &)
Serializza IntegritySpec nel campo MessageIterator fornito.

Funzioni statiche pubbliche

parse(MessageIterator &, IntegritySpec &)
Deserializza l'oggetto dal valore MessageIterator fornito nel campo IntegritySpec fornito.

Attributi pubblici

digita

uint8_t type

Tipo di hash, valore che deve essere ricavato da IntegrityTypes.

valore

uint8_t value[64]

Una sequenza di byte di lunghezza variabile contenente il valore di integrità per l'immagine software identificata dal campo URI.

Il valore di integrità viene calcolato applicando la funzione di integrità specificata dal tipo di integrità ai contenuti dell'immagine di aggiornamento del software a cui si accede all'URI specificato sopra. La specifica di integrità consente al client di confermare che l'immagine scaricata corrisponda all'immagine specificata in questa risposta.

Funzioni pubbliche

IntegritySpec

 IntegritySpec()

Il costruttore predefinito per IntegritySpec.

L'oggetto deve essere inizializzato con il metodo init() o mediante la deserializzazione da un messaggio.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Inizializza esplicitamente l'oggetto IntegritySpec con i valori forniti.

Dettagli
Parametri
[in] aType
Un valore del tipo di integrità tratto da IntegrityTypes
[in] aValue
Un valore hash della lunghezza appropriata rappresentato come una stringa pacchettizzata di byte
Restituisce
WEAVE_NO_ERROR In caso di esito positivo
Restituisce
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Se il tipo di integrità fornito non è uno dei valori specificati in IntegrityTypes

operatore==

bool operator==(
  const IntegritySpec &
) const 

Un operatore di uguaglianza.

Dettagli
Parametri
another
Un parametro IntegritySpec da verificare rispetto a IntegritySpec
Restituisce
true se tutti i campi in entrambi gli oggetti sono uguali, false negli altri casi

confezione

WEAVE_ERROR pack(
  MessageIterator &
)

Serializza IntegritySpec nel campo MessageIterator fornito.

Dettagli
Parametri
[in] i
Un iteratore del messaggio che viene pacchettizzato
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se IntegritySpec è troppo grande per il messaggio.

Funzioni statiche pubbliche

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Deserializza l'oggetto dal valore MessageIterator fornito nel campo IntegritySpec fornito.

Dettagli
Parametri
[in] i
Un iteratore del messaggio da analizzare.
[in] aSpec
Un riferimento a un oggetto che conterrà il risultato
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
Valori restituiti
WEAVE_ERROR_BUFFER_TOO_SMALL
Se il messaggio non conteneva byte sufficienti per il tipo di integrità e l'hash associato
Restituisce
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Se il tipo di integrità fornito non è uno dei valori specificati in IntegrityTypes