nl:: Weave:: Profiles:: SoftwareUpdate:: 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
|
長度 UTF-8 的變數字串,內含 POSIX 語言代碼,用於執行圖片查詢的裝置中。
|
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
長度 UTF-8 的變數字串,內含 POSIX 語言代碼,用於執行圖片查詢的裝置中。
字串內容必須符合 ISO/IEC 15897 指定的 POSIX 語言代碼 ID 格式,例如en_AU.UTF-8 代表澳洲英文。
packageSpec
ReferencedString packageSpec
長度 UTF-8 的變數字串,內含供應商專屬的套件規格字串。
欄位內容會說明所需的軟體映像檔容器類型,例如「rpm」、「deb」、「tgz」、「elf」等 (注意:這個欄位不適用於通訊協定的 Nest 實作項目)
targetNodeId
uint64_t targetNodeId
選用的節點 ID,表示要查詢的裝置。
目標節點 ID 為選填欄位。如未指定,查詢的目標節點 ID 會隱含圖片查詢訊息的來源節點。
當 IMAGE QUERY 訊息的來源節點做為另一個節點的軟體更新 Proxy 時,目標節點 ID 欄位通常會使用在這類執行個體中。
theMetaData
ReferencedTLVData theMetaData
供應商專屬資料欄位的長度為變數,並佔用 Weave 訊息酬載的其餘部分,而非上述欄位。
欄位會對執行查詢的裝置特定供應商相關資訊進行編碼。供應商專屬資料欄位為選填。如果有這個欄位,則欄位採用匿名的 TLV 編碼結構。這個結構中顯示的代碼必須是完整的設定檔專屬標記。
公開函式
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
包
WEAVE_ERROR pack( PacketBuffer * )
將基礎 ImageQuery 序列化到提供的 PacketBuffer。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
列印
void print( void )
公開的靜態函式
parse
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
將 PacketBuffer 中提供的圖片查詢訊息還原為提供的 ImageQuery。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回 |
WEAVE_NO_ERROR 成功時
|
||||
傳回 |
WEAVE_ERROR_BUFFER_TOO_SMALL 如果郵件太小,無法包含 ImageQuery 的所有欄位
|
||||
傳回 |
WEAVE_ERROR_INVALID_LIST_LENGTH 如果訊息包含 IntegrityTypeList 或 UpdateSchemeList 太長
|