nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

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

खास जानकारी

ऑब्जेक्ट में IntegrityTypes फ़ील्ड होता है, जो हैश के टाइप और सॉफ़्टवेयर अपडेट इमेज के असल हैश को बताता है. हैश की लंबाई, हैश के टाइप के आधार पर तय की जाती है. ऑब्जेक्ट का साइज़ इस तरह से तय किया गया है कि उसमें काम करने वाले सबसे बड़े हैश शामिल किए जा सकें.

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

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

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

type
uint8_t
हैश का टाइप, IntegrityTypes से ली जाने वाली वैल्यू.
value[64]
uint8_t
बाइट का वैरिएबल लंबाई वाला क्रम, जिसमें यूआरआई फ़ील्ड से पहचानी गई सॉफ़्टवेयर इमेज के लिए इंटिग्रिटी वैल्यू मौजूद होती है.

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

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

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

parse(MessageIterator &, IntegritySpec &)
दिए गए MessageIterator से ऑब्जेक्ट को दिए गए IntegritySpec में डीसीरियलाइज़ करें.

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

टाइप

uint8_t type

हैश का टाइप, IntegrityTypes से ली जाने वाली वैल्यू.

value

uint8_t value[64]

बाइट का वैरिएबल लंबाई वाला क्रम, जिसमें यूआरआई फ़ील्ड से पहचानी गई सॉफ़्टवेयर इमेज के लिए इंटिग्रिटी वैल्यू मौजूद होती है.

ऊपर बताए गए यूआरआई में ऐक्सेस की गई सॉफ़्टवेयर अपडेट इमेज के कॉन्टेंट पर, इंटिग्रिटी टाइप के बताए गए इंटिग्रिटी फ़ंक्शन को लागू करके, इंटिग्रिटी वैल्यू का हिसाब लगाया जाता है. इंटिग्रिटी स्पेसिफ़िकेशन की मदद से, क्लाइंट यह पुष्टि कर सकता है कि डाउनलोड की गई इमेज, इस रिस्पॉन्स में बताई गई इमेज से मेल खाती है या नहीं.

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

IntegritySpec

 IntegritySpec()

IntegritySpec के लिए डिफ़ॉल्ट कंस्ट्रक्टर.

ऑब्जेक्ट को या तो init() तरीके से या किसी मैसेज से डीसीरियलाइज़ (पार्स) करके शुरू किया जाना चाहिए.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

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

विवरण
पैरामीटर
[in] aType
IntegrityTypes से ली गई इंटिग्रिटी टाइप की वैल्यू
[in] aValue
सही लंबाई का हैश मान बाइट की पैक स्ट्रिंग के रूप में दिखाया जाता है
लौटाए जाने वाले प्रॉडक्ट
WEAVE_NO_ERROR सफलता पर
लौटाए जाने वाले प्रॉडक्ट
WEAVE_ERROR_INVALID_INTEGRITY_TYPE अगर दिया गया इंटिग्रिटी टाइप, IntegrityTypes में दी गई वैल्यू में से एक नहीं है

ऑपरेटर==

bool operator==(
  const IntegritySpec &
) const 

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

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

पैक

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec को दिए गए MessageIterator में क्रम से लगाएं.

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

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

पार्स करें

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

दिए गए MessageIterator से ऑब्जेक्ट को दिए गए IntegritySpec में डीसीरियलाइज़ करें.

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