nl::Weave::Profiles::NetworkProvisioning::NetworkInfo

#include <src/lib/profiles/network-provisioning/NetworkInfo.h>

यह एक यूटिलिटी क्लास है, जो NetworkProvisioning प्रोफ़ाइल की मदद से पेलोड को सीरियलाइज़ करने और डीसीरियलाइज़ करने के लिए इस्तेमाल की जाती है: यह नेटवर्क का पता लगाने और कॉन्फ़िगर करने के लिए ज़रूरी जानकारी को इकट्ठा करती है.

खास जानकारी

क्लास, नेटवर्क प्रावधान की जानकारी के इंटरमीडिएट स्टोरेज (जानकारी के आखिरी स्टोर और नेटवर्क पेलोड के बीच के लेवल का) पर भरोसा करती है और नतीजे के तौर पर मिलने वाले ऑब्जेक्ट को लचीला रनटाइम देने के लिए, डाइनैमिक मेमोरी मैनेजमेंट का इस्तेमाल करती है. यह क्लास सबसे ज़्यादा सीमित जगहों के लिए सही नहीं है. हालांकि, बड़े सिस्टम पर इसका इस्तेमाल किया जा सकता है.

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

NetworkInfo()
~NetworkInfo()

सार्वजनिक टाइप

@210 enum
@211 enum

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

Hidden
bool
नेटवर्क छिपा हुआ है या नहीं.
NetworkId
int64_t
डिवाइस से नेटवर्क को असाइन किया गया नेटवर्क आईडी, अगर बताया नहीं गया है, तो -1.
NetworkType
नेटवर्क का टाइप.
ThreadChannel
uint8_t
मौजूदा चैनल (फ़िलहाल, [11..26]), जिस पर Thread नेटवर्क काम करता है या kThreadChannel_NotSpecification.
ThreadExtendedPANId
uint8_t *
Thread का बढ़ा हुआ पैन आईडी.
ThreadNetworkKey
uint8_t *
Thread मास्टर नेटवर्क कुंजी को सेट करें या अगर इसके बारे में नहीं बताया गया है , तो NULL करें.
ThreadNetworkName
char *
Thread नेटवर्क का नाम या इसके बारे में न बताने पर NULL कर दें.
ThreadPANId
uint32_t
16-बिट थ्रेड PAN आईडी या kThreadPANId_Notspecified.
ThreadPSKc
uint8_t *
कमिश्नर के लिए पहले से शेयर की गई कुंजी थ्रेड या तय न किए जाने पर NULL कर दें.
WiFiKey
uint8_t *
वैल्यू सेट न किए जाने पर वाई-फ़ाई कुंजी या NULL कर देता है.
WiFiKeyLen
uint32_t
वाई-फ़ाई कुंजी की लंबाई बाइट में.
WiFiMode
वाई-फ़ाई नेटवर्क का ऑपरेटिंग मोड.
WiFiRole
वाई-फ़ाई नेटवर्क पर डिवाइस की ओर से निभाई गई भूमिका.
WiFiSSID
char *
इस एट्रिब्यूट की वैल्यू न दिए जाने पर वाई-फ़ाई SSID या शून्य दिखेगा.
WiFiSecurityType
वाई-फ़ाई सुरक्षा का प्रकार.
WirelessSignalStrength
int16_t
नेटवर्क की सिग्नल क्षमता या अगर उपलब्ध/लागू नहीं है, तो INT16_MIN.

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

