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 中提取的值。

value

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
一个 IntegritySpec,用于根据此 IntegritySpec 进行检查
返回值
如果两个对象中的所有字段相等,则返回 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 中指定的值之一