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 मास्टर नेटवर्क कुंजी , या अगर बताया नहीं गया है, तो शून्य.
ThreadNetworkName
char *
Thread नेटवर्क का नाम या अगर जानकारी नहीं दी गई है, तो 'शून्य'.
ThreadPANId
uint32_t
16-बिट वाला Thread PAN आईडी, या kThreadPANId_Not उपयोगकर्ता.
ThreadPSKc
uint8_t *
कमिश्नर के लिए थ्रेड पहले से शेयर की गई कुंजी या अगर तय नहीं किया गया है, तो शून्य है.
WiFiKey
uint8_t *
अगर तय नहीं किया गया है, तो वाई-फ़ाई कुंजी या शून्य.
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 ऑब्जेक्ट के कॉन्टेंट को TLV के तौर पर दिखाने के क्रम से डीसीरियलाइज़ करें.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को TLV के तौर पर क्रम में लगाएं.
MergeTo(NetworkInfo & dest)
इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को तर्क के कॉन्टेंट की डीप कॉपी के साथ मर्ज करें.

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

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
TLV के तहत, NetworkInfo एलिमेंट की सूची को डीसीरियलाइज़ (पार्स) करें.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
NetworkInfo ऑब्जेक्ट के कलेक्शन को TLV के तौर पर क्रम में लगाएं.
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 ऑब्जेक्ट के कलेक्शन को उसके TLV के हिसाब से क्रम में लगाएं. ऐसा करने के लिए, सिर्फ़ खास टाइप के नेटवर्क चुनें.

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

@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 ने पैन आईडी को बड़ा किया है.

यह डाइनैमिक रूप से असाइन किया गया 8 ऑक्टेट का अरे होता है. इसका मालिकाना हक क्लास के पास होता है. ऐसी किसी भी शर्त पर खत्म होती है जो ऑब्जेक्ट पर Clear() को कॉल करती है.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

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

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

ThreadNetworkName

char * ThreadNetworkName

Thread नेटवर्क का नाम या अगर जानकारी नहीं दी गई है, तो 'शून्य'.

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

ThreadPANId

uint32_t ThreadPANId

16-बिट वाला Thread PAN आईडी, या kThreadPANId_Not उपयोगकर्ता.

ThreadPSKc

uint8_t * ThreadPSKc

कमिश्नर के लिए थ्रेड पहले से शेयर की गई कुंजी या अगर तय नहीं किया गया है, तो शून्य है.

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

WiFiKey

uint8_t * WiFiKey

अगर तय नहीं किया गया है, तो वाई-फ़ाई कुंजी या शून्य.

यह आर्बिट्रेरी ऑक्टेट का एक डाइनैमिक रूप से असाइन किया गया कलेक्शन है. इसका मालिकाना हक क्लास के पास है और इसकी लंबाई 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
जब प्लैटफ़ॉर्म, मैलक या फ़्री मोड के साथ काम न करता हो.
WEAVE_ERROR_NO_MEMORY
मेमोरी का बंटवारा न हो पाने पर.

Decode

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

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को TLV के तौर पर दिखाने के क्रम से डीसीरियलाइज़ करें.

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

एन्कोड

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

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को TLV के तौर पर क्रम में लगाएं.

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

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

इस NetworkInfo ऑब्जेक्ट के कॉन्टेंट को तर्क के कॉन्टेंट की डीप कॉपी के साथ मर्ज करें.

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

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

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

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

DecodeList

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

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

ब्यौरा
पैरामीटर
[in] reader
कलेक्शन की शुरुआत में TLVReader को सेट किया गया है. कलेक्शन के पूरा होने पर, राइटर को कलेक्शन के खत्म होने के बाद अपनी पोज़िशन पर रखा जाता है.
[in,out] elemCount
इनपुट पर, TLVReader से डीसीरियलाइज़ किए जाने वाले एलिमेंट की ज़्यादा से ज़्यादा संख्या. आउटपुट में, एलिमेंट की संख्या स्ट्रीम से डीसीरियलाइज़ की गई.
[in,out] elemArray
NetworkInfo एलिमेंट के कलेक्शन का रेफ़रंस, जिसमें डीसीरियलाइज़ किए गए NetworkInfo ऑब्जेक्ट शामिल होंगे. अगर अरे शून्य है, तो इसे नीचे दिए गए फ़ंक्शन के ज़रिए अंदरूनी तौर पर बांटा जाता है. ऐसा न करने पर, यह माना जाता है कि बाहरी रूप से असाइन किए गए अरे में कम से कम 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 ऑब्जेक्ट के अरे को TLV के तौर पर क्रम में लगाएं.

TLV में अरे, बिना पहचान वाले एलिमेंट के तौर पर शामिल होगा.

ब्यौरा
पैरामीटर
[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 ऑब्जेक्ट के कलेक्शन को उसके TLV के हिसाब से क्रम में लगाएं. ऐसा करने के लिए, सिर्फ़ खास टाइप के नेटवर्क चुनें.

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