nl::Weave::Profiles::SoftwareUpdate

此命名空间包含 Weave 软件更新配置文件的所有接口,其中包括同名的相应协议。

摘要

枚举

@309{
  kMsgType_ImageAnnounce = 0,
  kMsgType_ImageQuery = 1,
  kMsgType_ImageQueryResponse = 2,
  kMsgType_DownloadNotify = 3,
  kMsgType_NotifyResponse = 4,
  kMsgType_UpdateNotify = 5,
  kMsgType_ImageQueryStatus = 6
}
枚举
SoftwareUpdate 消息类型。
@310{
  kStatus_NoUpdateAvailable = 0x0001,
  kStatus_UpdateFailed = 0x0010,
  kStatus_InvalidInstructions = 0x0050,
  kStatus_DownloadFailed = 0x0051,
  kStatus_IntegrityCheckFailed = 0x0052,
  kStatus_Abort = 0x0053,
  kStatus_Retry = 0x0091
}
枚举
@311{
  kFlag_PackageSpecPresent = 1,
  kFlag_LocaleSpecPresent = 2,
  kFlag_TargetNodeIdPresent = 4
}
枚举
ImageQuery 帧的控制字段的控制标志。
@312 枚举
ImageQueryResponse 的可选更新选项字段的位掩码。
@313 枚举
ImageQueryResponse 的可选更新选项字段的偏移偏移。
@314{
  kIntegrityType_SHA160 = 0,
  kIntegrityType_SHA256 = 1,
  kIntegrityType_SHA512 = 2,
  kIntegrityType_Last = 3
}
枚举
@315 枚举
完整性规范字节字符串的长度(以字节为单位)。
@316{
  kUpdateScheme_HTTP = 0,
  kUpdateScheme_HTTPS = 1,
  kUpdateScheme_SFTP = 2,
  kUpdateScheme_BDX = 3,
  kUpdateScheme_Last = 4
}
枚举
@317 枚举
SoftwareUpdate 配置文件的数据元素标记。
UpdateCondition{
  IfUnmatched,
  IfLater,
  Unconditionally,
  OnOptIn
}
枚举
管理更新政策的条件。
UpdatePriority{
  Normal,
  Critical
}
枚举
更新优先级。

函数

integrityLength(uint8_t aType)
int
一种支持方法,用于将 IntegrityTypes 值映射到相应类型哈希值的长度。

nl::Weave::Profiles::SoftwareUpdate::IWeaveImageAnnounceServerDelegate

WeaveImageAnnounceServer 委托的接口。

nl::Weave::Profiles::SoftwareUpdate::ImageAnnounce

描述 ImageAnnounce 消息的类。

nl::Weave::Profiles::SoftwareUpdate::ImageQuery

用于支持创建和解码图片查询消息的类。

nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

用于支持创建和解码图片查询响应消息的类。

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

用于保存完整性类型和软件更新映像实际哈希值的辅助类。

nl::Weave::Profiles::SoftwareUpdate::IntegrityTypeList

一个辅助类,用于保存完整性类型列表作为图片查询的一部分。

nl::Weave::Profiles::SoftwareUpdate::ProductSpec

表示产品规范的辅助类。

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

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

nl::Weave::Profiles::SoftwareUpdate::WeaveImageAnnounceServer

监听 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

server => client,表示客户端应在服务器不可用时放弃。

kStatus_DownloadFailed

client => ,表示尝试下载失败。

kStatus_IntegrityCheckFailed

client => 表示图像已下载,但未能通过后续的完整性检查。

kStatus_InvalidInstructions

client => ,表示客户端无法下载图片,因为 ImageQueryResponse 中包含的下载说明,即

URI、更新方案、更新条件格式错误或不一致。

kStatus_NoUpdateAvailable

server => client ,表示已收到并理解图片查询,表示服务器目前没有为客户端更新。

kStatus_Retry

server => client,表示客户端应提交另一个图片查询,然后重启/继续更新

kStatus_UpdateFailed

client => ,表示尝试安装服务器指定的映像失败。

@311

 @311

ImageQuery 帧的控制字段的控制标志。

属性
kFlag_LocaleSpecPresent

ImageQuery 中有 Locale 规范。

kFlag_PackageSpecPresent

ImageQuery 中存在软件包规范。

kFlag_TargetNodeIdPresent

ImageQuery 中存在目标节点 ID。

@312

 @312

ImageQueryResponse 的可选更新选项字段的位掩码。

@313

 @313

ImageQueryResponse 的可选更新选项字段的偏移偏移。

@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 作为下载协议。

@317

 @317

SoftwareUpdate 配置文件的数据元素标记。

UpdateCondition(更新条件)

 UpdateCondition

管理更新政策的条件。

属性
IfLater

如果响应帧中的版本规范高于当前安装的软件版本,请下载并安装映像。

IfUnmatched

如果响应帧中的版本规范与当前安装的软件版本不匹配,请下载并安装映像。

OnOptIn

在现场用户提供的某个触发器上下载并安装映像。

Unconditionally

无论当前正在运行的软件版本是什么,都请下载并安装映像。

更新优先级

 UpdatePriority

更新优先级。

属性
Critical

更新必须立即执行。

Normal

更新更新可能由客户自行决定。

函数

完整性长度

int integrityLength(
  uint8_t aType
)

一种支持方法,用于将 IntegrityTypes 值映射到相应类型哈希值的长度。

详细信息
参数
[in] aType
返回值
所提供的哈希类型的哈希值的长度。