Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Wea::Profil::Pembaruan Perangkat Lunak::ImageQuery

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

Class untuk mendukung pembuatan dan decoding pesan kueri gambar.

Ringkasan

Bingkai 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 lokal (opsional)
8 byte ID node target
variabel data khusus vendor (opsional)
dengan kolom kontrol frame memiliki kolom bit seperti berikut:

Mata Bor Arti
0 1 - data khusus vendor ada, 0 - tidak ada
1 1 - ada spesifikasi lokal, 0 - tidak ada
2 1 - ada ID node, 0 - tidak ada
3,7 Dengan fungsi khusus
ImageQuery, sebagai struktur, dibaca sedikit berbeda dari representasi yang sedang berlangsung. Secara khusus, versi dan lokal adalah c-string yang diakhiri null (bukannya (panjang, karakter) tupel) 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 panjang variabel yang berisi lokal POSIX yang berlaku di perangkat tempat kueri gambar dibuat.
packageSpec
String UTF-8 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 dari perangkat yang digunakan untuk membuat kueri.
theMetaData
Kolom data khusus vendor bervariasi panjangnya dan menempati sisa payload pesan Weave, di luar kolom yang dijelaskan di atas.
updateSchemes
Memperbarui skema (mendownload protokol) yang didukung oleh perangkat.
version
String UTF-8 panjang variabel yang berisi versi software yang ditentukan vendor dari perangkat yang kuerinya sedang dibuat.

Fungsi publik

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

Fungsi statis publik

parse(PacketBuffer *, ImageQuery &)
Menserialisasikan pesan kueri gambar yang diberikan dalam PacketBuffer menjadi ImageQuery yang disediakan.

Atribut publik

integritasType

IntegrityTypeList integrityTypes

Jenis integritas yang didukung oleh perangkat.

localSpec

ReferencedString localeSpec

String UTF-8 panjang variabel yang berisi lokal POSIX yang berlaku di perangkat tempat kueri gambar dibuat.

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

packageSpec

ReferencedString packageSpec

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

Konten kolom menjelaskan jenis penampung yang diinginkan untuk gambar software, seperti ‘rpm’, ‘deb’, ‘tgz’, ‘elf’, dll. (CATATAN: Kolom ini tidak digunakan dalam penerapan Nest pada protokol)

productSpec

ProductSpec productSpec

Spesifikasi produk yang menjelaskan perangkat yang membuat kueri gambar.

targetIdId

uint64_t targetNodeId

ID node opsional dari perangkat yang digunakan untuk membuat kueri.

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 dalam kasus saat node yang menjadi sumber pesan IMAGE QUERY berfungsi sebagai proxy update software untuk node lain.

MetaData

ReferencedTLVData theMetaData

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

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

updateSchemes

UpdateSchemeList updateSchemes

Memperbarui skema (mendownload protokol) yang didukung oleh perangkat.

versi

ReferencedString version

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

Harus terdiri dari 32 atau lebih kecil.

Fungsi publik

KueriGambar

 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
)

Inisialisasi objek ImageQuery secara eksplisit dengan nilai yang diberikan.

Detail
Parameter
[in] aProductSpec
Spesifikasi produk.
[in] aVersion
Versi software yang saat ini diinstal.
[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 yang dienkode dengan TLV opsional.
Hasil
WEAVE_NO_ERROR Tanpa syarat.

operator==

bool operator==(
  const ImageQuery &
) const 

Operator persamaan.

Detail
Parameter
another
ImageQuery untuk diperiksa dengan ImageQuery ini
Hasil
true jika semua kolom di kedua objek sama, false jika tidak

pak

WEAVE_ERROR pack(
  PacketBuffer *
)

Melakukan serialisasi ImageQuery pokok ke dalam PacketBuffer yang disediakan.

Detail
Parameter
[in] aBuffer
Buffering paket untuk mengemas kueri
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika ImageQuery terlalu besar untuk dimasukkan dalam buffer yang disediakan.

cetak

void print(
  void
)

Fungsi statis publik

mengurai

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQuery &
)

Menserialisasikan pesan kueri gambar yang diberikan dalam PacketBuffer menjadi ImageQuery yang disediakan.

Detail
Parameter
[in] aBuffer
Pointer ke paket tempat mengurai kueri gambar
[in] aQuery
Objek untuk menempatkan hasil
Hasil
WEAVE_NO_ERROR Jika 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