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

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

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

摘要

物件會保留 IntegrityTypes 欄位,藉此指定雜湊類型,以及軟體更新圖片的實際雜湊值。雜湊長度會根據雜湊類型而固定。系統會根據支援的雜湊值調整物件大小。

建構函式和解構函式

IntegritySpec()
IntegritySpec 的預設建構函式。

公開屬性

type
uint8_t
雜湊類型,以及要從 IntegrityTypes 繪製的值。
value[64]
uint8_t
變數長度序列,內含 URI 欄位識別的軟體映像檔完整性值。

公用函式

init(uint8_t, uint8_t *)
使用提供的值明確初始化 IntegritySpec 物件。
operator==(const IntegritySpec &) const
bool
等號運算子。
pack(MessageIterator &)
IntegritySpec 序列化到提供的 MessageIterator

公開的靜態函式

parse(MessageIterator &, IntegritySpec &)
將物件從提供的 MessageIterator 還原序列化到提供的 IntegritySpec

公開屬性

類型

uint8_t type

雜湊類型,以及要從 IntegrityTypes 繪製的值。

uint8_t value[64]

變數長度序列,內含 URI 欄位識別的軟體映像檔完整性值。

完整性值的計算方式,是將完整性類型指定的完整性函式套用至透過上述 URI 存取的軟體更新映像檔內容。此完整性規格可讓用戶端確認下載的圖片是否符合此回應中指定的圖片。

公用函式

IntegritySpec

 IntegritySpec()

IntegritySpec 的預設建構函式。

物件必須透過 init() 方法或透過訊息取消序列化才能初始化。

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

使用提供的值明確初始化 IntegritySpec 物件。

詳細說明
參數
[in] aType
IntegrityTypes 擷取的完整性類型值
[in] aValue
適當長度的雜湊值,以經過封裝的位元組字串表示
傳回
WEAVE_NO_ERROR 成功後
傳回
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 如果提供的完整性類型不是 IntegrityTypes 中指定的值之一

運算子==

bool operator==(
  const IntegritySpec &
) const 

等號運算子。

詳細說明
參數
another
用來檢查此 IntegritySpecIntegritySpec
傳回
如果兩個物件中的所有欄位都相同,則傳回 true,否則傳回 false

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec 序列化到提供的 MessageIterator

詳細說明
參數
[in] i
包裝要封裝訊息的疊代器
傳回值
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_BUFFER_TOO_SMALL
如果 IntegritySpec 過大,無法放入訊息中。

公開的靜態函式

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

將物件從提供的 MessageIterator 還原序列化到提供的 IntegritySpec

詳細說明
參數
[in] i
剖析訊息的疊代器。
[in] aSpec
要包含結果的物件參照
傳回值
WEAVE_NO_ERROR
成功時。
傳回值
WEAVE_ERROR_BUFFER_TOO_SMALL
如果訊息包含的位元組不足,並未提供完整性類型和相關聯的雜湊
傳回
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 如果提供的完整性類型不是 IntegrityTypes 中指定的值之一