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:

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

Bit Arti
0..2 Perbarui prioritas
3..4 Perbarui kondisi
5 Laporkan status. Saat disetel, klien diminta untuk membuat pesan DownloadNotify dan UpdateNotify opsional.
5..7 Direservasi
Respons kueri gambar hanya dikirim jika kueri gambar berhasil diproses dan menghasilkan gambar untuk didownload. Pesan ini berisi petunjuk download untuk node yang mengirimkan kueri. Perhatikan, 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
Mintalah untuk memberi tahu server tentang kemajuan pembaruan perangkat lunak melalui pesan DownloadNotify dan UpdateNotify opsional.
updateCondition
Petunjuk mengenai kondisi 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 gambar 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 diberikan.
operator==(const ImageQueryResponse &) const
bool
Operator kesetaraan.
pack(PacketBuffer *)
Lakukan serialisasi ImageQueryResponse ke dalam PacketBuffer yang disediakan.
print(void)
void

Fungsi statis publik

parse(PacketBuffer *, ImageQueryResponse &)
Lakukan 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

Mintalah untuk memberi tahu server tentang kemajuan pembaruan perangkat lunak melalui pesan DownloadNotify dan UpdateNotify opsional.

updateCondition

UpdateCondition updateCondition

Petunjuk mengenai kondisi 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 gambar software.

Konten string ini harus sesuai dengan spesifikasi RFC 3986. Untuk skema update yang sesuai dengan Protokol Internet (HTTP, HTTPS, SFTP) yang ditetapkan dengan baik, 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 kepada 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 diberikan.

Detail
Parameter
[in] aUri
URI tempat image firmware baru akan 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 memperbarui.
[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 (true) jika semua bidang (field) di kedua objek sama, salah (false) jika tidak

pak

WEAVE_ERROR pack(
  PacketBuffer *
)

Lakukan serialisasi ImageQueryResponse ke dalam PacketBuffer yang disediakan.

Detail
Parameter
[in] aBuffer
Sebuah {i>buffer<i} paket yang akan digunakan untuk mengemas respons kueri
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika ImageQueryResponse terlalu besar untuk dimuat dalam buffer yang disediakan.

cetak

void print(
  void
)

Fungsi statis publik

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

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

Detail
Parameter
[in] aBuffer
Pointer ke paket yang akan digunakan untuk mengurai kueri gambar
[in] aResponse
Objek untuk menempatkan hasil
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 dalam IntegrityTypes