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

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

用于保存图片查询一部分的更新方案列表的辅助类。

摘要

一个简单的封装容器,大小可容纳任何可能的更新方案的子集。为了完成此任务,其大小等于 UpdateSchemes 中的元素数量,用于生成 ImageQuery 消息中支持的更新方案列表。

构造函数和析构函数

UpdateSchemeList()
UpdateSchemeList 的默认构造函数。

公共属性

theLength
uint8_t
支持的元素列表的长度。
theList[kUpdateScheme_Last]
uint8_t
用于存放支持的更新方案的容器。

公共函数

init(uint8_t, uint8_t *)
使用受支持的 IntegrityType 列表显式初始化 IntegrityTypeList
operator==(const UpdateSchemeList &) const
bool
等式运算符。
pack(MessageIterator &)
将对象序列化为提供的 MessageIterator

公共静态函数

parse(MessageIterator &, UpdateSchemeList &)
将给定 MessageIterator 中的对象反序列化为提供的 UpdateSchemeList

公共属性

theLength

uint8_t theLength

支持的元素列表的长度。

长度为 0 表示空列表

theList

uint8_t theList[kUpdateScheme_Last]

用于存放支持的更新方案的容器。

其大小等于 UpdateSchemes 中的元素数量。

公共函数

UpdateSchemeList

 UpdateSchemeList()

UpdateSchemeList 的默认构造函数。

构造逻辑空列表。可以通过 init() 方法或通过从消息中反序列化列表来填充该列表。

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

使用受支持的 IntegrityType 列表显式初始化 IntegrityTypeList

详细信息
参数
[in] aLength
一个 8 位值,表示列表的长度。必须小于 UpdateSchemes 中的枚举数量。
[in] aList
指向 UpdateSchemes 值数组的指针。仅当长度为 0 时,才能为 NULL。
返回值
WEAVE_NO_ERROR
成功时。
WEAVE_ERROR_INVALID_LIST_LENGTH
如果长度过长

运算符==

bool operator==(
  const UpdateSchemeList &
) const 

等式运算符。

详细信息
参数
another
要根据此列表进行检查的列表
返回值
如果列表相等,则返回 true,否则返回 false

WEAVE_ERROR pack(
  MessageIterator &
)

将对象序列化为提供的 MessageIterator

详细信息
参数
[in] i
对打包消息的迭代器
返回值
WEAVE_NO_ERROR
成功时。
WEAVE_ERROR_BUFFER_TOO_SMALL
该列表过长,无法全部显示。

公共静态函数

parse

WEAVE_ERROR parse(
  MessageIterator &,
  UpdateSchemeList &
)

将给定 MessageIterator 中的对象反序列化为提供的 UpdateSchemeList

详细信息
参数
[in] i
正在解析的消息的迭代器。
[in] aList
对包含结果的对象的引用
返回值
WEAVE_NO_ERROR
成功时。
WEAVE_ERROR_BUFFER_TOO_SMALL
消息过短。
WEAVE_ERROR_INVALID_LIST_LENGTH
如果消息包含无效列表长度(数据不足,无法填充列表或数据太多,超出了限制)