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 *)
ImageQueryResponse をシリアル化して、指定された PacketBuffer に格納します。
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 エンコードに準拠しなければなりません。文字列の長さは 65565 以下にする必要があります。また、文字列は 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 *
)

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

詳細
パラメータ
[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 で指定された値のいずれでもない場合