nl:: Weave:: Profiles:: SoftwareUpdate
此命名空间包含 Weave 中用于 Weave Software Update 配置文件的所有接口,该配置文件包括相应的同名协议。
摘要
函数 |
|
---|---|
integrityLength(uint8_t aType)
|
int
一种支持方法,可将 IntegrityTypes 值映射到该类型的哈希的长度。
|
类 |
|
---|---|
nl:: |
WeaveImageAnnounceServer 代理的接口。 |
nl:: |
描述 ImageAnnounce 消息的类。 |
nl:: |
支持创建和解码图片查询消息的类。 |
nl:: |
支持创建和解码图片查询响应消息的类。 |
nl:: |
一个辅助类,用于保存软件更新映像的完整性类型和实际哈希值。 |
nl:: |
一个辅助类,用于保存完整性类型列表作为图片查询的一部分。 |
nl:: |
表示产品规范的辅助类。 |
nl:: |
一个辅助类,用于保存作为图片查询一部分的更新方案列表。 |
nl:: |
监听 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
|
client => 服务器,表示尝试下载失败。 |
kStatus_IntegrityCheckFailed
|
client => 服务器,表示已下载映像,但未能通过后续的完整性检查。 |
kStatus_InvalidInstructions
|
client => 服务器,表示客户端无法下载图片,因为 ImageQueryResponse 中包含的下载说明,即 URI、更新方案、更新条件、格式不正确或不一致。 |
kStatus_NoUpdateAvailable
|
服务器 => 客户端,表示已收到并理解图片查询,但服务器目前没有为客户端进行更新。 |
kStatus_Retry
|
服务器 => 客户端,表示客户端应提交另一个图片查询并重启/继续更新 |
kStatus_UpdateFailed
|
client => 服务器,表示尝试安装该服务器指定的映像失败。 |
@311
@311
ImageQuery 帧的控制字段的控制标记。
属性 | |
---|---|
kFlag_LocaleSpecPresent
|
ImageQuery 中包含 Locale 规范。 |
kFlag_PackageSpecPresent
|
ImageQuery 中包含软件包规范。 |
kFlag_TargetNodeIdPresent
|
ImageQuery 中存在目标节点 ID。 |
@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
|
应使用 Weave 批量数据传输协议进行下载。 |
kUpdateScheme_HTTP
|
应将 HTTP 用作下载协议。 |
kUpdateScheme_HTTPS
|
应使用 HTTPS 作为下载协议。 |
kUpdateScheme_Last
|
枚举中的有效元素数。 |
kUpdateScheme_SFTP
|
应将 SFTP 用作下载协议。 |
UpdateCondition
UpdateCondition
控制更新政策的条件。
属性 | |
---|---|
IfLater
|
如果响应帧中的版本规范高于当前所安装的软件版本,请下载并安装该映像。 |
IfUnmatched
|
如果响应帧中的版本规范与当前所安装的软件版本不匹配,请下载并安装该映像。 |
OnOptIn
|
在由网站用户提供的某个触发器上下载并安装映像。 |
Unconditionally
|
无论当前正在运行的软件版本如何,下载并安装该映像。 |
函数
integrityLength
int integrityLength( uint8_t aType )