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 () デフォルトコンストラクタ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を。 |
パブリック属性
localeSpec
ReferencedString localeSpec
画像クエリが実行されているデバイスで有効なPOSIXロケールを含む可変長UTF-8文字列。
文字列の内容は、ISO / IEC 15897で指定されているPOSIXロケール識別子形式に準拠している必要があります(オーストラリア英語の場合はen_AU.UTF-8など)。
パッケージ仕様
ReferencedString packageSpec
ベンダー固有のパッケージ仕様文字列を含む可変長UTF-8文字列。
フィールドの内容は、「rpm」、「deb」、「tgz」、「elf」など、ソフトウェアイメージに必要なコンテナタイプを記述します(注:このフィールドは、プロトコルのNest実装では使用されません)
targetNodeId
uint64_t targetNodeId
クエリが実行されているデバイスのオプションのノードID。
ターゲットノードIDフィールドはオプションです。存在しない場合、クエリのターゲットノードIDは、暗黙的に画像クエリメッセージのソースであったノードです。
ターゲットノードIDフィールドは通常、IMAGEQUERYメッセージのソースであるノードが別のノードのソフトウェア更新プロキシとして機能している場合に使用されます。
theMetaData
ReferencedTLVData theMetaData
ベンダー固有のデータフィールドは長さが可変であり、上記のフィールドを超えて、Weaveメッセージペイロードの残りの部分を占めます。
このフィールドは、クエリが実行されているデバイスに関するベンダー固有の情報をエンコードします。ベンダー固有のデータフィールドはオプションです。存在する場合、フィールドは匿名のTLVエンコード構造の形式になります。この構造内に表示されるタグは、完全に修飾されたプロファイル固有のタグです。
公共機能
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の提供された値を持つオブジェクトを。
詳細 | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメーター |
| ||||||||||||||||
戻り値 | WEAVE_NO_ERROR無条件に。 |
演算子==
bool operator==( const ImageQuery & ) const
等式演算子。
詳細 | |||
---|---|---|---|
パラメーター |
| ||
戻り値 | 両方のオブジェクトのすべてのフィールドが等しい場合はtrue、それ以外の場合はfalse |
パック
WEAVE_ERROR pack( PacketBuffer * )
根本的なシリアライズImageQueryを提供PacketBufferに。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 |
|
印刷
void print( void )
パブリック静的関数
解析する
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
提供にPacketBufferに設けられた画像クエリメッセージデシリアライズImageQueryを。
詳細 | |||||
---|---|---|---|---|---|
パラメーター |
| ||||
戻り値 | WEAVE_NO_ERROR成功した場合 | ||||
戻り値 | WEAVE_ERROR_BUFFER_TOO_SMALLメッセージは、すべてのフィールドを含むことが小さすぎた場合ImageQueryを | ||||
戻り値 | WEAVE_ERROR_INVALID_LIST_LENGTHメッセージが含まれている場合はIntegrityTypeListまたはUpdateSchemeList長すぎました |