nl::Weave::Profiles::SoftwareUpdate

Questo spazio dei nomi include tutte le interfacce di Weave per il profilo Weave Software Update, incluso il protocollo corrispondente con lo stesso nome.

Riepilogo

Enumerazioni

@309{
  kMsgType_ImageAnnounce = 0,
  kMsgType_ImageQuery = 1,
  kMsgType_ImageQueryResponse = 2,
  kMsgType_DownloadNotify = 3,
  kMsgType_NotifyResponse = 4,
  kMsgType_UpdateNotify = 5,
  kMsgType_ImageQueryStatus = 6
}
enum
Tipi di messaggi SoftwareUpdate.
@310{
  kStatus_NoUpdateAvailable = 0x0001,
  kStatus_UpdateFailed = 0x0010,
  kStatus_InvalidInstructions = 0x0050,
  kStatus_DownloadFailed = 0x0051,
  kStatus_IntegrityCheckFailed = 0x0052,
  kStatus_Abort = 0x0053,
  kStatus_Retry = 0x0091
}
enum
@311{
  kFlag_PackageSpecPresent = 1,
  kFlag_LocaleSpecPresent = 2,
  kFlag_TargetNodeIdPresent = 4
}
enum
Flag di controllo per il campo di controllo del frame ImageQuery.
@312 enum
Mascherine di bit per il campo delle opzioni di aggiornamento facoltative di ImageQueryResponse.
@313 enum
Sposta gli offset per il campo facoltativo delle opzioni di aggiornamento di ImageQueryResponse.
@314{
  kIntegrityType_SHA160 = 0,
  kIntegrityType_SHA256 = 1,
  kIntegrityType_SHA512 = 2,
  kIntegrityType_Last = 3
}
enum
@315 enum
Lunghezze, in byte, per le stringhe di byte della specifica dell'integrità.
@316{
  kUpdateScheme_HTTP = 0,
  kUpdateScheme_HTTPS = 1,
  kUpdateScheme_SFTP = 2,
  kUpdateScheme_BDX = 3,
  kUpdateScheme_Last = 4
}
enum
@317 enum
Tag elemento dati per il profilo SoftwareUpdate.
UpdateCondition{
  IfUnmatched,
  IfLater,
  Unconditionally,
  OnOptIn
}
enum
Condizioni che regolano le norme di aggiornamento.
UpdatePriority{
  Normal,
  Critical
}
enum
Aggiorna le priorità.

Funzioni

integrityLength(uint8_t aType)
int
Un metodo di assistenza che mappa i valori di IntegrityTypes alla lunghezza degli hash di quel tipo.

Corsi

nl::Weave::Profiles::SoftwareUpdate::IWeaveImageAnnounceServerDelegate

Interfaccia per il delegato WeaveImageAnnounceServer.

nl::Weave::Profiles::SoftwareUpdate::ImageAnnounce

Classe che descrive il messaggio ImageAnnounce.

nl::Weave::Profiles::SoftwareUpdate::ImageQuery

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

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

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

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

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

nl::Weave::Profiles::SoftwareUpdate::IntegrityTypeList

Una classe ausiliaria per contenere un elenco di tipi di integrità come parte della query sull'immagine.

nl::Weave::Profiles::SoftwareUpdate::ProductSpec

Una classe ausiliaria che rappresenta una specifica di prodotto.

nl::Weave::Profiles::SoftwareUpdate::UpdateSchemeList

Una classe ausiliaria per contenere un elenco di schemi di aggiornamento come parte della query sull'immagine.

nl::Weave::Profiles::SoftwareUpdate::WeaveImageAnnounceServer

Server che rimane in ascolto degli annunci di immagini Weave.

Enumerazioni

@309

 @309

Tipi di messaggi SoftwareUpdate.

Proprietà
kMsgType_DownloadNotify

Un messaggio facoltativo del client al server utilizzato per informare il server sullo stato del download.

Il suo payload è nl::Weave::Profiles::StatusReporting::StatusReport con informazioni aggiuntive sullo stato estratte da SoftwareUpdateStatusCodes.

kMsgType_ImageAnnounce

Un messaggio non richiesto facoltativo, utilizzato dal server per annunciare la disponibilità di un aggiornamento software.

Il messaggio non trasporta payload.

kMsgType_ImageQuery

Messaggio di query inviato dal client al server.

Il formato è definito con la classe ImageQuery.

kMsgType_ImageQueryResponse

Messaggio generato in risposta a un messaggio di query immagine riuscito.

Il formato è definito dalla classe ImageQueryResponse.

kMsgType_ImageQueryStatus

Un messaggio generato in risposta a un messaggio di query immagine non riuscito.

Il suo payload è nl::Weave::Profiles::StatusReporting::StatusReport con informazioni aggiuntive sullo stato estratte da SoftwareUpdateStatusCodes.

kMsgType_NotifyResponse

Un messaggio generato in risposta al messaggio di notifica del download.

Il suo payload è nl::Weave::Profiles::StatusReporting::StatusReport con informazioni aggiuntive sullo stato estratte da SoftwareUpdateStatusCodes.

kMsgType_UpdateNotify

