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 software.

Riepilogo

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

Costruttori e distruttori

IntegritySpec()
Il costruttore predefinito per IntegritySpec.

Attributi pubblici

type
uint8_t
Tipo di hash, valore da ricavare 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 in modo esplicito l'oggetto IntegritySpec con i valori forniti.
operator==(const IntegritySpec &) const
bool
Un operatore di uguaglianza.
pack(MessageIterator &)
Serializza il valore IntegritySpec nel MessageIterator fornito.

Funzioni statiche pubbliche

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

Attributi pubblici

tipo

uint8_t type

Tipo di hash, valore da ricavare 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 dell'aggiornamento software a cui si accede all'URI specificato sopra. La specifica dell'integrità consente al client di confermare che l'immagine scaricata corrisponde 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 deserializzarlo da un messaggio.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Inizializza in modo esplicito 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 compressa di byte
Restituisce
WEAVE_NO_ERROR Se l'operazione è andata a buon fine
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
Una IntegritySpec da verificare rispetto a questa IntegritySpec
Restituisce
true se tutti i campi in entrambi gli oggetti sono uguali, false altrimenti

confezione

WEAVE_ERROR pack(
  MessageIterator &
)

Serializza il valore IntegritySpec nel MessageIterator fornito.

Dettagli
Parametri
[in] i
Un iteratore del messaggio che viene compresso
Valori restituiti
WEAVE_NO_ERROR
Un successo.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se IntegritySpec è troppo grande per essere contenuto nel messaggio.

Funzioni statiche pubbliche

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

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

Dettagli
Parametri
[in] i
Un iteratore sul messaggio da analizzare.
[in] aSpec
Un riferimento a un oggetto per contenere il risultato
Valori restituiti
WEAVE_NO_ERROR
Un 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