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

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

Resim sorgusu yanıt mesajlarının oluşturulmasını ve kodunun çözülmesini destekleyen bir sınıf.

Özet

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

Uzunluk 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 Önceliği güncelle
3..4 Durumu güncelle
5 Rapor durumu. Ayarlandığında, istemciden isteğe bağlı DownloadBildir ve UpdateBildir mesajlarını oluşturması istenir.
5..7 Rezervasyon yapıldı
Resim sorgusu yanıtı, yalnızca resim sorgusunun başarıyla işlendiği ve indirilecek bir resim oluşturduğu durumlarda gönderilir. İleti, sorgunun gönderildiği düğüm için indirme talimatlarıdır. Sunucunun resim sorgusunu işleyememesi durumunda, bir resim sorgusu durumu oluşturacağını unutmayın.

Oluşturucular ve Yıkıcılar

ImageQueryResponse()
ImageQueryResponse için varsayılan kurucu.

Herkese açık özellikler

integritySpec
Yazılım güncelleme görüntüsüyle ilgili bütünlük bilgilerini (bütünlük türü ve karma) içeren bir alan.
reportStatus
bool
İsteğe bağlı DownloadBildir ve Güncelle Bildir mesajları aracılığıyla sunucuyu yazılım güncellemesinin ilerlemesi hakkında bilgilendirme isteğinde bulunun.
updateCondition
Yazılım güncellemesine devam etmek için gereken koşullarla ilgili talimatlar.
updatePriority
Yazılım güncellemesinin yapılacağı zaman cihazı yönlendiren talimatlar.
updateScheme
uint8_t
Yazılım güncellemesi görüntüsünü indirmek için kullanılacak güncelleme şeması.
uri
Yazılım görüntüsünün konumunu içeren, değişken uzunlukta UTF-8 dizesidir.
versionSpec
Tedarikçi firmaya özel bir yazılım sürümü kimliği içeren değişken uzunlukta UTF-8 dizesi.

Kamu işlevleri

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

Herkese açık statik işlevler

parse(PacketBuffer *, ImageQueryResponse &)
PacketBuffer içinde sağlanan resim sorgusu yanıtı mesajının seri durumunu, sağlanan bir ImageQueryResponse içine aktarın.

Herkese açık özellikler

integritySpec

IntegritySpec integritySpec

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

reportStatus

bool reportStatus

İsteğe bağlı DownloadBildir ve Güncelle Bildir mesajları aracılığıyla sunucuyu yazılım güncellemesinin ilerlemesi hakkında bilgilendirme isteğinde bulunun.

updateCondition

UpdateCondition updateCondition

Yazılım güncellemesine devam etmek için gereken koşullarla ilgili talimatlar.

updatePriority

UpdatePriority updatePriority

Yazılım güncellemesinin yapılacağı zaman cihazı yönlendiren talimatlar.

updateScheme

uint8_t updateScheme

Yazılım güncellemesi görüntüsünü indirmek için kullanılacak güncelleme şeması.

Değeri UpdateSchemes'ten alınır.

uri

ReferencedString uri

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

Bu dizenin içeriği RFC 3986 spesifikasyonuna uygun olmalıdır. İyi tanımlanmış bir internet 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 mesajına sığmalıdır.

versionSpec

ReferencedString versionSpec

Tedarikçi firmaya özel bir 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.

Kamu işlevleri

ImageQueryResponse

 ImageQueryResponse()

ImageQueryResponse için varsayılan kurucu.

ImageQueryResponse, init() yöntemi ile veya nesnenin bir iletideki seri durumdan çıkarılmasıyla doldurulabilir.

init

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

Sağlanan değerlerle ImageQueryResponse nesnesini açıkça 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 resmin sürüm dizesi.
[in] aIntegrity
Yeni görüntüye karşılık gelen bütünlük spesifikasyonu.
[in] aScheme
İndirmede kullanılacak güncelleme şeması.
[in] aPriority
Bu güncellemeyle ilişkili güncelleme önceliği.
[in] aCondition
Güncellemenin yapılacağı koşul.
[in] aReportStatus
True, istemcinin indirme ve güncelleme sonrasında rapor oluşturmasını isterse müşteri bunu bildirmez.
İ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 karşılaştırmalı olarak kontrol edilecek bir ImageQueryResponse
İadeler
İki nesnedeki tüm alanlar eşitse doğru, aksi takdirde yanlış

paket

WEAVE_ERROR pack(
  PacketBuffer *
)

ImageQueryResponse'u sağlanan PacketBuffer'da serileştirin.

Ayrıntılar
Parametreler
[in] aBuffer
Sorgu yanıtını paketleyecek bir paket arabelleği
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
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 içinde sağlanan resim sorgusu yanıtı mesajının seri durumunu, sağlanan bir ImageQueryResponse içine aktarın.

Ayrıntılar
Parametreler
[in] aBuffer
Resim sorgusunun ayrıştırılacağı paketin işaretçisi
[in] aResponse
Sonucun yerleştirileceği bir nesne
İadeler
WEAVE_NO_ERROR Başarılı olursa
İadeler
WEAVE_ERROR_BUFFER_TOO_small İleti, ImageQuery'nin tüm alanlarını içeremeyecek kadar küçükse
İadeler
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Sağlanan bütünlük türü, IntegrityTypes'da belirtilen değerlerden biri değilse