nl:: বুনা:: প্রোফাইল:: নেটওয়ার্ক প্রভিশনিং:: নেটওয়ার্ক ইনফো

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

নেটওয়ার্কপ্রোভিশনিং প্রোফাইলের মাধ্যমে যোগাযোগ করা পেলোডগুলিকে সিরিয়ালাইজিং এবং ডিসিরিয়ালাইজ করার জন্য একটি ইউটিলিটি ক্লাস: এটি নেটওয়ার্ক সনাক্তকরণ এবং কনফিগার করার জন্য প্রাসঙ্গিক তথ্য এনক্যাপসুলেট করে।

সারাংশ

ক্লাসটি নেটওয়ার্ক প্রভিশনিং তথ্যের মধ্যবর্তী স্টোরেজের উপর নির্ভর করে (তথ্যের চূড়ান্ত স্টোর এবং নেটওয়ার্ক পেলোডের মধ্যে মধ্যবর্তী) এবং ফলস্বরূপ বস্তুকে নমনীয় রানটাইম দেওয়ার জন্য গতিশীল মেমরি ব্যবস্থাপনা ব্যবহার করে। যেমন, এই ক্লাসটি সবচেয়ে সীমাবদ্ধ পরিবেশের জন্য উপযুক্ত নয়, তবে বড় সিস্টেমে ব্যবহার করা যেতে পারে।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

NetworkInfo ()
~NetworkInfo ()

পাবলিক প্রকার

@210 enum
@211 enum

পাবলিক বৈশিষ্ট্য

Hidden
bool
নেটওয়ার্ক লুকানো আছে কি না।
NetworkId
int64_t
ডিভাইস দ্বারা নেটওয়ার্কে নির্ধারিত নেটওয়ার্ক আইডি, -1 নির্দিষ্ট না থাকলে।
NetworkType
নেটওয়ার্কের ধরন।
ThreadChannel
uint8_t
বর্তমান চ্যানেল (বর্তমানে [11..26]) যার উপর থ্রেড নেটওয়ার্ক কাজ করে, অথবা kThreadChannel_NotSpecified।
ThreadExtendedPANId
uint8_t *
থ্রেড বর্ধিত প্যান আইডি.
ThreadNetworkKey
uint8_t *
থ্রেড মাস্টার নেটওয়ার্ক কী , অথবা নির্দিষ্ট না থাকলে NULL।
ThreadNetworkName
char *
থ্রেড নেটওয়ার্কের নাম, অথবা নির্দিষ্ট না থাকলে NULL।
ThreadPANId
uint32_t
16-বিট থ্রেড প্যান আইডি, বা kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
কমিশনারের জন্য থ্রেড পূর্ব-ভাগ করা কী, অথবা নির্দিষ্ট না থাকলে NULL।
WiFiKey
uint8_t *
ওয়াইফাই কী, অথবা নির্দিষ্ট না থাকলে NULL।
WiFiKeyLen
uint32_t
ওয়াইফাই কী এর বাইটে দৈর্ঘ্য।
WiFiMode
ওয়াইফাই নেটওয়ার্কের অপারেটিং মোড।
WiFiRole
ওয়াইফাই নেটওয়ার্কে ডিভাইসের ভূমিকা।
WiFiSSID
char *
ওয়াইফাই SSID, বা NULL নির্দিষ্ট না থাকলে।
WiFiSecurityType
ওয়াইফাই নিরাপত্তার ধরন।
WirelessSignalStrength
int16_t
নেটওয়ার্কের সংকেত শক্তি, অথবা INT16_MIN যদি উপলব্ধ/প্রযোজ্য না হয়।

পাবলিক ফাংশন

