nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
इमेज क्वेरी मैसेज को बनाने और डिकोड करने में मदद करने वाली क्लास.
खास जानकारी
तार के ऊपर मौजूद इमेज क्वेरी फ़्रेम में यह फ़ॉर्म होता है
लंबाई | फ़ील्ड का नाम |
1 बाइट | फ़्रेम कंट्रोल |
6 बाइट | प्रॉडक्ट की खास बातें |
अस्थिर | वर्शन की खास बातें |
2..4 बाइट | इंटिग्रिटी टाइप की सूची |
2..5 बाइट | स्कीम की सूची अपडेट करें |
अस्थिर | स्थान-भाषा की जानकारी (ज़रूरी नहीं) |
8 बाइट | टारगेट नोड आईडी |
अस्थिर | वेंडर के लिए डेटा (ज़रूरी नहीं) |
बिट | मतलब |
0 | 1 - वेंडर के लिए खास डेटा मौजूद है, 0 - मौजूद नहीं है |
1 | 1 - स्थान-भाषा इस्तेमाल करने की जानकारी मौजूद है, 0 - मौजूद नहीं है |
2 | 1 - टारगेट नोड का आईडी मौजूद है, 0 - मौजूद नहीं है |
3..7 | बुकिंग की गई |
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
ImageQuery()
ImageQuery के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
|
सार्वजनिक विशेषताएं |
|
---|---|
integrityTypes
|
डिवाइस के साथ काम करने वाले इंटिग्रिटी टाइप.
|
localeSpec
|
वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें POSIX स्थान-भाषा होता है. यह उस डिवाइस पर लागू होता है जिसके लिए इमेज क्वेरी बनाई जा रही है.
|
packageSpec
|
वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें वेंडर के लिए पैकेज की खास बातों वाली स्ट्रिंग होती है.
|
productSpec
|
प्रॉडक्ट की खास बातें, जो उस डिवाइस के बारे में बताती हैं जिससे इमेज क्वेरी की जा रही है.
|
targetNodeId
|
uint64_t
उस डिवाइस का एक वैकल्पिक नोड आईडी जिसके लिए क्वेरी की जा रही है.
|
theMetaData
|
वेंडर के डेटा फ़ील्ड की लंबाई अलग-अलग होती है. साथ ही, ऊपर बताए गए फ़ील्ड के अलावा, Weave मैसेज के पेलोड के बाकी हिस्से का इस्तेमाल किया जाता है.
|
updateSchemes
|
डिवाइस पर काम करने वाली स्कीम (डाउनलोड प्रोटोकॉल) अपडेट करें.
|
version
|
वैरिएबल की लंबाई वाली UTF-8 स्ट्रिंग. इसमें उस डिवाइस के वेंडर सॉफ़्टवेयर वर्शन के बारे में जानकारी होती है जिसके लिए क्वेरी की जा रही है.
|
सार्वजनिक फ़ंक्शन |
|
---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
दी गई वैल्यू के साथ ImageQuery ऑब्जेक्ट को साफ़ तौर पर शुरू करें.
|
operator==(const ImageQuery &) const
|
bool
इक्वलिटी ऑपरेटर.
|
pack(PacketBuffer *)
|
दिए गए PacketBuffer में, पहले से मौजूद ImageQuery को क्रम से लगाएं.
|
print(void)
|
void
|
सार्वजनिक स्टैटिक फ़ंक्शन |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
PacketBuffer में दिए गए इमेज क्वेरी मैसेज को, दी गई ImageQuery में डीसीरियलाइज़ करें.
|
सार्वजनिक विशेषताएं
localeSpec
ReferencedString localeSpec
वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें POSIX स्थान-भाषा होता है. यह उस डिवाइस पर लागू होता है जिसके लिए इमेज क्वेरी बनाई जा रही है.
स्ट्रिंग का कॉन्टेंट, POSIX स्थान-भाषा वाले आइडेंटिफ़ायर के फ़ॉर्मैट के मुताबिक होना चाहिए, जैसा कि ISO/IEC 15897 में बताया गया है, उदाहरण के लिए ऑस्ट्रेलियन अंग्रेज़ी के लिए en_AU.UTF-8.
packageSpec
ReferencedString packageSpec
वैरिएबल की लंबाई वाली UTF-8 स्ट्रिंग, जिसमें वेंडर के लिए पैकेज की खास बातों वाली स्ट्रिंग होती है.
फ़ील्ड का कॉन्टेंट यह बताता है कि सॉफ़्टवेयर इमेज के लिए आपको किस तरह का कंटेनर चाहिए. जैसे, ‘rpm’, 'deb’, ‘tgz’, ‘elf’.
productSpec
ProductSpec productSpec
प्रॉडक्ट की खास बातें, जो उस डिवाइस के बारे में बताती हैं जिससे इमेज क्वेरी की जा रही है.
targetNodeId
uint64_t targetNodeId
डिवाइस का एक वैकल्पिक नोड आईडी, जिसके लिए क्वेरी की जा रही है.
टारगेट नोड आईडी का फ़ील्ड ज़रूरी नहीं है. अगर मौजूद नहीं है, तो क्वेरी के लिए टारगेट नोड आईडी, साफ़ तौर पर वह नोड है जो इमेज क्वेरी के मैसेज का सोर्स था.
टारगेट नोड आईडी फ़ील्ड का इस्तेमाल आम तौर पर उन मामलों में किया जाता है जहां IMAGE QUERY के मैसेज का सोर्स नोड, किसी दूसरे नोड के लिए सॉफ़्टवेयर अपडेट प्रॉक्सी के तौर पर काम कर रहा हो.
theMetaData
ReferencedTLVData theMetaData
वेंडर के डेटा फ़ील्ड की लंबाई अलग-अलग होती है. साथ ही, ऊपर बताए गए फ़ील्ड के अलावा, Weave मैसेज के पेलोड के बाकी हिस्से का इस्तेमाल किया जाता है.
फ़ील्ड, वेंडर के हिसाब से उस डिवाइस की जानकारी को कोड में बदल देता है जिसके लिए क्वेरी की जा रही है. वेंडर के लिए डेटा फ़ील्ड ज़रूरी नहीं है. अगर यह फ़ील्ड मौजूद होता है, तो इसमें पहचान ज़ाहिर न करने वाला टीएलवी कोड में बदला गया स्ट्रक्चर होता है. इस संरचना में प्रस्तुत किए गए टैग पूरी तरह से योग्य प्रोफ़ाइल-विशिष्ट टैग होंगे.
updateSchemes
UpdateSchemeList updateSchemes
डिवाइस पर काम करने वाली स्कीम (डाउनलोड प्रोटोकॉल) अपडेट करें.
वर्शन
ReferencedString version
वैरिएबल की लंबाई वाली UTF-8 स्ट्रिंग. इसमें उस डिवाइस के वेंडर सॉफ़्टवेयर वर्शन के बारे में जानकारी होती है जिसके लिए क्वेरी की जा रही है.
यह 32 या इससे कम लंबा होना चाहिए.
सार्वजनिक फ़ंक्शन
ImageQuery
ImageQuery()
ImageQuery के लिए डिफ़ॉल्ट कंस्ट्रक्टर.
ImageQuery में जानकारी अपने-आप भरी जा सकती है, तो init() को कॉल करें या किसी मैसेज में मौजूद ऑब्जेक्ट को डीसीरियलाइज़ करें.
Init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
दी गई वैल्यू के साथ ImageQuery ऑब्जेक्ट को साफ़ तौर पर शुरू करें.
जानकारी | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||
लौटाए जाने वाले प्रॉडक्ट |
WEAVE_NO_ERROR बिना किसी शर्त के.
|
ऑपरेटर==
bool operator==( const ImageQuery & ) const
इक्वलिटी ऑपरेटर.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए जाने वाले प्रॉडक्ट |
सही है अगर दोनों ऑब्जेक्ट के सभी फ़ील्ड बराबर हैं, नहीं तो गलत
|
पैक
WEAVE_ERROR pack( PacketBuffer * )
दिए गए PacketBuffer में, पहले से मौजूद ImageQuery को क्रम से लगाएं.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
रिटर्न वैल्यू |
|
प्रिंट करें
void print( void )
सार्वजनिक स्टैटिक फ़ंक्शन
पार्स करें
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
PacketBuffer में दिए गए इमेज क्वेरी मैसेज को, दी गई ImageQuery में डीसीरियलाइज़ करें.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
WEAVE_NO_ERROR सफलता पर
|
||||
लौटाए जाने वाले प्रॉडक्ट |
WEAVE_ERROR_BUFFER_TOO_Small अगर ImageQuery के सभी फ़ील्ड शामिल करने के हिसाब से बहुत छोटा है
|
||||
लौटाए जाने वाले प्रॉडक्ट |
WEAVE_ERROR_INVALID_LIST_LENGTH अगर मैसेज में IntegrityTypeList या UpdateSchemeList को बहुत लंबा रखा गया था
|