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

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

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

खास जानकारी

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

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

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

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

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

सार्वजनिक एट्रिब्यूट

integritySpec
ऐसा फ़ील्ड जिसमें सॉफ़्टवेयर अपडेट की इमेज के लिए इंटिग्रिटी की जानकारी (इंटिग्रिटी टाइप और हैश) होती है.
reportStatus
bool
डाउनलोड की सूचना और अपडेट-सूचना वाले मैसेज के ज़रिए, सर्वर को सॉफ़्टवेयर अपडेट की प्रोग्रेस के बारे में बताने का अनुरोध करें. हालांकि, इन मैसेज का इस्तेमाल करना ज़रूरी नहीं है.
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 *)
दिए गए BoxetBuffer में, ImageQueryResponse को सीरीज़ के तौर पर बनाएं.
print(void)
void

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

parse(PacketBuffer *, ImageQueryResponse &)
यह पैकेट उपलब्ध कराए गए ImageQueryResponse ग्रुप में, पैकेट क्वेरी के रिस्पॉन्स में दिए गए मैसेज को डीसीरियलाइज़ (पाकी हुए) करें.

सार्वजनिक एट्रिब्यूट

integritySpec

IntegritySpec integritySpec

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

reportStatus

bool reportStatus

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

updateCondition

UpdateCondition updateCondition

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

updatePriority

UpdatePriority updatePriority

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

updateScheme

uint8_t updateScheme

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

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

uri

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 *
)

दिए गए BoxetBuffer में, ImageQueryResponse को सीरीज़ के तौर पर बनाएं.

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

प्रिंट करें

void print(
  void
)

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

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

यह पैकेट उपलब्ध कराए गए ImageQueryResponse ग्रुप में, पैकेट क्वेरी के रिस्पॉन्स में दिए गए मैसेज को डीसीरियलाइज़ (पाकी हुए) करें.

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