Clear(void)
void
डिफ़ॉल्ट पर रीसेट करें और इस NetworkInfo ऑब्जेक्ट में सभी वैल्यू को खाली करें.
CopyTo(NetworkInfo & dest)
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को आर्ग्युमेंट के कॉन्टेंट की डीप कॉपी से बदलें.
Decode(nl::Weave::TLV::TLVReader & reader)
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को इसके टीएलवी वर्शन के हिसाब से, डीसीरियलाइज़ करें.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को इसके टीएलवी वर्शन में, सीरीज़ के तौर पर बनाएं.
MergeTo(NetworkInfo & dest)
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को, आर्ग्युमेंट के कॉन्टेंट की डीप कॉपी के साथ मर्ज करें.

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

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
टीएलवी के हिसाब से, NetworkInfo एलिमेंट की सूची को डीसीरियलाइज़ (पार्स) करें.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
NetworkInfo ऑब्जेक्ट के अरे को टीएलवी में शामिल करें.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t arrayLen, const NetworkInfo *elemArray, ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType, uint8_t encodeFlags, uint16_t & encodedElemCount)
NetworkInfo ऑब्जेक्ट के अरे को इसके टीएलवी वर्शन में सीरीज़ के तौर पर बनाएं. ऐसा करने से, सिर्फ़ खास तरह के नेटवर्क चुने जा सकते हैं.

सार्वजनिक टाइप

@210

 @210

@211

 @211

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

छिपा हुआ

bool Hidden

नेटवर्क छिपा हुआ है या नहीं.

NetworkId

int64_t NetworkId

डिवाइस से नेटवर्क को असाइन किया गया नेटवर्क आईडी, अगर बताया नहीं गया है, तो -1.

NetworkType

::nl::Weave::Profiles::NetworkProvisioning::NetworkType NetworkType

नेटवर्क का टाइप.

ThreadChannel

uint8_t ThreadChannel

मौजूदा चैनल (फ़िलहाल, [11..26]), जिस पर Thread नेटवर्क काम करता है या kThreadChannel_NotSpecification.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Thread का बढ़ा हुआ पैन आईडी.

यह डाइनैमिक तौर पर असाइन किया गया आठ ऑक्टेक्ट का कलेक्शन है. इसका मालिकाना हक क्लास के पास होता है. ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर नष्ट हो जाता है.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Thread मास्टर नेटवर्क कुंजी को सेट करें या अगर इसके बारे में नहीं बताया गया है , तो NULL करें.

यह आर्बिट्रेरी ऑक्टेट का, डाइनैमिक तौर पर असाइन किया गया अरे है. इसका मालिकाना हक, ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर 'तय नहीं किया गया' क्लास के पास होता है.

ThreadNetworkName

char * ThreadNetworkName

Thread नेटवर्क का नाम या इसके बारे में न बताने पर NULL कर दें.

यह क्लास के मालिकाना हक वाली एनयूएल- खत्म की गई और डाइनैमिक तौर पर असाइन की गई सी-स्ट्रिंग है. ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर नष्ट हो जाता है.

ThreadPANId

uint32_t ThreadPANId

16-बिट थ्रेड PAN आईडी या kThreadPANId_Notspecified.

ThreadPSKc

uint8_t * ThreadPSKc

कमिश्नर के लिए पहले से शेयर की गई कुंजी थ्रेड या तय न किए जाने पर NULL कर दें.

यह आर्बिट्रेरी ऑक्टेट का, डाइनैमिक तौर पर असाइन किया गया अरे है. इसका मालिकाना हक, ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर 'तय नहीं किया गया' क्लास के पास होता है.

WiFiKey

uint8_t * WiFiKey

वैल्यू सेट न किए जाने पर वाई-फ़ाई कुंजी या NULL कर देता है.

यह क्लास के मालिकाना हक वाले आर्बिट्रेरी ऑक्टेट का डाइनैमिक तौर पर असाइन किया गया कलेक्शन है. इसकी लंबाई WiFiKeyLen से तय होती है. ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर नष्ट हो जाता है.

WiFiKeyLen

uint32_t WiFiKeyLen

वाई-फ़ाई कुंजी की लंबाई बाइट में.

WiFiMode

::nl::Weave::Profiles::NetworkProvisioning::WiFiMode WiFiMode

वाई-फ़ाई नेटवर्क का ऑपरेटिंग मोड.

WiFiRole

::nl::Weave::Profiles::NetworkProvisioning::WiFiRole WiFiRole

वाई-फ़ाई नेटवर्क पर डिवाइस की ओर से निभाई गई भूमिका.

WiFiSSID

char * WiFiSSID

