nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

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

Class untuk mendukung pembuatan dan decoding pesan respons kueri gambar.

Ringkasan

Pesan respons kueri gambar memiliki bentuk:

Durasi Nama Kolom
variabel URI
variabel Spesifikasi versi
variabel Spesifikasi integritas
1 byte Perbarui skema
1 byte Opsi update
Format kolom opsi update (opsional) adalah sebagai berikut:

Bit Arti
0,2 Perbarui prioritas
3..4 Perbarui kondisi
5 Status laporan. Bila ditetapkan, klien diminta untuk membuat pesan DownloadNotification dan UpdateNotification opsional.
5..7 Dengan fungsi khusus
Respons kueri gambar hanya dikirim jika kueri gambar berhasil diproses dan menghasilkan gambar untuk didownload. Pesan ini berisi instruksi download untuk node yang mengirimkan kueri. Perhatikan bahwa jika server gagal memproses kueri gambar, server akan menghasilkan status kueri gambar.

Konstruktor dan Destruktor

ImageQueryResponse()
Konstruktor default untuk ImageQueryResponse.

Atribut publik

integritySpec
Kolom yang berisi informasi integritas (jenis integritas dan hash) untuk image update software.
reportStatus
bool
Permintaan untuk memberi tahu server tentang progres update software melalui pesan DownloadNotification dan UpdateNotifications opsional.
updateCondition
Petunjuk mengenai kondisi yang diperlukan untuk melanjutkan update software.
updatePriority
Petunjuk yang mengarahkan perangkat kapan harus melakukan update software.
updateScheme
uint8_t
Skema update yang akan digunakan untuk mendownload image update software.
uri
String UTF-8 dengan panjang variabel yang berisi lokasi image software.
versionSpec
String UTF-8 dengan panjang variabel yang berisi identifikasi versi software khusus vendor.

Fungsi publik

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Lakukan inisialisasi objek ImageQueryResponse secara eksplisit dengan nilai yang disediakan.
operator==(const ImageQueryResponse &) const
bool
Operator kesetaraan.
pack(PacketBuffer *)
Lakukan serialisasi ImageQueryResponse ke PacketBuffer yang disediakan.
print(void)
void

Fungsi statis publik

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

Atribut publik

integritySpec

IntegritySpec integritySpec

Kolom yang berisi informasi integritas (jenis integritas dan hash) untuk image update software.

reportStatus

bool reportStatus

Permintaan untuk memberi tahu server tentang progres update software melalui pesan DownloadNotification dan UpdateNotifications opsional.

updateCondition

UpdateCondition updateCondition

Petunjuk mengenai kondisi yang diperlukan untuk melanjutkan update software.

updatePriority

UpdatePriority updatePriority

Petunjuk yang mengarahkan perangkat kapan harus melakukan update software.

updateScheme

uint8_t updateScheme

Skema update yang akan digunakan untuk mendownload image update software.

Nilainya diambil dari UpdateSchemes.

uri

ReferencedString uri

String UTF-8 dengan panjang variabel yang berisi lokasi image software.

Isi string ini harus sesuai dengan spesifikasi RFC 3986. Untuk skema update yang sesuai dengan Protokol Internet yang ditentukan dengan baik (HTTP, HTTPS, SFTP), elemen skema URI HARUS sesuai dengan encoding URL kanonis untuk skema protokol tersebut. Panjang string tidak boleh lebih dari 65565 dan string harus muat dalam satu pesan Weave, yang mungkin tunduk pada batasan MTU.

versionSpec

ReferencedString versionSpec

String UTF-8 dengan panjang variabel yang berisi identifikasi versi software khusus vendor.

Panjang string tidak boleh lebih dari 256 byte.

Fungsi publik

ImageQueryResponse

 ImageQueryResponse()

Konstruktor default untuk ImageQueryResponse.

ImageQueryResponse dapat diisi melalui metode init() atau dengan melakukan deserialisasi objek dari pesan.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Lakukan inisialisasi objek ImageQueryResponse secara eksplisit dengan nilai yang disediakan.

Detail
Parameter
[in] aUri
URI tempat image firmware baru dapat ditemukan.
[in] aVersion
String versi untuk gambar ini.
[in] aIntegrity
Spesifikasi integritas yang sesuai dengan image baru.
[in] aScheme
Skema update yang akan digunakan saat mendownload.
[in] aPriority
Prioritas update yang terkait dengan update ini.
[in] aCondition
Kondisi untuk pembaruan.
[in] aReportStatus
Jika true meminta klien untuk melaporkan setelah download dan update, jika tidak, klien tidak akan melaporkan.
Hasil
WEAVE_NO_ERROR Tanpa syarat.

operator==

bool operator==(
  const ImageQueryResponse &
) const 

Operator kesetaraan.

Detail
Parameter
another
Hasil
benar jika semua kolom di kedua objek sama, salah jika tidak

pak

WEAVE_ERROR pack(
  PacketBuffer *
)

Lakukan serialisasi ImageQueryResponse ke PacketBuffer yang disediakan.

Detail
Parameter
[in] aBuffer
Suatu {i>buffer<i} paket tempat untuk mengemas respons kueri
Nilai Pengembalian
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_BUFFER_TOO_SMALL
Apakah ImageQueryResponse terlalu besar untuk dimuat ke buffer yang diberikan.

cetak

void print(
  void
)

Fungsi statis publik

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

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

Detail
Parameter
[in] aBuffer
Pointer ke paket yang digunakan untuk mengurai kueri gambar
[in] aResponse
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_INTEGRITY_TYPE Jika jenis integritas yang diberikan bukan salah satu nilai yang ditentukan di IntegrityTypes