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

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

इमेज क्वेरी के जवाब वाले मैसेज को बनाने और डिकोड करने में मदद करने वाली क्लास.

खास जानकारी

इमेज क्वेरी के जवाब वाले मैसेज में यह फ़ॉर्म होगा:

लंबाई फ़ील्ड का नाम
अस्थिर यूआरआई
अस्थिर वर्शन की खास बातें
अस्थिर इंटिग्रिटी की खास बातें
1 बाइट स्कीम अपडेट करें
1 बाइट अपडेट करने के विकल्प
(वैकल्पिक) अपडेट के विकल्प फ़ील्ड का फ़ॉर्मैट इस तरह है:

बिट मतलब
0..2 प्राथमिकता अपडेट करें
3..4 स्थिति अपडेट करें
5 रिपोर्ट की स्थिति. इसे सेट करने पर, क्लाइंट से अनुरोध किया जाता है कि वह डाउनलोड की सूचना देने वाला वैकल्पिक मैसेज जनरेट करे. साथ ही, अपडेट सूचना देने वाले मैसेज जनरेट करने का अनुरोध किया जाता है.
5..7 बुकिंग की गई
इमेज क्वेरी का जवाब सिर्फ़ तब भेजा जाता है, जब इमेज क्वेरी की प्रोसेस पूरी हो जाती है और इमेज डाउनलोड करने के लिए तैयार होती है. मैसेज में, सबमिट की गई क्वेरी वाले नोड को डाउनलोड करने के निर्देश होते हैं. ध्यान दें कि अगर सर्वर इमेज क्वेरी को प्रोसेस नहीं कर पाता है, तो सर्वर एक इमेज क्वेरी का स्टेटस जनरेट करेगा.

कंस्ट्रक्टर और डिस्ट्रक्टर

ImageQueryResponse()
ImageQueryResponse के लिए डिफ़ॉल्ट कंस्ट्रक्टर है.

सार्वजनिक विशेषताएं

integritySpec
इस फ़ील्ड में, सॉफ़्टवेयर अपडेट वाली इमेज के लिए पूरी सुरक्षा की जानकारी (इंटिग्रिटी टाइप और हैश) मौजूद होती है.
reportStatus
bool
वैकल्पिक DownloadAllow और UpdateAllow मैसेज के ज़रिए, सर्वर को सॉफ़्टवेयर अपडेट की प्रोग्रेस के बारे में सूचना देने का अनुरोध करें.
updateCondition
उन शर्तों के बारे में निर्देश जिनके तहत सॉफ़्टवेयर अपडेट करना है.
updatePriority
डिवाइस को सॉफ़्टवेयर अपडेट कब करना है, इसके निर्देश देने वाले निर्देश.
updateScheme
uint8_t
सॉफ़्टवेयर अपडेट इमेज को डाउनलोड करने के लिए इस्तेमाल की जाने वाली अपडेट स्कीम.
uri
वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें सॉफ़्टवेयर इमेज की जगह होती है.
versionSpec
वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें वेंडर के लिए सॉफ़्टवेयर वर्शन की पहचान करने वाली सुविधा होती है.

सार्वजनिक फ़ंक्शन

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
दी गई वैल्यू के साथ ImageQueryResponse ऑब्जेक्ट को साफ़ तौर पर शुरू करता है.
operator==(const ImageQueryResponse &) const
bool
इक्वलिटी ऑपरेटर.
pack(PacketBuffer *)
दिए गए PacketBuffer में ImageQueryResponse को क्रम से लगाएं.
print(void)
void

सार्वजनिक स्टैटिक फ़ंक्शन

parse(PacketBuffer *, ImageQueryResponse &)
PacketBuffer में दिए गए, इमेज क्वेरी के जवाब वाले मैसेज को, दिए गए ImageQueryResponse में डीसीरियल करता है.

सार्वजनिक विशेषताएं

integritySpec

IntegritySpec integritySpec

इस फ़ील्ड में, सॉफ़्टवेयर अपडेट वाली इमेज के लिए पूरी सुरक्षा की जानकारी (इंटिग्रिटी टाइप और हैश) मौजूद होती है.

reportStatus

bool reportStatus

वैकल्पिक DownloadAllow और UpdateAllow मैसेज के ज़रिए, सर्वर को सॉफ़्टवेयर अपडेट की प्रोग्रेस के बारे में सूचना देने का अनुरोध करें.

updateCondition

UpdateCondition updateCondition

उन शर्तों के बारे में निर्देश जिनके तहत सॉफ़्टवेयर अपडेट करना है.

updatePriority

UpdatePriority updatePriority

डिवाइस को सॉफ़्टवेयर अपडेट कब करना है, इसके निर्देश देने वाले निर्देश.

updateScheme

uint8_t updateScheme

