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 &)
उपलब्ध कराए गए MessageIterator में IntegritySpec को सीरियलाइज़ करें.

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

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

उपलब्ध कराए गए MessageIterator में IntegritySpec को सीरियलाइज़ करें.

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

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

parse

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 में बताई गई वैल्यू में से एक नहीं है