nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Resim sorgu mesajlarının oluşturulmasını ve kodunu çözmeyi destekleyen bir sınıf.
Özet
Resim sorgu çerçevesi, kablo üzerinde aşağıdaki biçimdedir
Uzunluk | Alan adı |
1 bayt | kare 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 | tedarikçi firmaya özgü veriler (isteğe bağlı) |
Uç | Anlamı |
0 | 1 - tedarikçiye özel veri var, 0 - yok |
1 | 1 - yerel ayar belirtimi var, 0 - yok |
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 tarafından desteklenen bütünlük türleri.
|
localeSpec
|
Resim sorgusunun yapıldığı cihazda geçerli olan POSIX yerel ayarını içeren, değişken uzunlukta UTF-8 dizesi.
|
packageSpec
|
Tedarikçi firmaya ö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çi firmaya özel 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üncelleyin.
|
version
|
Sorgunun yapıldığı cihazın satıcı tarafından belirtilen yazılım sürümünü içeren değişken uzunlukta UTF-8 dizesi.
|
Kamu işlevleri |
|
---|---|
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ça başlatın.
|
operator==(const ImageQuery &) const
|
bool
Eşitlik operatörü.
|
pack(PacketBuffer *)
|
Temel ImageQuery'yi sağlanan PacketBuffer içinde serileştirin.
|
print(void)
|
void
|
Herkese açık statik işlevler |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
PacketBuffer içinde sağlanan resim sorgusu mesajını, sağlanan bir ImageQuery'de seri haline getirin.
|
Herkese açık özellikler
localeSpec
ReferencedString localeSpec
Resim sorgusunun yapıldığı cihazda geçerli olan POSIX yerel ayarını içeren, değişken uzunlukta UTF-8 dizesi.
Dizenin içeriği, ISO/IEC 15897'de (ör. Avustralya İngilizcesi için en_AU.UTF-8) belirtildiği üzere POSIX yerel ayar tanımlayıcısı biçimine uygun olmalıdır.
packageSpec
ReferencedString packageSpec
Tedarikçi firmaya ö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" 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, dolaylı olarak resim sorgusu mesajının kaynağı olan düğüm olur.
Hedef düğüm kimliği alanı genellikle RESİM QUERY mesajının kaynağı olan düğümün başka bir düğüm için yazılım güncelleme proxy'si olarak hizmet verdiği durumlarda kullanılır.
theMetaData
ReferencedTLVData theMetaData
Tedarikçi firmaya özel 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ığı cihaz hakkında tedarikçi firmaya özel bilgileri kodlar. Tedarikçi firmaya özel veri alanı isteğe bağlıdır. Varsa alan, anonim TLV kodlamalı bir yapı biçimine sahiptir. Bu yapıda sunulan etiketler, profile özel tam etiketler olmalıdır.
updateSchemes
UpdateSchemeList updateSchemes
Cihazın desteklediği şemaları (indirme protokolleri) güncelleyin.
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 UTF-8 dizesi.
Video en fazla 32 karakter uzunluğunda olmalıdır.
Kamu işlevleri
ImageQuery
ImageQuery()
ImageQuery için varsayılan oluşturucu.
ImageQuery, init() çağrısı yapılarak veya nesnenin bir iletiden seri durumdan çıkarı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ça başlatın.
Ayrıntılar | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||
İadeler |
WEAVE_NO_ERROR Koşulsuz olarak.
|
operatör==
bool operator==( const ImageQuery & ) const
Eşitlik operatörü.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
İadeler |
İki nesnedeki tüm alanlar eşitse doğru, aksi takdirde yanlış
|
paket
WEAVE_ERROR pack( PacketBuffer * )
Temel ImageQuery'yi sağlanan PacketBuffer içinde serileştirin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
yazdır
void print( void )
Herkese açık statik işlevler
parse
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
PacketBuffer içinde sağlanan resim sorgusu mesajını, sağlanan bir ImageQuery'de seri haline getirin.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İ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_LIST_LENGTH İletide çok uzun bir IntegrityTypeList veya UpdateSchemeList varsa
|