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

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

kStatus_IntegrityCheckFailed

客戶 =>伺服器,指出映像檔已下載,但未通過後續的完整性檢查。

kStatus_InvalidInstructions

客戶 =>伺服器指出用戶端無法下載圖片,因為 ImageQueryResponse 中包含的下載指示 (即

URI、更新配置、更新狀況、格式有誤或不一致。

kStatus_NoUpdateAvailable

伺服器 =>用戶端,代表已收到並解讀圖片查詢,伺服器目前也沒有該用戶端的更新。

kStatus_Retry

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

kStatus_UpdateFailed

客戶 =>伺服器,表示嘗試安裝伺服器指定的映像檔失敗。

@311

 @311

ImageQuery 影格中控制欄位的控制標記。

屬性
kFlag_LocaleSpecPresent

ImageQuery 提供 Locale 規格,

kFlag_PackageSpecPresent

ImageQuery 有套件規格。

kFlag_TargetNodeIdPresent

目標節點 ID 會出現在 ImageQuery

@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

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

kUpdateScheme_HTTP

HTTP 應使用下載通訊協定。

kUpdateScheme_HTTPS

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

kUpdateScheme_Last

列舉中的有效元素數量。

kUpdateScheme_SFTP

應使用安全檔案傳輸通訊協定做為下載通訊協定。

@317

 @317

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

UpdateCondition

 UpdateCondition

規範更新政策的條件。

屬性
IfLater

如果回應頁框中的版本規格比目前安裝的軟體版本還新,請下載並安裝映像檔。

IfUnmatched

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

OnOptIn

透過網站使用者提供的某些觸發條件下載及安裝映像檔。

Unconditionally

不論目前執行的軟體版本為何,請下載並安裝映像檔。

UpdatePriority

 UpdatePriority

更新優先順序。

屬性
Critical

更新必須立即執行。

Normal

用戶端可自行斟酌進行更新。

函式

integrityLength

int integrityLength(
  uint8_t aType
)

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

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