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 中指定的值