nl::Weave::Profiles::SoftwareUpdate

此命名空间包含 Weave 中用于 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

服务器 =>client,表示由于服务器没有可用选项,客户端应当放弃。

kStatus_DownloadFailed

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

kStatus_IntegrityCheckFailed

客户 =>服务器,表示映像已下载,但未能通过后续的完整性检查。

kStatus_InvalidInstructions

客户 =>服务器,表示由于 ImageQueryResponse 中包含的下载说明(即

URI、更新架构、更新条件、格式不正确或不一致。

kStatus_NoUpdateAvailable

服务器 =>client 表示已收到并理解图片查询,且服务器此时没有针对客户端的更新。

kStatus_Retry

服务器 =>客户端,表示客户端应提交另一个图片查询并重启/继续更新

kStatus_UpdateFailed

客户 =>服务器,表示安装服务器指定的映像失败。

@311

 @311

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

属性
kFlag_LocaleSpecPresent

Locale 规范出现在 ImageQuery 中。

kFlag_PackageSpecPresent

ImageQuery 中提供了软件包规范。

kFlag_TargetNodeIdPresent

目标节点 ID 显示在 ImageQuery 中。

@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

 UpdatePriority

更新优先级。

属性
Critical

更新必须立即执行。

Normal

更新可由客户自行决定。

函数

integrityLength

int integrityLength(
  uint8_t aType
)

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

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