Clear (void)
void
ডিফল্টে রিসেট করুন এবং এই NetworkInfo অবজেক্টের মধ্যে সমস্ত মান মুক্ত করুন।
CopyTo ( NetworkInfo & dest)
এই NetworkInfo অবজেক্টের বিষয়বস্তু আর্গুমেন্টের বিষয়বস্তুর গভীর অনুলিপি দিয়ে প্রতিস্থাপন করুন।
Decode ( nl::Weave::TLV::TLVReader & reader)
TLV উপস্থাপনা থেকে এই NetworkInfo অবজেক্টের বিষয়বস্তুকে ডিসিরিয়ালাইজ করুন।
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)
নেটওয়ার্কইনফো অবজেক্টের একটি অ্যারেকে এর 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)
নেটওয়ার্কইনফো অবজেক্টের একটি অ্যারেকে তার TLV উপস্থাপনায় একটি নির্দিষ্ট ধরণের নেটওয়ার্ক নির্বাচন করে সিরিয়ালাইজ করুন।

পাবলিক প্রকার

@210

 @210

@211

 @211

পাবলিক বৈশিষ্ট্য

লুকানো

bool Hidden

নেটওয়ার্ক লুকানো আছে কি না।

নেটওয়ার্ক আইডি

int64_t NetworkId

ডিভাইস দ্বারা নেটওয়ার্কে নির্ধারিত নেটওয়ার্ক আইডি, -1 নির্দিষ্ট না থাকলে।

নেটওয়ার্ক টাইপ

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

নেটওয়ার্কের ধরন।

থ্রেডচ্যানেল

uint8_t ThreadChannel

বর্তমান চ্যানেল (বর্তমানে [11..26]) যার উপর থ্রেড নেটওয়ার্ক কাজ করে, অথবা kThreadChannel_NotSpecified।

থ্রেড এক্সটেন্ডেড প্যানিআইডি

uint8_t * ThreadExtendedPANId

থ্রেড বর্ধিত প্যান আইডি.

এটি ক্লাসের মালিকানাধীন 8 অক্টেক্টের একটি গতিশীলভাবে বরাদ্দ করা অ্যারে। অবজেক্টে Clear() কল করে এমন যেকোনো শর্তে ধ্বংস করা হয়েছে।

ThreadNetworkKey

uint8_t * ThreadNetworkKey

থ্রেড মাস্টার নেটওয়ার্ক কী , অথবা নির্দিষ্ট না থাকলে NULL।

এটি একটি গতিশীলভাবে বরাদ্দকৃত অক্টেটের বিন্যাস, যেটি অবজেক্টের উপর Clear() কল করে এমন যেকোনো শর্তে Destroyed ক্লাসের মালিকানাধীন।

ThreadNetworkName

char * ThreadNetworkName

থ্রেড নেটওয়ার্কের নাম, অথবা নির্দিষ্ট না থাকলে NULL।

এটি একটি NUL-সমাপ্ত, গতিশীলভাবে বরাদ্দকৃত সি-স্ট্রিং, ক্লাসের মালিকানাধীন। অবজেক্টে Clear() কল করে এমন যেকোনো শর্তে ধ্বংস করা হয়েছে।

ThreadPANId

uint32_t ThreadPANId

16-বিট থ্রেড প্যান আইডি, বা kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

কমিশনারের জন্য থ্রেড পূর্ব-ভাগ করা কী, অথবা নির্দিষ্ট না থাকলে NULL।

এটি একটি গতিশীলভাবে বরাদ্দকৃত অক্টেটের বিন্যাস, যেটি অবজেক্টের উপর Clear() কল করে এমন যেকোনো শর্তে Destroyed ক্লাসের মালিকানাধীন।

ওয়াইফাইকি

uint8_t * WiFiKey

ওয়াইফাই কী, অথবা নির্দিষ্ট না থাকলে NULL।

এটি একটি গতিশীলভাবে বরাদ্দকৃত অক্টেটের বিন্যাস, ক্লাসের মালিকানাধীন, WiFiKeyLen দ্বারা নির্দিষ্ট দৈর্ঘ্য সহ। অবজেক্টে Clear() কল করে এমন যেকোনো শর্তে ধ্বংস করা হয়েছে।

