nl::Weave::Profiller::Yazılım Güncellemesi::ImageQueryResponse

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

Resim sorgusu yanıt mesajlarının oluşturulmasını ve kod çözmesini destekleyen bir sınıf.

Özet

Resim sorgusu yanıt mesajı şu biçimdedir:

Süre Alan Adı
değişken URI
değişken Sürüm spesifikasyonu
değişken Bütünlük spesifikasyonu
1 bayt Şemayı güncelle
1 bayt Güncelleme seçenekleri
İsteğe bağlı güncelleme seçenekleri alanının biçimi aşağıdaki gibidir:

Anlamı
0,.2 Güncelleme önceliği
3,.4 Koşulu güncelle
5 Rapor durumu. Bu ayar ayarlandığında, istemciden isteğe bağlıDownloadNotify ve UpdateNotify mesajları oluşturması istenir.
5,7 Ayırtıldı
Resim sorgusu yanıtı, yalnızca resim sorgusunun başarıyla işlendiği ve indirilecek bir resmi oluşturduğu durumlarda gönderilir. Mesaj, sorguyu gönderilen düğüm için indirme talimatlarını içerir. Sunucunun resim sorgusunu işleme koyamadığı durumlarda, resim sorgusu durumu oluşturur.

İnşaat Ustaları ve Yıkıcılar

ImageQueryResponse()
ImageQueryResponse için varsayılan oluşturucu.

Herkese açık özellikler

integritySpec
Yazılım güncelleme görüntüsü için bütünlük bilgilerini (bütünlük türü ve karma) içeren bir alan.
reportStatus
bool
İsteğe bağlıDownloadNotify ve UpdateNotify mesajları aracılığıyla sunucuya yazılım güncellemesinin ilerleme durumu hakkında bilgi verme isteğinde bulunun.
updateCondition
Yazılım güncellemesinin hangi koşullarda devam edeceğiyle ilgili talimatlar.
updatePriority
Cihazı yazılım güncellemesinin ne zaman gerçekleştirileceğine yönlendiren talimatlar.
updateScheme
uint8_t
Yazılım güncelleme resmini indirmek için kullanılacak güncelleme şeması.
uri
Yazılım görüntüsünün konumunu içeren bir değişken UTF-8 dizesi.
versionSpec
Tedarikçi firmaya özel yazılım sürümü kimliği içeren değişken uzunlukta UTF-8 dizesi.

Herkese açık işlevler

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
ImageQueryResponse nesnesini, sağlanan değerlerle açık bir şekilde başlatın.
operator==(const ImageQueryResponse &) const
bool
Eşitlik operatörü.
pack(PacketBuffer *)
ImageQueryResponse'yu sağlanan PaketetBuffer'a serileştirin.
print(void)
void

Herkese açık statik işlevler

parse(PacketBuffer *, ImageQueryResponse &)
PacketBuffer'da sağlanan resim sorgusu yanıt mesajını, sağlanan bir ImageQueryResponse'a serileştirin.

Herkese açık özellikler

dürüstlükÖzellikler

IntegritySpec integritySpec

Yazılım güncelleme görüntüsü için bütünlük bilgilerini (bütünlük türü ve karma) içeren bir alan.

raporDurumu

bool reportStatus

İsteğe bağlıDownloadNotify ve UpdateNotify mesajları aracılığıyla sunucuya yazılım güncellemesinin ilerleme durumu hakkında bilgi verme isteğinde bulunun.

updateKoşulu

UpdateCondition updateCondition

Yazılım güncellemesinin hangi koşullarda devam edeceğiyle ilgili talimatlar.

updatePriority

UpdatePriority updatePriority

Cihazı yazılım güncellemesinin ne zaman gerçekleştirileceğine yönlendiren talimatlar.

updateScheme

uint8_t updateScheme

Yazılım güncelleme resmini indirmek için kullanılacak güncelleme şeması.

Değeri UpdateSchemes'den alınmıştır.

uri

ReferencedString uri

Yazılım görüntüsünün konumunu içeren bir değişken UTF-8 dizesi.

Bu dizenin içeriği RFC 3986 spesifikasyonuna uygun olmalıdır. İyi tanımlanmış bir İnternet Protokolü'ne (HTTP, HTTPS, SFTP) karşılık gelen güncelleme şemalarında, URI'nın şema öğesinin söz konusu protokol şemasının standart URL kodlamasına uyması ZORUNLUDUR. Dize uzunluğu 65.565'i geçmemelidir. Dize, MTU sınırlamalarına tabi olabilecek tek bir Weave iletisine sığmalıdır.

versionSpec

ReferencedString versionSpec

Tedarikçi firmaya özel yazılım sürümü kimliği içeren değişken uzunlukta UTF-8 dizesi.

Dize uzunluğu 256 baytı aşmamalıdır.

Herkese açık işlevler

ImageQueryResponse

 ImageQueryResponse()

ImageQueryResponse için varsayılan oluşturucu.

ImageQueryResponse, init() yöntemi kullanılarak veya nesne bir mesajdan ayrıştırılarak doldurulabilir.

init

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

ImageQueryResponse nesnesini, sağlanan değerlerle açık bir şekilde başlatın.

Ayrıntılar
Parametreler
[in] aUri
Yeni donanım yazılımı görüntüsünün bulunacağı URI.
[in] aVersion
Bu resim için sürüm dizesi.
[in] aIntegrity
Yeni resme karşılık gelen bütünlük özellikleri.
[in] aScheme
İndirme işleminde kullanılacak güncelleme şeması.
[in] aPriority
Bu güncellemeyle ilişkili güncelleme önceliği.
[in] aCondition
Güncellenecek koşul.
[in] aReportStatus
TrueView, istemcinin indirme ve güncelleme işleminden sonra raporlama yapmasını isterse raporlamaz.
İadeler
WEAVE_NO_ERROR Koşulsuz olarak.

operatör==

bool operator==(
  const ImageQueryResponse &
) const 

Eşitlik operatörü.

Ayrıntılar
Parametreler
another
Bu ImageQueryResponse ile kontrol etmek için ImageQueryResponse
İadeler
Her iki nesnedeki tüm alanlar eşitse true (doğru), kullanmıyorsa false (yanlış) olarak ayarlanır

paket

WEAVE_ERROR pack(
  PacketBuffer *
)

ImageQueryResponse'yu sağlanan PaketetBuffer'a serileştirin.

Ayrıntılar
Parametreler
[in] aBuffer
Sorgu yanıtının paketleneceği paket arabelleği
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı.
WEAVE_ERROR_BUFFER_TOO_SMALL
ImageQueryResponse, sağlanan arabelleğe sığmayacak kadar büyükse.

yazdır

void print(
  void
)

Herkese açık statik işlevler

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

PacketBuffer'da sağlanan resim sorgusu yanıt mesajını, sağlanan bir ImageQueryResponse'a serileştirin.

Ayrıntılar
Parametreler
[in] aBuffer
Resim sorgusunun ayrıştırılacağı pakete işaret eden
[in] aResponse
Sonucu yerleştireceğiniz bir nesne
İadeler
WEAVE_NO_ERROR Başarıya ulaştı
İadeler
WEAVE_ERROR_BUFFER_TOO_Small İleti, ImageQuery'nin tüm alanlarını içerecek kadar küçükse
İadeler
Sağlanan bütünlük türü, IntegrityTypes'da belirtilen değerlerden biri değilse WEAVE_ERROR_INVALID_INTEGRITY_TYPE