सॉफ़्टवेयर अपडेट इमेज को डाउनलोड करने के लिए इस्तेमाल की जाने वाली अपडेट स्कीम.

इसकी वैल्यू UpdateSchemes से ली जाती है.

यूआरआई

ReferencedString uri

वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें सॉफ़्टवेयर इमेज की जगह होती है.

इस स्ट्रिंग का कॉन्टेंट, आरएफ़सी 3986 के निर्देशों के मुताबिक होना चाहिए. बेहतर तरीके से तय इंटरनेट प्रोटोकॉल (एचटीटीपी, एचटीटीपीएस, एसएफ़टीपी) से जुड़ी स्कीम अपडेट करने के लिए, यूआरआई का स्कीम एलिमेंट उस प्रोटोकॉल स्कीम के कैननिकल यूआरएल एन्कोडिंग के मुताबिक होना चाहिए. स्ट्रिंग की लंबाई 65565 से ज़्यादा नहीं होनी चाहिए. साथ ही, स्ट्रिंग को एक ही Weave मैसेज में फ़िट होना चाहिए, जो MTU सीमाओं पर निर्भर हो सकता है.

versionSpec

ReferencedString versionSpec

वैरिएबल लंबाई वाली UTF-8 स्ट्रिंग, जिसमें वेंडर के लिए सॉफ़्टवेयर वर्शन की पहचान करने वाली सुविधा होती है.

स्ट्रिंग की लंबाई 256 बाइट से ज़्यादा नहीं होनी चाहिए.

सार्वजनिक फ़ंक्शन

ImageQueryResponse

 ImageQueryResponse()

ImageQueryResponse के लिए डिफ़ॉल्ट कंस्ट्रक्टर है.

ImageQueryResponse को init() तरीके से या किसी मैसेज से ऑब्जेक्ट को डीसीरियलाइज़ करके भरा जाता है.

Init

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

दी गई वैल्यू के साथ ImageQueryResponse ऑब्जेक्ट को साफ़ तौर पर शुरू करता है.

जानकारी
पैरामीटर
[in] aUri
वह यूआरआई जहां नई फ़र्मवेयर इमेज मिलनी है.
[in] aVersion
इस इमेज के लिए वर्शन स्ट्रिंग.
[in] aIntegrity
नई इमेज के लिए इंटिग्रिटी की खास बातें.
[in] aScheme
डाउनलोड करने के लिए इस्तेमाल की जाने वाली अपडेट स्कीम.
[in] aPriority
इस अपडेट से जुड़ी अपडेट की प्राथमिकता.
[in] aCondition
वह शर्त जिसके तहत अपडेट करना है.
[in] aReportStatus
अगर डाउनलोड और अपडेट के बाद, सही अनुरोध क्लाइंट से रिपोर्ट करने का अनुरोध करता है, तो क्लाइंट रिपोर्ट नहीं करेगा.
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR बिना किसी शर्त के.

ऑपरेटर==

bool operator==(
  const ImageQueryResponse &
) const 

इक्वलिटी ऑपरेटर.

जानकारी
पैरामीटर
another
इस ImageQueryResponse की जाँच करने के लिए कोई ImageQueryResponse
लौटाए जाने वाले प्रॉडक्ट
सही है अगर दोनों ऑब्जेक्ट के सभी फ़ील्ड बराबर हैं, नहीं तो गलत

पैक

WEAVE_ERROR pack(
  PacketBuffer *
)

दिए गए PacketBuffer में ImageQueryResponse को क्रम से लगाएं.

जानकारी
पैरामीटर
[in] aBuffer
एक पैकेट बफ़र जिसमें क्वेरी के जवाब को पैक करना है
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर ImageQueryResponse का साइज़ बहुत बड़ा है, तो वह दिए गए बफ़र में फ़िट नहीं हो सकता.

प्रिंट करें

void print(
  void
)

सार्वजनिक स्टैटिक फ़ंक्शन

पार्स करें

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

PacketBuffer में दिए गए, इमेज क्वेरी के रिस्पॉन्स वाले मैसेज को दिए गए ImageQueryResponse में डीसीरियलाइज़ करते हैं.

जानकारी
पैरामीटर
[in] aBuffer
पैकेट का पॉइंटर जिससे इमेज क्वेरी को पार्स करना है
[in] aResponse
एक ऑब्जेक्ट जिसमें नतीजा डालना है
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर
लौटाए जाने वाले प्रॉडक्ट
WEAVE_ERROR_BUFFER_TOO_Small अगर ImageQuery के सभी फ़ील्ड शामिल करने के हिसाब से बहुत छोटा है
लौटाए जाने वाले प्रॉडक्ट
WEAVE_ERROR_INVALID_INTEGRITY_TYPE अगर दिया गया इंटिग्रिटी टाइप, IntegrityTypes में दी गई वैल्यू में से एक नहीं है