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

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

画像クエリ レスポンス メッセージの作成とデコードをサポートするクラス。

概要

画像クエリのレスポンス メッセージの形式は次のとおりです。

長さ フィールド名
変数 URI
変数 バージョンの仕様
変数 整合性の仕様
1 バイト 更新スキーム
1 バイト 更新オプション
(省略可)更新オプション フィールドの形式は次のとおりです。

ビット 意味
0 ~ 2 更新の優先度
3 ~ 4 条件を更新
5 ステータスを報告します。設定すると、クライアントは任意の DownloadNotify メッセージと UpdateNotify メッセージを生成するよう求められます。
5 ~ 7 予約済み
画像クエリのレスポンスは、画像クエリが正常に処理され、ダウンロードする画像を生成した場合にのみ送信されます。このメッセージは、クエリを送信したノードのダウンロード命令を構成します。サーバーが画像クエリを処理できない場合、画像クエリ ステータスを生成することになるので注意してください。

コンストラクタとデストラクタ

ImageQueryResponse()
ImageQueryResponse のデフォルト コンストラクタ。

パブリック属性

integritySpec
ソフトウェア アップデート イメージの整合性情報(完全性タイプとハッシュ)を含むフィールド。
reportStatus
bool
オプションの DownloadNotify メッセージと UpdateNotify メッセージで、ソフトウェア アップデートの進行状況をサーバーに通知するリクエスト。
updateCondition
ソフトウェア アップデートを進めるための条件についての説明。
updatePriority
ソフトウェア アップデートを実行するタイミングをデバイスに指示する手順。
updateScheme
uint8_t
ソフトウェア アップデート イメージのダウンロードに使用されるアップデート スキーム。
uri
ソフトウェア イメージの場所を含む可変長の UTF-8 文字列。
versionSpec
ベンダー固有のソフトウェア バージョン ID を含む可変長の UTF-8 文字列。

パブリック関数

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
指定された値で ImageQueryResponse オブジェクトを明示的に初期化します。
operator==(const ImageQueryResponse &) const
bool
等価演算子。
pack(PacketBuffer *)
指定された PacketBuffer に ImageQueryResponse をシリアル化します。
print(void)
void

静的パブリック関数

parse(PacketBuffer *, ImageQueryResponse &)
PacketBuffer で提供される画像クエリ レスポンス メッセージを、指定された ImageQueryResponse にシリアル化解除します。

パブリック属性

integritySpec

IntegritySpec integritySpec

ソフトウェア アップデート イメージの整合性情報(完全性タイプとハッシュ)を含むフィールド。

reportStatus

bool reportStatus

オプションの DownloadNotify メッセージと UpdateNotify メッセージで、ソフトウェア アップデートの進行状況をサーバーに通知するリクエスト。

updateCondition

UpdateCondition updateCondition

ソフトウェア アップデートを進めるための条件についての説明。

updatePriority

UpdatePriority updatePriority

ソフトウェア アップデートを実行するタイミングをデバイスに指示する手順。

updateScheme

uint8_t updateScheme

ソフトウェア アップデート イメージのダウンロードに使用されるアップデート スキーム。

値は UpdateSchemes から取得されます。

uri

ReferencedString uri

ソフトウェア イメージの場所を含む可変長の UTF-8 文字列。

この文字列の内容は、RFC 3986 仕様に準拠している必要があります。明確に定義されたインターネット プロトコル(HTTP、HTTPS、SFTP)に対応するアップデート スキームの場合、URI のスキーム要素は、そのプロトコル スキームの正規 URL エンコードに従わなければなりません。文字列の長さは 65, 565 以下にする必要があります。また、文字列は 1 つの Weave メッセージに収まる必要がありますが、これには MTU の制限が適用される場合があります。

versionSpec

ReferencedString versionSpec

ベンダー固有のソフトウェア バージョン ID を含む可変長の UTF-8 文字列。

文字列の長さは 256 バイトを超えないようにしてください。

パブリック関数

ImageQueryResponse

 ImageQueryResponse()

ImageQueryResponse のデフォルト コンストラクタ。

ImageQueryResponse は、init() メソッドを介して入力するか、メッセージからオブジェクトを逆シリアル化することによって入力されます。

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

指定された値で ImageQueryResponse オブジェクトを明示的に初期化します。

詳細
パラメータ
[in] aUri
新しいファームウェア イメージが存在する URI。
[in] aVersion
このイメージのバージョン文字列。
[in] aIntegrity
新しいイメージに対応する完全性の仕様。
[in] aScheme
ダウンロードに使用するアップデート スキーム。
[in] aPriority
このアップデートに関連付けられているアップデートの優先度。
[in] aCondition
更新する条件。
[in] aReportStatus
true の場合、ダウンロードと更新後にクライアントにレポートをリクエストします。それ以外の場合、クライアントはレポートしません。
戻り値
WEAVE_NO_ERROR 無条件。

演算子==

bool operator==(
  const ImageQueryResponse &
) const 

等価演算子。

詳細
パラメータ
another
この ImageQueryResponse に対してチェックする ImageQueryResponse
戻り値
両方のオブジェクトのすべてのフィールドが等しい場合は true、それ以外の場合は false

パック

WEAVE_ERROR pack(
  PacketBuffer *
)

指定された PacketBuffer に ImageQueryResponse をシリアル化します。

詳細
パラメータ
[in] aBuffer
クエリのレスポンスをパックするパケット バッファ
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_BUFFER_TOO_SMALL
ImageQueryResponse が大きすぎて指定されたバッファに収まらない場合。

プリント

void print(
  void
)

静的パブリック関数

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

PacketBuffer で提供される画像クエリ レスポンス メッセージを、指定された ImageQueryResponse にシリアル化解除します。

詳細
パラメータ
[in] aBuffer
画像クエリを解析するパケットへのポインタ。
[in] aResponse
結果を格納するオブジェクト
戻り値
WEAVE_NO_ERROR(成功時)
戻り値
WEAVE_ERROR_BUFFER_TOO_SMALL メッセージが小さすぎて ImageQuery のすべてのフィールドを格納できない場合
戻り値
WEAVE_ERROR_INVALID_INTEGRITY_TYPE 指定された完全性タイプが IntegrityTypes の値のいずれでもない場合