WiFiKeyLen

uint32_t WiFiKeyLen

ওয়াইফাই কী এর বাইটে দৈর্ঘ্য।

ওয়াইফাই মোড

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

ওয়াইফাই নেটওয়ার্কের অপারেটিং মোড।

WiFiRole

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

ওয়াইফাই নেটওয়ার্কে ডিভাইসের ভূমিকা।

ওয়াইফাইএসআইডি

char * WiFiSSID

ওয়াইফাই SSID, বা NULL নির্দিষ্ট না থাকলে।

এটি একটি NUL-সমাপ্ত, গতিশীলভাবে বরাদ্দকৃত সি-স্ট্রিং, ক্লাসের মালিকানাধীন। অবজেক্টে Clear() কল করে এমন যেকোনো শর্তে ধ্বংস করা হয়েছে।

ওয়াইফাই সিকিউরিটি টাইপ

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

ওয়াইফাই নিরাপত্তার ধরন।

ওয়্যারলেস সিগন্যাল শক্তি

int16_t WirelessSignalStrength

নেটওয়ার্কের সংকেত শক্তি, অথবা INT16_MIN যদি উপলব্ধ/প্রযোজ্য না হয়।

পাবলিক ফাংশন

পরিষ্কার

void Clear(
  void
)

ডিফল্টে রিসেট করুন এবং এই NetworkInfo অবজেক্টের মধ্যে সমস্ত মান মুক্ত করুন।

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

এই NetworkInfo অবজেক্টের বিষয়বস্তু আর্গুমেন্টের বিষয়বস্তুর গভীর অনুলিপি দিয়ে প্রতিস্থাপন করুন।

বিস্তারিত
পরামিতি
[in] dest
নেটওয়ার্কইনফো অবজেক্টে তথ্য রয়েছে যা এই অবজেক্টে কপি করতে হবে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_NOT_IMPLEMENTED
যখন প্ল্যাটফর্ম malloc বা বিনামূল্যে সমর্থন করে না।
WEAVE_ERROR_NO_MEMORY
মেমরি বরাদ্দ ব্যর্থতার উপর.

ডিকোড

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

TLV উপস্থাপনা থেকে এই NetworkInfo অবজেক্টের বিষয়বস্তুকে ডিসিরিয়ালাইজ করুন।