Un messaggio facoltativo del client al server, utilizzato per comunicare lo stato finale dell'aggiornamento.

Il suo payload è nl::Weave::Profiles::StatusReporting::StatusReport con informazioni aggiuntive sullo stato estratte da SoftwareUpdateStatusCodes. Poiché si prevede che il messaggio venga generato dopo l'aggiornamento effettivo, viene inviato in un nuovo ExchangeContext e viene considerato come un messaggio non richiesto sul server.

@310

 @310

Codici di stato specifici del profilo SoftwareUpdate.

Proprietà
kStatus_Abort

server => , indica che il client deve rinunciare perché il server non ha più opzioni.

kStatus_DownloadFailed

cliente => server, indica che un tentativo di download non è riuscito.

kStatus_IntegrityCheckFailed

cliente => server, indica che un'immagine è stata scaricata, ma non ha superato il successivo controllo di integrità.

kStatus_InvalidInstructions

cliente => indica che il client non è riuscito a scaricare un'immagine perché le istruzioni di download contenute nella ImageQueryResponse, ovvero

L'URI, lo schema di aggiornamento e la condizione di aggiornamento erano di formato non corretto o erano incoerenti.

kStatus_NoUpdateAvailable

server => , indica che una query immagine è stata ricevuta e compresa e che il server non dispone di aggiornamenti per il client in questo momento.

kStatus_Retry

server => indica che il client deve inviare un'altra query sull'immagine e riavviare/continuare l'aggiornamento

kStatus_UpdateFailed

cliente => server, indica che un tentativo di installazione di un'immagine specificata dal server non è riuscito.

@311

 @311

Flag di controllo per il campo di controllo del frame ImageQuery.

Proprietà
kFlag_LocaleSpecPresent

La specifica Locale è presente in ImageQuery.

kFlag_PackageSpecPresent

La specifica del pacchetto è presente in ImageQuery.

kFlag_TargetNodeIdPresent

L'ID nodo target è presente in ImageQuery.

@312

 @312

Mascherine di bit per il campo delle opzioni di aggiornamento facoltative di ImageQueryResponse.

@313

 @313

Sposta gli offset per il campo facoltativo delle opzioni di aggiornamento di ImageQueryResponse.

@314

 @314

Tipi di integrità supportati dal profilo SoftwareUpdate.

Il frame di query sull'immagine contiene informazioni su quale sia il controllo dell'integrità supportato dal client, mentre la risposta alla query sull'immagine contiene un tipo di integrità e un valore per l'immagine che il client deve scaricare e installare. I tipi supportati sono:

Proprietà
kIntegrityType_Last

Numero di elementi validi nell'enumerazione.

kIntegrityType_SHA160

SHA-1 (Secure Hash a 160 bit), obbligatorio.

kIntegrityType_SHA256

Secure Hash (SHA-2) a 256 bit.

kIntegrityType_SHA512

Secure Hash (SHA-2) a 512 bit.

@315

 @315

Lunghezze, in byte, per le stringhe di byte della specifica dell'integrità.

@316

 @316

Schemi di aggiornamento supportati dal profilo SofwareUpdate.

Analogamente ai tipi di integrità supportati, la query sulle immagini contiene informazioni sugli schemi di aggiornamento, ovvero i protocolli di download, supportati dal client, e la risposta contiene un valore per indicare lo schema di aggiornamento da utilizzare per il download delle immagini. Gli schemi supportati sono:

Proprietà
kUpdateScheme_BDX

Il trasferimento di dati collettivo di Weave verrà utilizzato come protocollo di download.

kUpdateScheme_HTTP

Come protocollo di download si deve utilizzare HTTP.

kUpdateScheme_HTTPS

HTTPS viene utilizzato come protocollo di download.

kUpdateScheme_Last

Numero di elementi validi nell'enumerazione.

kUpdateScheme_SFTP

SFTP verrà utilizzato come protocollo di download.

@317

 @317

Tag elemento dati per il profilo SoftwareUpdate.

UpdateCondition

 UpdateCondition

Condizioni che regolano le norme di aggiornamento.

Proprietà
IfLater

Scarica e installa l'immagine se la specifica della versione nel frame di risposta è successiva alla versione software attualmente installata.

IfUnmatched

Scarica e installa l'immagine se la specifica della versione nel frame di risposta non corrisponde alla versione software attualmente installata.

OnOptIn

scaricare e installare l'immagine su un trigger fornito da un utente sul sito.

Unconditionally

Scarica e installa l'immagine indipendentemente dalla versione del software attualmente in esecuzione.

UpdatePriority

 UpdatePriority

Aggiorna le priorità.

Proprietà
Critical

L'aggiornamento deve essere eseguito immediatamente.

Normal

L'aggiornamento può essere eseguito a discrezione del cliente.

Funzioni

integrityLength

int integrityLength(
  uint8_t aType
)

Un metodo di assistenza che mappa i valori di IntegrityTypes alla lunghezza degli hash di quel tipo.

Dettagli
Parametri
[in] aType
Un valore IntegrityTypes
Restituisce
Lunghezza dell'hash del tipo di hash fornito.