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

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

Una classe per supportare la creazione e la decodifica dei messaggi di risposta alle query sulle immagini.

Riepilogo

Il messaggio di risposta alla query sull'immagine ha il seguente formato:

Lunghezza Nome campo
variabile URI
variabile Specifica della versione
variabile Specifica dell'integrità
1 byte Aggiorna schema
1 byte Opzioni di aggiornamento
Il formato del campo (facoltativo) delle opzioni di aggiornamento è il seguente:

Punta Significato
0,.2 Aggiorna priorità
3,.4 Aggiorna condizione
5 Stato del report. Se impostato, al client viene richiesto di generare i messaggi facoltativi DownloadNotify e UpdateNotify.
5,7 Prenotato
La risposta alla query sull'immagine viene inviata solo nel caso in cui la query sull'immagine venga elaborata correttamente e produce un'immagine da scaricare. Il messaggio costituisce le istruzioni di download per il nodo su cui è stata inviata la query. Tieni presente che nei casi in cui il server non riesca a elaborare la query immagine, dovrà generare uno stato di query immagine.

Costruttori e distruttori

ImageQueryResponse()
Il costruttore predefinito per ImageQueryResponse.

Attributi pubblici

integritySpec
Un campo contenente le informazioni sull'integrità (tipo di integrità e un hash) per l'immagine dell'aggiornamento software.
reportStatus
bool
Richiedi di informare il server circa l'avanzamento dell'aggiornamento del software tramite i messaggi facoltativi DownloadNotify e UpdateNotify.
updateCondition
Istruzioni sulle condizioni in base alle quali procedere con l'aggiornamento software.
updatePriority
Istruzioni che indicano al dispositivo quando eseguire l'aggiornamento software.
updateScheme
uint8_t
Lo schema di aggiornamento da utilizzare per scaricare l'immagine di aggiornamento del software.
uri
Una stringa UTF-8 di lunghezza variabile contenente la posizione dell'immagine software.
versionSpec
Una stringa UTF-8 di lunghezza variabile contenente un'identificazione della versione software specifica del fornitore.

Funzioni pubbliche

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Inizializza in modo esplicito l'oggetto ImageQueryResponse con i valori forniti.
operator==(const ImageQueryResponse &) const
bool
Un operatore di uguaglianza.
pack(PacketBuffer *)
Serializza la richiesta ImageQueryResponse nel PacketBuffer fornito.
print(void)
void

Funzioni statiche pubbliche

parse(PacketBuffer *, ImageQueryResponse &)
Deserializza il messaggio di risposta alla query dell'immagine fornito in un PacketBuffer in una ImageQueryResponse fornita.

Attributi pubblici

integritySpec

IntegritySpec integritySpec

Un campo contenente le informazioni sull'integrità (tipo di integrità e un hash) per l'immagine dell'aggiornamento software.

reportStatus

bool reportStatus

Richiedi di informare il server circa l'avanzamento dell'aggiornamento del software tramite i messaggi facoltativi DownloadNotify e UpdateNotify.

updateCondition

UpdateCondition updateCondition

Istruzioni sulle condizioni in base alle quali procedere con l'aggiornamento software.

updatePriority

UpdatePriority updatePriority

Istruzioni che indicano al dispositivo quando eseguire l'aggiornamento software.

updateScheme

uint8_t updateScheme

Lo schema di aggiornamento da utilizzare per scaricare l'immagine di aggiornamento del software.

Il suo valore viene tratto da UpdateSchemes.

URI

ReferencedString uri

Una stringa UTF-8 di lunghezza variabile contenente la posizione dell'immagine software.

I contenuti di questa stringa devono essere conformi alla specifica RFC 3986. Per gli schemi di aggiornamento corrispondenti a un protocollo internet ben definito (HTTP, HTTPS, SFTP), l'elemento dell'URI DEVE essere conforme alla codifica dell'URL canonico per quello schema di protocollo. La stringa deve contenere massimo 65565 caratteri e rientrare in un singolo messaggio Weave, che potrebbe essere soggetto a limitazioni delle MTU.

versionSpec

ReferencedString versionSpec

Una stringa UTF-8 di lunghezza variabile contenente un'identificazione della versione software specifica del fornitore.

La lunghezza della stringa non deve superare i 256 byte.

Funzioni pubbliche

ImageQueryResponse

 ImageQueryResponse()

Il costruttore predefinito per ImageQueryResponse.

Il campo ImageQueryResponse può essere compilato con il metodo init() o deserializzando l'oggetto da un messaggio.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Inizializza in modo esplicito l'oggetto ImageQueryResponse con i valori forniti.

Dettagli
Parametri
[in] aUri
L'URI in cui viene trovata l'immagine della nuova immagine firmware.
[in] aVersion
La stringa della versione per questa immagine.
[in] aIntegrity
Le specifiche di integrità corrispondenti alla nuova immagine.
[in] aScheme
Lo schema di aggiornamento da utilizzare per il download.
[in] aPriority
La priorità di aggiornamento associata a questo aggiornamento.
[in] aCondition
La condizione in base alla quale eseguire l'aggiornamento.
[in] aReportStatus
Se true richiede al client di inviare una segnalazione dopo il download e l'aggiornamento, altrimenti il client non lo farà.
Restituisce
WEAVE_NO_ERROR Incondizionatamente.

operatore==

bool operator==(
  const ImageQueryResponse &
) const 

Un operatore di uguaglianza.

Dettagli
Parametri
another
Una ImageQueryResponse da verificare rispetto a questa ImageQueryResponse.
Restituisce
true se tutti i campi in entrambi gli oggetti sono uguali, false altrimenti

confezione

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializza la richiesta ImageQueryResponse nel PacketBuffer fornito.

Dettagli
Parametri
[in] aBuffer
Un buffer di pacchetti in cui pacchettizzare la risposta alla query
Valori restituiti
WEAVE_NO_ERROR
Un successo.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se ImageQueryResponse è troppo grande per poter essere inserito nel buffer fornito.

stampare (a schermo)

void print(
  void
)

Funzioni statiche pubbliche

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializza il messaggio di risposta alla query dell'immagine fornito in un PacketBuffer in una ImageQueryResponse fornita.

Dettagli
Parametri
[in] aBuffer
Un puntatore a un pacchetto da cui analizzare la query sull'immagine
[in] aResponse
Un oggetto in cui inserire il risultato
Restituisce
WEAVE_NO_ERROR Se l'operazione è andata a buon fine
Restituisce
WEAVE_ERROR_BUFFER_TOO_Small Se il messaggio era troppo piccolo per contenere tutti i campi della colonna ImageQuery
Restituisce
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Se il tipo di integrità fornito non è uno dei valori specificati in IntegrityTypes