nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Resim sorgu mesajlarının oluşturulmasını ve kodunun çözülmesini destekleyen bir sınıf.
Özet
Resim sorgu çerçevesi, kablo üzerinden aşağıdaki biçimdedir
Uzunluk | Alan adı |
1 bayt | çerçeve denetimi |
6 bayt | ürün spesifikasyonu |
değişken | sürüm spesifikasyonu |
2,.4 bayt | bütünlük türü listesi |
2,.5 bayt | şema listesini güncelle |
değişken | yerel ayar spesifikasyonu (isteğe bağlı) |
8 bayt | hedef düğüm kimliği |
değişken | satıcıya özgü veriler (isteğe bağlı) |
Keser | Anlamı |
0 | 1 - tedarikçiye özel veri mevcut, 0 - mevcut değil |
1 | 1 - yerel ayar spesifikasyonu mevcut, 0 - mevcut değil |
2 | 1 - hedef düğüm kimliği mevcut, 0 - mevcut değil |
3..7 | Rezervasyon yapıldı |
Oluşturucular ve Yıkıcılar |
|
---|---|
ImageQuery()
ImageQuery için varsayılan oluşturucu.
|
Herkese açık özellikler |
|
---|---|
integrityTypes
|
Cihazın desteklediği bütünlük türleri.
|
localeSpec
|
Resim sorgusunun yapıldığı cihazda geçerli olan POSIX yerel ayarını içeren, değişken uzunluktaki bir UTF-8 dizesi.
|
packageSpec
|
Satıcıya özel paket spesifikasyonu dizesini içeren, değişken uzunlukta UTF-8 dizesi.
|
productSpec
|
Resim sorgusunu yapan cihazı açıklayan ürün spesifikasyonu.
|
targetNodeId
|
uint64_t
Sorgunun yapıldığı cihazın isteğe bağlı düğüm kimliği.
|
theMetaData
|
Tedarikçiye özgü veri alanının uzunluğu değişkendir ve yukarıda açıklanan alanların ötesinde, Weave mesaj yükünün geri kalanını kaplar.
|
updateSchemes
|
Cihazın desteklediği şemaları (indirme protokolleri) güncelleme.
|
version
|
Sorgunun yapıldığı cihazın satıcı tarafından belirtilen yazılım sürümünü içeren, değişken uzunlukta bir UTF-8 dizesi.
|
Herkese açık işlevler |
|
---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
ImageQuery nesnesini, sağlanan değerlerle açık bir şekilde başlatın.
|
operator==(const ImageQuery &) const
|
bool
Eşitlik operatörü.
|
pack(PacketBuffer *)
|
Temel ImageQuery'yi, sağlanan PacketBuffer'da serileştirin.
|
print(void)
|
void
|
Herkese açık statik işlevler |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
PacketBuffer'da sağlanan resim sorgu mesajının serisini kaldırarak, sağlanan bir ImageQuery'ye dönüştürün.
|
Herkese açık özellikler
localeSpec
ReferencedString localeSpec
Resim sorgusunun yapıldığı cihazda geçerli olan POSIX yerel ayarını içeren, değişken uzunluktaki bir UTF-8 dizesi.
Dizenin içeriği, ISO/IEC 15897'de belirtildiği gibi POSIX yerel ayar tanımlayıcısı biçimine (ör. Avustralya İngilizcesi için en_AU.UTF-8.
packageSpec
ReferencedString packageSpec
Satıcıya özel paket spesifikasyonu dizesini içeren, değişken uzunlukta UTF-8 dizesi.
Alanın içeriği, yazılım görüntüsü için "rpm", "deb", "tgz", "elf" vb. gibi istenen kapsayıcı türünü açıklar. (NOT: Bu alan, protokolün Nest uygulamalarında kullanılmaz.)
targetNodeId
uint64_t targetNodeId
Sorgunun yapıldığı cihazın isteğe bağlı düğüm kimliği.
Hedef düğüm kimliği alanı isteğe bağlıdır. Yoksa sorgunun hedef düğüm kimliği, örtülü olarak görüntü sorgu mesajının kaynağı olan düğümdür.
Hedef düğüm kimliği alanı genellikle IMAGE QUERY mesajının kaynağı olan düğümün başka bir düğüm için yazılım güncelleme proxy'si görevi gördüğü örneklerde kullanılır.
theMetaData
ReferencedTLVData theMetaData
Tedarikçi firmaya özgü veri alanının uzunluğu değişkendir ve yukarıda açıklanan alanların ötesinde, Weave mesaj yükünün geri kalanını kaplar.
Bu alan, sorgunun yapıldığı cihazla ilgili satıcıya özgü bilgileri kodlar. Tedarikçi firmaya özel veri alanı isteğe bağlıdır. Varsa alan, anonim TLV kodlu bir yapı biçimine sahiptir. Bu yapı içinde sunulan etiketler, tam nitelikli profile özgü etiketler olmalıdır.
updateSchemes
UpdateSchemeList updateSchemes
Cihazın desteklediği şemaları (indirme protokolleri) güncelleme.
sürüm
ReferencedString version
Sorgunun yapıldığı cihazın satıcı tarafından belirtilen yazılım sürümünü içeren, değişken uzunlukta bir UTF-8 dizesi.
32 veya daha küçük olmalıdır.
Herkese açık işlevler
ImageQuery
ImageQuery()
ImageQuery için varsayılan oluşturucu.
ImageQuery, init() çağrısıyla veya nesnenin bir iletiden seri dışı bırakılmasıyla doldurulabilir.
init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
ImageQuery nesnesini, sağlanan değerlerle açık bir şekilde başlatın.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
İadeler |
Koşulsuz olarak WEAVE_NO_ERROR.
|
operatör==
bool operator==( const ImageQuery & ) const
Eşitlik operatörü.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
her iki nesnedeki tüm alanlar eşitse true, değilse false
|
paket
WEAVE_ERROR pack( PacketBuffer * )
Temel ImageQuery'yi, sağlanan PacketBuffer'da serileştirin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
yazdır
void print( void )
Herkese açık statik işlevler
parse
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
PacketBuffer'da sağlanan resim sorgu mesajının serisini kaldırarak, sağlanan bir ImageQuery'ye dönüştürün.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
WEAVE_NO_ERROR Başarıyla tamamlandı
|
||||
İadeler |
WEAVE_ERROR_BUFFER_TOO_SMALL İleti, ImageQuery'deki tüm alanları içermeyecek kadar küçükse
|
||||
İadeler |
WEAVE_ERROR_INVALID_LIST_LENGTH İleti, çok uzun bir IntegrityTypeList veya UpdateSchemeList içeriyorsa
|