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 alla query delle 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 di 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 Riservata
La risposta alla query sull'immagine viene inviata solo nel caso in cui la query sull'immagine venga elaborata correttamente e produca un'immagine da scaricare. Il messaggio costituisce istruzioni di download per il nodo su cui è stata inviata la query. Tieni presente che nel caso in cui il server non riesca a elaborare la query immagine, dovrà generare uno stato 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 del software.
reportStatus
bool
Richiedi di informare il server sull'avanzamento dell'aggiornamento del software tramite i messaggi facoltativi DownloadNotify e UpdateNotify.
updateCondition
Istruzioni relative alle condizioni in cui procedere con l'aggiornamento del software.
updatePriority
Istruzioni che indicano al dispositivo quando eseguire l'aggiornamento software.
updateScheme
uint8_t
Schema di aggiornamento da utilizzare per scaricare l'immagine di aggiornamento software.
uri
Una stringa UTF-8 a lunghezza variabile contenente la posizione dell'immagine software.
versionSpec
Una stringa UTF-8 a lunghezza variabile contenente un'identificazione di versione software specifica del fornitore.

Funzioni pubbliche

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Inizializza esplicitamente l'oggetto ImageQueryResponse con i valori forniti.
operator==(const ImageQueryResponse &) const
bool
Un operatore di uguaglianza.
pack(PacketBuffer *)
Serializza 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 un valore ImageQueryResponse fornito.

Attributi pubblici

integritySpec

IntegritySpec integritySpec

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

reportStatus

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

Istruzioni relative alle condizioni in cui procedere con l'aggiornamento del software.

updatePriority

UpdatePriority updatePriority

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

updateScheme

uint8_t updateScheme

Schema di aggiornamento da utilizzare per scaricare l'immagine di aggiornamento software.

Il relativo valore viene tratto da UpdateSchemes.

uri

ReferencedString uri

Una stringa UTF-8 a 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 dello schema dell'URI DEVE essere conforme alla codifica dell'URL canonico per tale schema di protocollo. La lunghezza della stringa non deve essere superiore a 65.565 e deve rientrare in un singolo messaggio Weave, il che potrebbe essere soggetto a limitazioni della MTU.

versionSpec

ReferencedString versionSpec

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

La lunghezza della stringa non deve essere superiore a 256 byte.

Funzioni pubbliche

ImageQueryResponse

 ImageQueryResponse()

Il costruttore predefinito per ImageQueryResponse.

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

init

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

Inizializza esplicitamente l'oggetto ImageQueryResponse con i valori forniti.

Dettagli
Parametri
[in] aUri
L'URI in cui si trova la nuova immagine del firmware.
[in] aVersion
La stringa di 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 generare un report dopo il download e l'aggiornamento, altrimenti il client non lo invierà.
Restituisce
WEAVE_NO_ERROR Incondizionatamente.

operatore==

bool operator==(
  const ImageQueryResponse &
) const 

Un operatore di uguaglianza.

Dettagli
Parametri
another
Una ImageQueryResponse da confrontare con questa ImageQueryResponse
Restituisce
true se tutti i campi in entrambi gli oggetti sono uguali, false negli altri casi

confezione

WEAVE_ERROR pack(
  PacketBuffer *
)

Serializza ImageQueryResponse nel PacketBuffer fornito.

Dettagli
Parametri
[in] aBuffer
Un buffer dei pacchetti in cui pacchettizzare la risposta alla query
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_BUFFER_TOO_SMALL
Se la risposta ImageQueryResponse è troppo grande per il 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 un valore ImageQueryResponse fornito.

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