इस एट्रिब्यूट की वैल्यू न दिए जाने पर वाई-फ़ाई SSID या शून्य दिखेगा.

यह क्लास के मालिकाना हक वाली एनयूएल- खत्म की गई और डाइनैमिक तौर पर असाइन की गई सी-स्ट्रिंग है. ऑब्जेक्ट पर Clear() को कॉल करने वाली किसी भी शर्त पर नष्ट हो जाता है.

WiFiSecurityType

::nl::Weave::Profiles::NetworkProvisioning::WiFiSecurityType WiFiSecurityType

वाई-फ़ाई सुरक्षा का प्रकार.

WirelessSignalStrength

int16_t WirelessSignalStrength

नेटवर्क की सिग्नल क्षमता या अगर उपलब्ध/लागू नहीं है, तो INT16_MIN.

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

क्लियर

void Clear(
  void
)

डिफ़ॉल्ट पर रीसेट करें और इस NetworkInfo ऑब्जेक्ट में सभी वैल्यू को खाली करें.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को आर्ग्युमेंट के कॉन्टेंट की डीप कॉपी से बदलें.

ब्यौरा
पैरामीटर
[in] dest
NetworkInfo ऑब्जेक्ट में ऐसी जानकारी है जिसे इस ऑब्जेक्ट में कॉपी किया जाना है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_NOT_IMPLEMENTED
जब प्लैटफ़ॉर्म, Malloc या फ़्री में काम नहीं करता.
WEAVE_ERROR_NO_MEMORY
मेमोरी का बंटवारा न हो पाने पर.

डिकोड करें

WEAVE_ERROR Decode(
  nl::Weave::TLV::TLVReader & reader
)

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को इसके टीएलवी वर्शन के हिसाब से, डीसीरियलाइज़ करें.

ब्यौरा
पैरामीटर
[in] reader
नेटवर्क की जानकारी वाले स्ट्रक्चर एलिमेंट पर TLVReader को पोज़िशन किया गया.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर, नेटवर्क प्रोविज़निंग प्रोफ़ाइल के मुताबिक न होने वाले किसी भी एलिमेंट पर WEAVE_ERROR_INVALID_TLV_ मंज़ूरी दी गई है. एलिमेंट को गलत तरीके से डिकोड करने पर कोई TLV रीडर गड़बड़ी मिली है.

एन्कोड

WEAVE_ERROR Encode(
  nl::Weave::TLV::TLVWriter & writer,
  uint8_t encodeFlags
) const 

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को इसके टीएलवी वर्शन में, सीरीज़ के तौर पर बनाएं.

ब्यौरा
पैरामीटर
[in] writer
TLVWriter को उस जगह पर लगाया गया है जहां ऑब्जेक्ट को क्रम से लगाया जाएगा. जब यह ऑब्जेक्ट, एलिमेंट के कलेक्शन का हिस्सा होता है या स्टैंडअलोन एलिमेंट के तौर पर उत्सर्जित होने पर kTag_NetworkDetails के लिए कोई प्रोफ़ाइल टैग होता है, तब यह फ़ंक्शन इस ऑब्जेक्ट के लिए, पहचान छिपाने वाला टैग उत्सर्जित करता है.
[in] encodeFlags
यह कंट्रोल करने वाले फ़्लैग कि NetworkInfo के क्रेडेंशियल को सीरियलाइज़ किया जाना चाहिए या नहीं.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर, नेटवर्क प्रोविज़निंग प्रोफ़ाइल के मुताबिक न होने वाले किसी भी एलिमेंट पर WEAVE_ERROR_INVALID_TLV_ मंज़ूरी दी गई है. एलिमेंट को गलत तरीके से डिकोड करने पर कोई TLV रीडर गड़बड़ी मिली है.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को, आर्ग्युमेंट के कॉन्टेंट की डीप कॉपी के साथ मर्ज करें.

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

ब्यौरा
पैरामीटर
[in] dest
NetworkInfo ऑब्जेक्ट में ऐसी जानकारी है जिसे इस ऑब्जेक्ट में कॉपी किया जाना है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_NOT_IMPLEMENTED
जब प्लैटफ़ॉर्म, Malloc या फ़्री में काम नहीं करता.
WEAVE_ERROR_NO_MEMORY
मेमोरी का बंटवारा न हो पाने पर.

