Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl ::織り::プロファイル::ソフトウェアの更新:: ImageQuery

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

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

概要

画像クエリフレームは、ネットワーク上で次の形式になります

長さフィールド名
1バイトフレームコントロール
6バイト製品仕様書
変数バージョン仕様
2..4バイト整合性タイプリスト
2..5バイトスキームリストの更新
変数ロケール指定(オプション)
8バイト対象ノードID
変数ベンダー固有のデータ(オプション)
ここで、フレーム制御フィールドには次のようなビットフィールドがあります。

ビット意味
0 1-ベンダー固有のデータが存在する、0-存在しない
1 1-ロケール仕様が存在する、0-存在しない
2 1-ターゲットノードIDが存在し、0-存在しません
3..7予約済み
ImageQuery 、構造が若干異なる機内表現から読み込むよう。特に、バージョンとロケールは((長さ、文字)タプルではなく)nullで終了するc文字列であり、オプションの項目は両方ともnull許容ポインターとして表されるため、チェックする個別のブール値はありません。

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

ImageQuery ()
デフォルトコンストラクタImageQuery

パブリック属性

integrityTypes
デバイスでサポートされている整合性タイプ。
localeSpec
画像クエリが実行されているデバイスで有効なPOSIXロケールを含む可変長UTF-8文字列。
packageSpec
ベンダー固有のパッケージ仕様文字列を含む可変長UTF-8文字列。
productSpec
画像クエリを実行しているデバイスを説明する製品仕様。
targetNodeId
uint64_t
クエリが実行されているデバイスのオプションのノードID。
theMetaData
ベンダー固有のデータフィールドは長さが可変であり、上記のフィールドを超えて、Weaveメッセージペイロードの残りの部分を占めます。
updateSchemes
デバイスでサポートされている更新スキーム(ダウンロードプロトコル)。
version
クエリが実行されているデバイスのベンダー指定のソフトウェアバージョンを含む可変長UTF-8文字列。

公共機能

init ( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
明示的に初期化ImageQueryの提供された値を持つオブジェクトを。
operator== (const ImageQuery &) const
bool
等式演算子。
pack (PacketBuffer *)
根本的なシリアライズImageQueryを提供PacketBufferに。
print (void)
void

パブリック静的関数

parse (PacketBuffer *, ImageQuery &)
提供にPacketBufferに設けられた画像クエリメッセージデシリアライズImageQueryを

パブリック属性

IntegrityTypes

IntegrityTypeList integrityTypes

デバイスでサポートされている整合性タイプ。

localeSpec

ReferencedString localeSpec

画像クエリが実行されているデバイスで有効なPOSIXロケールを含む可変長UTF-8文字列。

文字列の内容は、ISO / IEC 15897で指定されているPOSIXロケール識別子形式に準拠している必要があります(オーストラリア英語の場合はen_AU.UTF-8など)。

パッケージ仕様

ReferencedString packageSpec

ベンダー固有のパッケージ仕様文字列を含む可変長UTF-8文字列。

フィールドの内容は、「rpm」、「deb」、「tgz」、「elf」など、ソフトウェアイメージに必要なコンテナタイプを記述します(注:このフィールドは、プロトコルのNest実装では使用されません)

productSpec

ProductSpec productSpec

画像クエリを実行しているデバイスを説明する製品仕様。

targetNodeId

uint64_t targetNodeId

クエリが実行されているデバイスのオプションのノードID。

ターゲットノードIDフィールドはオプションです。存在しない場合、クエリのターゲットノードIDは、暗黙的に画像クエリメッセージのソースであったノードです。

ターゲットノードIDフィールドは通常、IMAGEQUERYメッセージのソースであるノードが別のノードのソフトウェア更新プロキシとして機能している場合に使用されます。

theMetaData

ReferencedTLVData theMetaData

ベンダー固有のデータフィールドは長さが可変であり、上記のフィールドを超えて、Weaveメッセージペイロードの残りの部分を占めます。

このフィールドは、クエリが実行されているデバイスに関するベンダー固有の情報をエンコードします。ベンダー固有のデータフィールドはオプションです。存在する場合、フィールドは匿名のTLVエンコード構造の形式になります。この構造内に表示されるタグは、完全に修飾されたプロファイル固有のタグです。

updateSchemes

UpdateSchemeList updateSchemes

デバイスでサポートされている更新スキーム(ダウンロードプロトコル)。

バージョン

ReferencedString version

クエリが実行されているデバイスのベンダー指定のソフトウェアバージョンを含む可変長UTF-8文字列。

長さは32以下である必要があります。

公共機能

ImageQuery

 ImageQuery()

デフォルトコンストラクタImageQuery

ImageQueryを呼び出すことによって移入することができるのinit()またはメッセージからオブジェクトをデシリアライズすることによってです。

初期化

WEAVE_ERROR init(
  ProductSpec & aProductSpec,
  ReferencedString & aVersion,
  IntegrityTypeList & aTypeList,
  UpdateSchemeList & aSchemeList,
  ReferencedString *aPackage,
  ReferencedString *aLocale,
  uint64_t aTargetNodeId,
  ReferencedTLVData *aMetaData
)

明示的に初期化ImageQueryの提供された値を持つオブジェクトを。

詳細
パラメーター
[in] aProductSpec
製品仕様書。
[in] aVersion
現在インストールされているバージョンのソフトウェア。
[in] aTypeList
クライアントがサポートする整合性タイプ。
[in] aSchemeList
クライアントがサポートする更新スキーム。
[in] aPackage
クライアントがサポートするオプションのパッケージ仕様。
[in] aLocale
クライアントによって要求されたオプションのロケール仕様。
[in] aTargetNodeId
オプションのターゲットノードID。
[in] aMetaData
オプションのTLVエンコードベンダーデータBLOB。
戻り値
WEAVE_NO_ERROR無条件に。

演算子==

bool operator==(
  const ImageQuery &
) const 

等式演算子。

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

パック

WEAVE_ERROR pack(
  PacketBuffer *
)

根本的なシリアライズImageQueryを提供PacketBufferに。

詳細
パラメーター
[in] aBuffer
クエリをパックするパケットバッファ
戻り値
WEAVE_NO_ERROR
成功した場合
WEAVE_ERROR_BUFFER_TOO_SMALL
場合ImageQueryが提供バッファに収まるには大きすぎます。

印刷

void print(
  void
)

パブリック静的関数

解析する

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQuery &
)

提供にPacketBufferに設けられた画像クエリメッセージデシリアライズImageQueryを

詳細
パラメーター
[in] aBuffer
画像クエリを解析するパケットへのポインタ
[in] aQuery
結果を入れるオブジェクト
戻り値
WEAVE_NO_ERROR成功した場合
戻り値
WEAVE_ERROR_BUFFER_TOO_SMALLメッセージは、すべてのフィールドを含むことが小さすぎた場合ImageQueryを
戻り値
WEAVE_ERROR_INVALID_LIST_LENGTHメッセージが含まれている場合はIntegrityTypeListまたはUpdateSchemeList長すぎました