nl::Weave::Profiles::SoftwareUpdate

Questo spazio dei nomi include tutte le interfacce all'interno di Weave per il profilo Weave Software Update, che include il corrispondente protocollo 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
SoftwareUpdate Tipi di messaggi.
@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
Maschere di bit per il campo facoltativo delle opzioni di aggiornamento di ImageQueryResponse.
@313 enum
Offset del cambio 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 di integrità.
@316{
  kUpdateScheme_HTTP = 0,
  kUpdateScheme_HTTPS = 1,
  kUpdateScheme_SFTP = 2,
  kUpdateScheme_BDX = 3,
  kUpdateScheme_Last = 4
}
enum
@317 enum
Tag dell'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 supporto che mappa i valori di IntegrityTypes alle lunghezze 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 immagine.

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

Una classe per supportare la creazione e la decodifica dei messaggi di risposta alla query delle immagini.

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

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

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

Una classe ausiliaria per contenere un elenco di tipi di integrità come parte della query 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 immagine.

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

Server che rimane in ascolto per gli annunci relativi alle immagini Weave.

Enumerazioni

@309

 @309

SoftwareUpdate Tipi di messaggi.

Proprietà
kMsgType_DownloadNotify

Messaggio facoltativo dal client al server utilizzato per notificare al server lo stato del download.

Il relativo payload è nl::Weave::Profiles::StatusReporting::StatusReport, con le informazioni di stato aggiuntive ricavate da SoftwareUpdateStatusCodes.

kMsgType_ImageAnnounce

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 suo formato è definito con la classe ImageQuery.

kMsgType_ImageQueryResponse

Un messaggio generato in risposta a un messaggio di query su un'immagine riuscita.

Il suo formato è definito dalla classe ImageQueryResponse.

kMsgType_ImageQueryStatus

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

Il relativo payload è nl::Weave::Profiles::StatusReporting::StatusReport, con le informazioni di stato aggiuntive ricavate da SoftwareUpdateStatusCodes.

kMsgType_NotifyResponse

Messaggio generato in risposta al messaggio di notifica del download.

Il relativo payload è nl::Weave::Profiles::StatusReporting::StatusReport, con le informazioni di stato aggiuntive ricavate da SoftwareUpdateStatusCodes.

kMsgType_UpdateNotify

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

Il relativo payload è nl::Weave::Profiles::StatusReporting::StatusReport, con le informazioni di stato aggiuntive ricavate da SoftwareUpdateStatusCodes. Poiché il messaggio dovrebbe essere generato dopo l'aggiornamento effettivo, viene inviato in un nuovo campo ExchangeContext e viene considerato un messaggio non richiesto sul server.

@310

 @310

Codici di stato specifici del profilo SoftwareUpdate.

Proprietà
kStatus_Abort

server => client, indica che il client deve rinunciare perché il server ha esaurito le opzioni.

kStatus_DownloadFailed

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

kStatus_IntegrityCheckFailed

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

kStatus_InvalidInstructions

client => server, indica che il client non è riuscito a scaricare un'immagine perché le istruzioni per il download contenute in ImageQueryResponse, ad esempio

URI, schema di aggiornamento, condizione di aggiornamento, formato errato o incoerente.

kStatus_NoUpdateAvailable

server => client, indica che la query dell'immagine è stata ricevuta e comprensibile e che al momento il server non ha aggiornamenti per il client.

kStatus_Retry

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

kStatus_UpdateFailed

client => 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 nella query ImageQuery.

kFlag_TargetNodeIdPresent

L'ID nodo target è presente in ImageQuery.

@312

 @312

Maschere di bit per il campo facoltativo delle opzioni di aggiornamento di ImageQueryResponse.

@313

 @313

Offset del cambio per il campo facoltativo delle opzioni di aggiornamento di ImageQueryResponse.

@314

 @314

Tipi di integrità supportati dal profilo SoftwareUpdate.

Il frame della query immagine contiene informazioni su quali controlli di integrità sono supportati 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

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

kIntegrityType_SHA256

Hash sicuro a 256 bit (SHA-2).

kIntegrityType_SHA512

Hash sicuro (SHA-2) a 512 bit.

@315

 @315

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

@316

 @316

Aggiorna gli schemi supportati dal profilo SofwareUpdate.

Analogamente ai tipi di integrità supportati, la query immagine 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 scaricare le immagini. Gli schemi supportati sono:

Proprietà
kUpdateScheme_BDX

Come protocollo di download verrà utilizzato il trasferimento di dati in blocco Weave.

kUpdateScheme_HTTP

Deve essere utilizzato HTTP come protocollo di download.

kUpdateScheme_HTTPS

Deve essere utilizzato HTTPS come protocollo di download.

kUpdateScheme_Last

Numero di elementi validi nell'enumerazione.

kUpdateScheme_SFTP

Deve essere utilizzato SFTP come protocollo per il download.

@317

 @317

Tag dell'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 del software attualmente installata.

IfUnmatched

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

OnOptIn

scaricare e installare l'immagine su alcuni attivatori forniti 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 supporto che mappa i valori di IntegrityTypes alle lunghezze degli hash di quel tipo.

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