nl::Weave::Profiles::SoftwareUpdate

此命名空間包含在 Weave 中用於 Weave 軟體更新設定檔的所有介面,其中包括同名的通訊協定。

摘要

列舉

@309{
  kMsgType_ImageAnnounce = 0,
  kMsgType_ImageQuery = 1,
  kMsgType_ImageQueryResponse = 2,
  kMsgType_DownloadNotify = 3,
  kMsgType_NotifyResponse = 4,
  kMsgType_UpdateNotify = 5,
  kMsgType_ImageQueryStatus = 6
}
列舉
SoftwareUpdate 訊息類型。
@310{
  kStatus_NoUpdateAvailable = 0x0001,
  kStatus_UpdateFailed = 0x0010,
  kStatus_InvalidInstructions = 0x0050,
  kStatus_DownloadFailed = 0x0051,
  kStatus_IntegrityCheckFailed = 0x0052,
  kStatus_Abort = 0x0053,
  kStatus_Retry = 0x0091
}
列舉
@311{
  kFlag_PackageSpecPresent = 1,
  kFlag_LocaleSpecPresent = 2,
  kFlag_TargetNodeIdPresent = 4
}
列舉
控制 ImageQuery 框架控制欄位的標記。
@312 列舉
ImageQueryResponse 選用更新選項欄位的位元遮罩。
@313 列舉
ImageQueryResponse 選用更新選項欄位的位移值。
@314{
  kIntegrityType_SHA160 = 0,
  kIntegrityType_SHA256 = 1,
  kIntegrityType_SHA512 = 2,
  kIntegrityType_Last = 3
}
列舉
@315 列舉
完整性規格位元組字串的長度 (以位元組為單位)。
@316{
  kUpdateScheme_HTTP = 0,
  kUpdateScheme_HTTPS = 1,
  kUpdateScheme_SFTP = 2,
  kUpdateScheme_BDX = 3,
  kUpdateScheme_Last = 4
}
列舉
@317 列舉
SoftwareUpdate 設定檔的資料元素標記。
UpdateCondition{
  IfUnmatched,
  IfLater,
  Unconditionally,
  OnOptIn
}
列舉
規範更新政策的條件。
UpdatePriority{
  Normal,
  Critical
}
列舉
更新優先順序。

函式

integrityLength(uint8_t aType)
int
IntegrityTypes 值對應至該類型雜湊長度的支援方法。

類別

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

WeaveImageAnnounceServer 委派的介面。

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

說明 ImageAnnounce 訊息的類別。

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

支援建立及解碼圖片查詢訊息的類別。

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

支援建立及解碼圖片查詢回應訊息的類別。

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

包含完整性類型以及軟體更新圖片實際雜湊的輔助類別。

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

這個輔助類別,可在圖片查詢中保留完整性類型清單。

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

代表產品規格的輔助類別。

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

一個輔助類別,可在圖片查詢中保留更新配置的清單。

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

這個伺服器可監聽 Weave 圖片公告。

列舉

@309

 @309

SoftwareUpdate 訊息類型。

屬性
kMsgType_DownloadNotify

從用戶端傳送至要用來通知伺服器下載狀態的伺服器訊息 (選擇性)。

其酬載為 nl::Weave::Profiles::StatusReporting::StatusReport,以及從 SoftwareUpdateStatusCodes 擷取的額外狀態資訊。

kMsgType_ImageAnnounce

公開的來路不明的訊息,供伺服器用來公告是否有軟體更新。

訊息不會包含酬載。

kMsgType_ImageQuery

用戶端傳送至伺服器的查詢訊息。

其格式是以 ImageQuery 類別定義。

kMsgType_ImageQueryResponse

成功圖片查詢訊息而產生的訊息。

其格式是由 ImageQueryResponse 類別定義。

kMsgType_ImageQueryStatus

系統在回覆失敗的圖片查詢訊息時產生的訊息。

其酬載為 nl::Weave::Profiles::StatusReporting::StatusReport,以及從 SoftwareUpdateStatusCodes 擷取的額外狀態資訊。

kMsgType_NotifyResponse

為回應下載通知訊息而產生的訊息。

其酬載為 nl::Weave::Profiles::StatusReporting::StatusReport,以及從 SoftwareUpdateStatusCodes 擷取的額外狀態資訊。

kMsgType_UpdateNotify

