nl:: बुनें:: प्रोफाइल:: सॉफ्टवेयर अपडेट:: इमेजक्वेरी
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
छवि क्वेरी संदेशों के निर्माण और डिकोडिंग का समर्थन करने के लिए एक वर्ग।
सारांश
छवि क्वेरी फ़्रेम का तार पर निम्न रूप है
लंबाई | क्षेत्र का नाम |
1 बाइट | फ्रेम नियंत्रण |
6 बाइट्स | उत्पाद विनिर्देश |
परिवर्तनशील | संस्करण विनिर्देश |
२..४ बाइट्स | अखंडता प्रकार सूची |
२.५ बाइट्स | अद्यतन योजना सूची |
परिवर्तनशील | स्थानीय विशिष्टता (वैकल्पिक) |
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 | विक्रेता-विशिष्ट डेटा फ़ील्ड लंबाई में परिवर्तनशील है और ऊपर वर्णित फ़ील्ड से परे, शेष वेव संदेश पेलोड पर कब्जा कर लेता है। |
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 *) | अंतर्निहित को क्रमानुसार ImageQuery प्रदान की PacketBuffer में। |
print (void) | void |
सार्वजनिक स्थैतिक कार्य | |
---|---|
parse (PacketBuffer *, ImageQuery &) | छवि क्वेरी एक प्रदान की में एक PacketBuffer में प्रदान की जाती संदेश deserialize ImageQuery । |
सार्वजनिक गुण
लोकेलस्पेक
ReferencedString localeSpec
एक चर लंबाई UTF-8 स्ट्रिंग जिसमें POSIX लोकेल शामिल है, उस डिवाइस पर प्रभाव में है जिसके लिए छवि क्वेरी की जा रही है।
स्ट्रिंग की सामग्री को POSIX लोकेल पहचानकर्ता प्रारूप के अनुरूप होना चाहिए, जैसा कि ISO/IEC 15897 में निर्दिष्ट है, जैसे ऑस्ट्रेलियाई अंग्रेजी के लिए en_AU.UTF-8।
पैकेजस्पेक
ReferencedString packageSpec
एक चर लंबाई UTF-8 स्ट्रिंग जिसमें एक विक्रेता-विशिष्ट पैकेज विनिर्देश स्ट्रिंग होती है।
फ़ील्ड की सामग्री सॉफ़्टवेयर छवि के लिए वांछित कंटेनर प्रकार का वर्णन करती है, जैसे 'rpm', 'deb', 'tgz', 'elf', आदि। (नोट: प्रोटोकॉल के Nest कार्यान्वयन में यह फ़ील्ड अप्रयुक्त है)
उत्पाद विशिष्टता
ProductSpec productSpec
छवि क्वेरी करने वाले डिवाइस का वर्णन करने वाले उत्पाद विनिर्देश।
लक्ष्य नोड आईडीI
uint64_t targetNodeId
डिवाइस की एक वैकल्पिक नोड आईडी जिसके लिए क्वेरी की जा रही है।
लक्ष्य नोड आईडी फ़ील्ड वैकल्पिक है। यदि अनुपस्थित है, तो क्वेरी के लिए लक्ष्य नोड आईडी परोक्ष रूप से वह नोड है जो छवि क्वेरी संदेश का स्रोत था।
लक्ष्य नोड आईडी फ़ील्ड का उपयोग आमतौर पर ऐसे उदाहरणों में किया जाता है जहां नोड जो IMAGE QUERY संदेश का स्रोत है, दूसरे नोड के लिए सॉफ़्टवेयर अद्यतन प्रॉक्सी के रूप में कार्य कर रहा है।
मेटाडेटा
ReferencedTLVData theMetaData
विक्रेता-विशिष्ट डेटा फ़ील्ड लंबाई में परिवर्तनशील है और ऊपर वर्णित फ़ील्ड से परे, शेष वेव संदेश पेलोड पर कब्जा कर लेता है।
फ़ील्ड उस डिवाइस के बारे में विक्रेता-विशिष्ट जानकारी को एन्कोड करता है जिसके लिए क्वेरी की जा रही है। विक्रेता-विशिष्ट डेटा फ़ील्ड वैकल्पिक है। यदि मौजूद है, तो फ़ील्ड में अनाम TLV-एन्कोडेड संरचना का एक रूप है। इस संरचना के भीतर प्रस्तुत टैग पूरी तरह से योग्य प्रोफ़ाइल-विशिष्ट टैग होंगे।
अद्यतन योजनाएं
UpdateSchemeList updateSchemes
डिवाइस द्वारा समर्थित योजनाओं को अपडेट करें (प्रोटोकॉल डाउनलोड करें)।
संस्करण
ReferencedString version
एक परिवर्तनीय लंबाई UTF-8 स्ट्रिंग जिसमें डिवाइस का विक्रेता-निर्दिष्ट सॉफ़्टवेयर संस्करण होता है जिसके लिए क्वेरी की जा रही है।
लंबाई 32 या उससे कम होनी चाहिए।
सार्वजनिक समारोह
इमेजक्वेरी
ImageQuery()
के लिए डिफ़ॉल्ट निर्माता ImageQuery ।
ImageQuery फोन करके पॉप्युलेट हो सकता init () या संदेश से वस्तु deserializing द्वारा।
इस में
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 * )
अंतर्निहित को क्रमानुसार ImageQuery प्रदान की PacketBuffer में।
विवरण | |||||
---|---|---|---|---|---|
मापदंडों |
| ||||
वापसी मूल्य |
|
प्रिंट
void print( void )
सार्वजनिक स्थैतिक कार्य
पार्स
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
छवि क्वेरी एक प्रदान की में एक PacketBuffer में प्रदान की जाती संदेश deserialize ImageQuery ।
विवरण | |||||
---|---|---|---|---|---|
मापदंडों |
| ||||
रिटर्न | WEAVE_NO_ERROR सफलता पर | ||||
रिटर्न | WEAVE_ERROR_BUFFER_TOO_SMALL तो संदेश भी के सभी क्षेत्रों को शामिल करने के छोटा था ImageQuery | ||||
रिटर्न | WEAVE_ERROR_INVALID_LIST_LENGTH तो संदेश एक निहित IntegrityTypeList या UpdateSchemeList कि बहुत लंबा था |