বিস্তারিত
পরামিতি
[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_NetworkInformation-এর জন্য একটি প্রোফাইল ট্যাগ যখন একটি স্বতন্ত্র উপাদান হিসাবে নির্গত হয়।
[in] encodeFlags
নেটওয়ার্কইনফো -এর শংসাপত্রগুলি সিরিয়াল করা উচিত কিনা তা নিয়ন্ত্রণ করে পতাকা৷
রিটার্নস
WEAVE_NO_ERROR সাফল্যের ক্ষেত্রে, নেটওয়ার্ক প্রভিশনিং প্রোফাইলের সাথে সঙ্গতিপূর্ণ নয় এমন কোনো উপাদানে WEAVE_ERROR_INVALID_TLV_ELEMENT, উপাদানগুলির ভুল ডিকোডিংয়ে TLV পাঠক ত্রুটিগুলির যে কোনো একটি।

মার্জটু

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

এই NetworkInfo অবজেক্টের বিষয়বস্তু আর্গুমেন্টের বিষয়বস্তুর গভীর অনুলিপির সাথে মার্জ করুন।

আর্গুমেন্ট অবজেক্টের সমস্ত অ-ডিফল্ট মান এই বস্তুর মানগুলিকে প্রতিস্থাপন করে।

বিস্তারিত
পরামিতি
[in] dest
নেটওয়ার্কইনফো অবজেক্টে তথ্য রয়েছে যা এই অবজেক্টে কপি করতে হবে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_NOT_IMPLEMENTED
যখন প্ল্যাটফর্ম malloc বা বিনামূল্যে সমর্থন করে না।
WEAVE_ERROR_NO_MEMORY
মেমরি বরাদ্দ ব্যর্থতার উপর.

নেটওয়ার্ক ইনফো

 NetworkInfo()

~নেটওয়ার্ক ইনফো

 ~NetworkInfo()

পাবলিক স্ট্যাটিক ফাংশন

ডিকোডলিস্ট

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

এর TLV উপস্থাপনা থেকে NetworkInfo উপাদানগুলির একটি তালিকা ডিসিরিয়ালাইজ করুন।

বিস্তারিত
পরামিতি
[in] reader
TLVReader অ্যারে শুরুতে অবস্থান করে। সফল প্রত্যাবর্তনে, লেখক অ্যারের শেষের পরে অবস্থান করেন।
[in,out] elemCount
ইনপুটে, TLVReader থেকে ডিসিরিয়ালাইজ করার জন্য সর্বাধিক সংখ্যক উপাদান। আউটপুটে, উপাদানের সংখ্যা আসলে স্ট্রীম থেকে deserialized.
[in,out] elemArray
নেটওয়ার্কইনফো উপাদানগুলির অ্যারের একটি রেফারেন্স যা ডিসিরিয়ালাইজড নেটওয়ার্কইনফো অবজেক্ট ধারণ করবে। যখন অ্যারেটি NULL হয়, তখন এটি নীচের ফাংশন দ্বারা অভ্যন্তরীণভাবে বরাদ্দ করা হয়, অন্যথায় এটি অনুমান করা হয় যে বহিরাগতভাবে বরাদ্দ করা অ্যারেটিতে অন্তত elemCount অবজেক্ট রয়েছে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_NOT_IMPLEMENTED
প্ল্যাটফর্মে যা গতিশীল মেমরি পরিচালনা সমর্থন করে না।
other
Decode() ফাংশন থেকে ত্রুটি ফিরে এসেছে।

এনকোডলিস্ট

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

নেটওয়ার্কইনফো অবজেক্টের একটি অ্যারেকে এর TLV উপস্থাপনায় সিরিয়ালাইজ করুন।

অ্যারে টিএলভি উপস্থাপনায় একটি বেনামী উপাদান হবে।

বিস্তারিত
পরামিতি
[in] writer
যথাযথভাবে অবস্থান করা TLVWriter
[in] elemCount
elemArray এ উপাদানের সংখ্যা।
[in] elemArray
নেটওয়ার্কইনফো অবজেক্টের অ্যারে সিরিয়ালাইজ করা হবে।
[in] encodeFlags
নেটওয়ার্কইনফো -এর শংসাপত্রগুলি সিরিয়াল করা উচিত কিনা তা নিয়ন্ত্রণ করে পতাকা৷
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
Other
Encode() ফাংশন থেকে ত্রুটি ফিরে এসেছে।

এনকোডলিস্ট

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
)

নেটওয়ার্কইনফো অবজেক্টের একটি অ্যারেকে তার TLV উপস্থাপনায় একটি নির্দিষ্ট ধরণের নেটওয়ার্ক নির্বাচন করে সিরিয়ালাইজ করুন।

বিস্তারিত
পরামিতি
[in] writer
যথাযথভাবে অবস্থান করা TLVWriter
[in] arrayLen
elemArray এ উপাদানের সংখ্যা।
[in] elemArray
নেটওয়ার্কইনফো অবজেক্টের অ্যারে সিরিয়ালাইজ করা হবে।
[in] networkType
সিরিয়ালাইজ করার জন্য NetworkInfo অবজেক্টের ধরন
[in] encodeFlags
নেটওয়ার্কইনফো -এর শংসাপত্রগুলি সিরিয়াল করা উচিত কিনা তা নিয়ন্ত্রণ করে পতাকা৷
[out] encodedElemCount
উপাদান সংখ্যা আসলে ক্রমিক.
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
Other
Encode() ফাংশন থেকে ত্রুটি ফিরে এসেছে।