NetworkInfo

 NetworkInfo()

~नेटवर्कजानकारी

 ~NetworkInfo()

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

DecodeList

WEAVE_ERROR DecodeList(
  nl::Weave::TLV::TLVReader & reader,
  uint16_t & elemCount,
  NetworkInfo *& elemArray
)

टीएलवी के हिसाब से, NetworkInfo एलिमेंट की सूची को डीसीरियलाइज़ (पार्स) करें.

ब्यौरा
पैरामीटर
[in] reader
अरे की शुरुआत में TLVReader रखा गया. जवाब देने पर, लेखक को कलेक्शन के आखिर में रखा जाता है.
[in,out] elemCount
इनपुट पर, TLVReader पर डिलीवर किए जाने वाले एलिमेंट की ज़्यादा से ज़्यादा संख्या. आउटपुट पर, स्ट्रीम से एलिमेंट की संख्या को असल में डीसीरियलाइज़ किया गया.
[in,out] elemArray
NetworkInfo एलिमेंट के कलेक्शन का रेफ़रंस, जिसमें डीसीरियलाइज़्ड NetworkInfo ऑब्जेक्ट शामिल हैं. अगर अरे NULL है, तो इसे नीचे दिए गए फ़ंक्शन के ज़रिए अंदरूनी तौर पर असाइन किया जाता है. ऐसा न होने पर, यह माना जाता है कि बाहर से असाइन किए गए ऐरे में कम से कम elemCount ऑब्जेक्ट हैं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
WEAVE_ERROR_NOT_IMPLEMENTED
जो डाइनैमिक मेमोरी मैनेजमेंट के साथ काम नहीं करता.
other
Decode() फ़ंक्शन से गड़बड़ियां मिली हैं.

EncodeList

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t elemCount,
  const NetworkInfo *elemArray,
  uint8_t encodeFlags
)

NetworkInfo ऑब्जेक्ट के अरे को टीएलवी में शामिल करें.

टीएलवी में शामिल किए गए ऐरे में, पहचान छिपाने वाला एलिमेंट शामिल होगा.

ब्यौरा
पैरामीटर
[in] writer
सही जगह पर TLVWriter
[in] elemCount
elemArray में एलिमेंट की संख्या.
[in] elemArray
क्रम से लगाए जाने वाले NetworkInfo ऑब्जेक्ट का अरे.
[in] encodeFlags
यह कंट्रोल करने वाले फ़्लैग कि NetworkInfo के क्रेडेंशियल को सीरियलाइज़ किया जाना चाहिए या नहीं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
Other
Encode() फ़ंक्शन से गड़बड़ियां मिली हैं.

EncodeList

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t arrayLen,
  const NetworkInfo *elemArray,
  ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType,
  uint8_t encodeFlags,
  uint16_t & encodedElemCount
)

NetworkInfo ऑब्जेक्ट के अरे को इसके टीएलवी वर्शन में सीरीज़ के तौर पर बनाएं. ऐसा करने से, सिर्फ़ खास तरह के नेटवर्क चुने जा सकते हैं.

ब्यौरा
पैरामीटर
[in] writer
सही जगह पर TLVWriter
[in] arrayLen
elemArray में एलिमेंट की संख्या.
[in] elemArray
क्रम से लगाए जाने वाले NetworkInfo ऑब्जेक्ट का अरे.
[in] networkType
क्रम से लगाने के लिए, NetworkInfo ऑब्जेक्ट का टाइप
[in] encodeFlags
यह कंट्रोल करने वाले फ़्लैग कि NetworkInfo के क्रेडेंशियल को सीरियलाइज़ किया जाना चाहिए या नहीं.
[out] encodedElemCount
एलिमेंट की संख्या सीरियल के हिसाब से है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफलता पर.
Other
Encode() फ़ंक्शन से गड़बड़ियां मिली हैं.