從用戶端傳送至伺服器的訊息 (選用),用於傳送更新的最終狀態。

其酬載為 nl::Weave::Profiles::StatusReporting::StatusReport,以及從 SoftwareUpdateStatusCodes 擷取的額外狀態資訊。郵件預計會在實際更新後產生,因此傳送到新的 ExchangeContext,在伺服器上系統會將其視為來路不明的郵件。

@310

 @310

SoftwareUpdate 設定檔專屬狀態碼。

屬性
kStatus_Abort

伺服器 => 用戶端,表示用戶端應放棄,因為伺服器無法使用選項。

kStatus_DownloadFailed

client => 伺服器,表示嘗試下載失敗。

kStatus_IntegrityCheckFailed

client => 伺服器,表示已下載映像檔,但後續的完整性檢查失敗。

kStatus_InvalidInstructions

client => 伺服器,表示用戶端無法下載圖片,因為 ImageQueryResponse 中所含的下載操作說明。

URI、更新配置、更新狀況、格式不正確或不一致。

kStatus_NoUpdateAvailable

伺服器 => 用戶端,表示已收到並解讀圖片查詢,且伺服器目前未針對用戶端進行更新。

kStatus_Retry

伺服器 => 用戶端,表示用戶端應提交其他圖片查詢,並重新啟動/繼續更新

kStatus_UpdateFailed

用戶端 => 伺服器,表示伺服器指定的映像檔無法安裝。

@311

 @311

控制 ImageQuery 框架控制欄位的標記。

屬性
kFlag_LocaleSpecPresent

ImageQuery 提供 Locale 規格。

kFlag_PackageSpecPresent

ImageQuery 提供套件規格。

kFlag_TargetNodeIdPresent

ImageQuery 提供目標節點 ID。

@312

 @312

ImageQueryResponse 選用更新選項欄位的位元遮罩。

@313

 @313

ImageQueryResponse 選用更新選項欄位的位移值。

@314

 @314

SoftwareUpdate 設定檔支援的完整性類型。

圖片查詢頁框內含用戶端支援哪些完整性檢查功能的相關資訊,而圖片查詢回應中包含映像檔的完整性類型和值,表示用戶端將收到該映像檔並下載及安裝。系統支援的類型如下:

屬性
kIntegrityType_Last

列舉中有效元素的數量。

kIntegrityType_SHA160

需要 160 位元安全雜湊 (SHA-1)。

kIntegrityType_SHA256

256 位元安全雜湊 (SHA-2)。

kIntegrityType_SHA512

512 位元的安全雜湊 (SHA-2)。

@315

 @315

完整性規格位元組字串的長度 (以位元組為單位)。

@316

 @316

更新 SofwareUpdate 設定檔支援的配置。

與支援的完整性類型類似,圖片查詢會包含哪些更新配置的相關資訊 (例如下載通訊協定、用戶端支援,以及回應中包含的值),用於指出下載映像檔時所使用的更新配置。支援的配置如下:

屬性
kUpdateScheme_BDX

使用 Weave 大量資料傳輸做為下載通訊協定。

kUpdateScheme_HTTP

HTTP 應做為下載通訊協定。

kUpdateScheme_HTTPS

使用 HTTPS 做為下載通訊協定。

kUpdateScheme_Last

列舉中有效元素的數量。

kUpdateScheme_SFTP

使用 SFTP 做為下載通訊協定。

@317

 @317

SoftwareUpdate 設定檔的資料元素標記。

UpdateCondition

 UpdateCondition

規範更新政策的條件。

屬性
IfLater

如果回應影格中的版本規格晚於目前安裝的軟體版本,請下載並安裝映像檔。

IfUnmatched

如果回應影格中的版本規格與目前安裝的軟體版本不符,請下載並安裝映像檔。

OnOptIn

下載及安裝該圖片。

Unconditionally

無論目前執行的軟體版本為何,皆可下載並安裝該映像檔。

UpdatePriority

 UpdatePriority

更新優先順序。

屬性
Critical

必須立即執行更新。

Normal

用戶端可自行斟酌是否執行更新。

函式

integrityLength

int integrityLength(
  uint8_t aType
)

IntegrityTypes 值對應至該類型雜湊長度的支援方法。

詳細說明
參數
[in] aType
傳回
所提供雜湊類型的雜湊長度。