nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

Class tambahan yang menyimpan jenis integritas dan hash sebenarnya dari image update software.

Ringkasan

Objek tersebut menyimpan kolom IntegrityTypes yang menentukan jenis hash, dan hash sebenarnya dari gambar update software. Panjang {i>hash<i} tidak dapat diubah berdasarkan jenis {i>hash<i}. Objek ini disesuaikan dengan ukuran hash terbesar dari hash yang didukung.

Konstruktor dan Destruktor

IntegritySpec()
Konstruktor default untuk IntegritySpec.

Atribut publik

type
uint8_t
Jenis hash, nilai yang akan diambil dari IntegrityTypes.
value[64]
uint8_t
Urutan panjang variabel byte yang berisi nilai integritas untuk image software yang diidentifikasi oleh kolom URI.

Fungsi publik

init(uint8_t, uint8_t *)
Lakukan inisialisasi objek IntegritySpec secara eksplisit dengan nilai yang disediakan.
operator==(const IntegritySpec &) const
bool
Operator kesetaraan.
pack(MessageIterator &)
Lakukan serialisasi IntegritySpec ke dalam MessageIterator yang disediakan.

Fungsi statis publik

parse(MessageIterator &, IntegritySpec &)
Lakukan deserialisasi objek dari MessageIterator yang disediakan ke IntegritySpec yang disediakan.

Atribut publik

jenis

uint8_t type

Jenis hash, nilai yang akan diambil dari IntegrityTypes.

nilai

uint8_t value[64]

Urutan panjang variabel byte yang berisi nilai integritas untuk image software yang diidentifikasi oleh kolom URI.

Nilai integritas dihitung dengan menerapkan fungsi integritas yang ditentukan oleh jenis integritas ke konten image update software yang diakses di URI yang ditentukan di atas. Spesifikasi integritas memungkinkan klien mengonfirmasi bahwa gambar yang didownload cocok dengan gambar yang ditentukan dalam respons ini.

Fungsi publik

IntegritySpec

 IntegritySpec()

Konstruktor default untuk IntegritySpec.

Objek harus diinisialisasi melalui metode init() atau melalui deserialisasi objek tersebut dari pesan.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

Lakukan inisialisasi objek IntegritySpec secara eksplisit dengan nilai yang disediakan.

Detail
Parameter
[in] aType
Nilai jenis integritas yang diambil dari IntegrityTypes
[in] aValue
Nilai hash dengan panjang yang sesuai yang direpresentasikan sebagai string byte yang dikemas
Hasil
WEAVE_NO_ERROR Saat berhasil
Hasil
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Jika jenis integritas yang diberikan bukan salah satu nilai yang ditentukan dalam IntegrityTypes

operator==

bool operator==(
  const IntegritySpec &
) const 

Operator kesetaraan.

Detail
Parameter
another
IntegritySpec untuk memeriksa IntegritySpec ini
Hasil
benar (true) jika semua bidang (field) di kedua objek sama, salah (false) jika tidak

pak

WEAVE_ERROR pack(
  MessageIterator &
)

Lakukan serialisasi IntegritySpec ke dalam MessageIterator yang disediakan.

Detail
Parameter
[in] i
Iterator di atas pesan yang sedang dikemas
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika IntegritySpec terlalu besar untuk dimuat dalam pesan.

Fungsi statis publik

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Lakukan deserialisasi objek dari MessageIterator yang disediakan ke IntegritySpec yang disediakan.

Detail
Parameter
[in] i
Iterator atas pesan yang sedang diuraikan.
[in] aSpec
Referensi ke objek untuk memuat hasil
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
Nilai yang Ditampilkan
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika pesan tidak berisi cukup byte untuk jenis integritas dan hash terkait
Hasil
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Jika jenis integritas yang diberikan bukan salah satu nilai yang ditentukan dalam IntegrityTypes