nl::Weave::Profiles::SoftwareUpdate::ImageQuery

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

Class untuk mendukung pembuatan dan decoding pesan kueri gambar.

Ringkasan

{i>Frame<i} kueri gambar memiliki bentuk berikut di atas kabel

Durasi Nama Kolom
1 byte kontrol frame
6 byte spesifikasi produk
variabel spesifikasi versi
2,.4 byte daftar jenis integritas
2,.5 byte perbarui daftar skema
variabel spesifikasi lokalitas (opsional)
8 byte ID node target
variabel data khusus vendor (opsional)
di mana isian {i>frame control<i} memiliki bidang bit sebagai berikut:

Bit Arti
0 1 - ada data khusus vendor, 0 - tidak ada
1 1 - spesifikasi lokal ada, 0 - tidak ada
2 1 - ID node target ada, 0 - tidak ada
3..7 Dengan fungsi khusus
ImageQuery, karena struktur membaca sedikit berbeda dari representasi yang sedang berlangsung. Secara khusus, versi dan lokal adalah c-string yang dihentikan null (bukan tuple (panjang, karakter)) dan kedua item opsional direpresentasikan sebagai pointer nullable sehingga tidak ada boolean terpisah untuk diperiksa.

Konstruktor dan Destruktor

ImageQuery()
Konstruktor default untuk ImageQuery.

Atribut publik

integrityTypes
Jenis integritas yang didukung oleh perangkat.
localeSpec
String UTF-8 dengan panjang variabel yang berisi lokalitas POSIX yang berlaku pada perangkat yang kueri gambarnya dibuat.
packageSpec
String UTF-8 dengan panjang variabel yang berisi string spesifikasi paket khusus vendor.
productSpec
Spesifikasi produk yang menjelaskan perangkat yang membuat kueri gambar.
targetNodeId
uint64_t
ID node opsional perangkat yang kuerinya sedang dibuat.
theMetaData
Kolom data khusus vendor memiliki panjang bervariasi dan menempati sisa payload pesan Weave, di luar kolom yang dijelaskan di atas.
updateSchemes
Skema update (protokol download) yang didukung oleh perangkat.
version
String UTF-8 dengan panjang variabel yang berisi versi software yang ditentukan vendor dari perangkat yang kuerinya dibuat.

Fungsi publik

init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
Lakukan inisialisasi objek ImageQuery secara eksplisit dengan nilai yang diberikan.
operator==(const ImageQuery &) const
bool
Operator kesetaraan.
pack(PacketBuffer *)
Lakukan serialisasi ImageQuery yang mendasarinya ke dalam PacketBuffer yang disediakan.
print(void)
void

Fungsi statis publik

parse(PacketBuffer *, ImageQuery &)
Melakukan deserialisasi pesan kueri gambar yang disediakan di PacketBuffer ke dalam ImageQuery yang disediakan.

Atribut publik

integrityTypes

IntegrityTypeList integrityTypes

Jenis integritas yang didukung oleh perangkat.

localeSpec

ReferencedString localeSpec

String UTF-8 dengan panjang variabel yang berisi lokalitas POSIX yang berlaku pada perangkat yang kueri gambarnya dibuat.

Konten string harus sesuai dengan format ID lokalitas POSIX, seperti yang ditentukan dalam ISO/IEC 15897, misalnya en_AU.UTF-8 untuk bahasa Inggris Australia.

packageSpec

ReferencedString packageSpec

String UTF-8 dengan panjang variabel yang berisi string spesifikasi paket khusus vendor.

Konten kolom menjelaskan jenis penampung yang diinginkan untuk image software, seperti 'rpm', 'deb', 'tgz', 'elf', dll. (CATATAN: Kolom ini tidak digunakan dalam implementasi protokol Nest)

productSpec

ProductSpec productSpec

Spesifikasi produk yang menjelaskan perangkat yang membuat kueri gambar.

targetNodeId

uint64_t targetNodeId

ID node opsional perangkat yang kuerinya sedang dibuat.

Kolom ID node target bersifat opsional. Jika tidak ada, ID node target untuk kueri secara implisit adalah node yang merupakan sumber pesan kueri gambar.

Kolom ID node target biasanya digunakan jika node yang merupakan sumber pesan IMAGE QUERY berfungsi sebagai proxy update software untuk node lain.

theMetaData

ReferencedTLVData theMetaData

Kolom data khusus vendor memiliki panjang bervariasi dan menempati sisa payload pesan Weave, di luar kolom yang dijelaskan di atas.

Kolom mengenkode informasi khusus vendor tentang perangkat yang kuerinya dibuat. Kolom data khusus vendor bersifat opsional. Jika ada, kolom memiliki bentuk struktur berenkode TLV anonim. Tag yang disajikan dalam struktur ini harus sepenuhnya memenuhi syarat tag khusus profil.

updateSchemes

UpdateSchemeList updateSchemes

Skema update (protokol download) yang didukung oleh perangkat.

versi

ReferencedString version

String UTF-8 dengan panjang variabel yang berisi versi software yang ditentukan vendor dari perangkat yang kuerinya dibuat.

Harus berukuran 32 atau lebih kecil.

Fungsi publik

ImageQuery

 ImageQuery()

Konstruktor default untuk ImageQuery.

ImageQuery dapat diisi dengan memanggil init() atau dengan melakukan deserialisasi objek dari pesan.

init

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

Lakukan inisialisasi objek ImageQuery secara eksplisit dengan nilai yang diberikan.

Detail
Parameter
[in] aProductSpec
Spesifikasi produk.
[in] aVersion
Versi software yang saat ini terinstal.
[in] aTypeList
Jenis integritas yang didukung oleh klien.
[in] aSchemeList
Skema update yang didukung oleh klien.
[in] aPackage
Spesifikasi paket opsional yang didukung oleh klien.
[in] aLocale
Spesifikasi lokal opsional yang diminta oleh klien.
[in] aTargetNodeId
ID node target opsional.
[in] aMetaData
Blob data vendor berenkode TLV opsional.
Hasil
WEAVE_NO_ERROR Tanpa syarat.

operator==

bool operator==(
  const ImageQuery &
) const 

Operator kesetaraan.

Detail
Parameter
another
ImageQuery untuk memeriksa ImageQuery ini
Hasil
benar jika semua kolom di kedua objek sama, salah jika tidak

pak

WEAVE_ERROR pack(
  PacketBuffer *
)

Lakukan serialisasi ImageQuery yang mendasarinya ke dalam PacketBuffer yang disediakan.

Detail
Parameter
[in] aBuffer
Suatu {i>buffer<i} paket tempat untuk mengemas kueri
Nilai Pengembalian
WEAVE_NO_ERROR
Saat berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika ImageQuery terlalu besar untuk dimuat ke buffering yang diberikan.

cetak

void print(
  void
)

Fungsi statis publik

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQuery &
)

Melakukan deserialisasi pesan kueri gambar yang disediakan di PacketBuffer ke dalam ImageQuery yang disediakan.

Detail
Parameter
[in] aBuffer
Pointer ke paket yang digunakan untuk mengurai kueri gambar
[in] aQuery
Objek untuk menempatkan hasilnya
Hasil
WEAVE_NO_ERROR Saat berhasil
Hasil
WEAVE_ERROR_BUFFER_TOO_SMALL Jika pesan terlalu kecil untuk memuat semua kolom ImageQuery
Hasil
WEAVE_ERROR_INVALID_LIST_LENGTH Jika pesan berisi IntegrityTypeList atau UpdateSchemeList yang terlalu panjang