nl:: بافت:: پروفایل ها:: تامین شبکه:: 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_NotSpecified.
ThreadExtendedPANId
uint8_t *
Thread توسعه یافته PAN ID.
ThreadNetworkKey
uint8_t *
کلید شبکه اصلی Thread یا اگر مشخص نشده باشد NULL.
ThreadNetworkName
char *
نام شبکه Thread یا NULL اگر مشخص نشده باشد.
ThreadPANId
uint32_t
شناسه Thread PAN 16 بیتی یا kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
کلید از پیش به اشتراک گذاشته شده را برای کمیسیونر یا NULL در صورت عدم مشخص کردن.
WiFiKey
uint8_t *
کلید WiFi یا NULL اگر مشخص نشده باشد.
WiFiKeyLen
uint32_t
طول کلید WiFi بر حسب بایت.
WiFiMode
حالت عملکرد شبکه WiFi.
WiFiRole
نقشی که دستگاه در شبکه WiFi ایفا می کند.
WiFiSSID
char *
SSID WiFi یا اگر مشخص نشده باشد NULL.
WiFiSecurityType
نوع امنیت WiFi
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)
فهرستی از عناصر NetworkInfo را از نمایش TLV آن غیراصولی کنید.
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

این که آیا شبکه پنهان است یا نه.

شناسه شبکه

int64_t NetworkId

شناسه شبکه که توسط دستگاه به شبکه اختصاص داده شده است، اگر مشخص نشده باشد -1.

نوع شبکه

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

نوع شبکه

ThreadChannel

uint8_t ThreadChannel

کانال فعلی (در حال حاضر [11..26]) که شبکه Thread روی آن کار می کند، یا kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Thread توسعه یافته PAN ID.

این یک آرایه به صورت پویا از 8 اکتکت تخصیص یافته است که متعلق به کلاس است. در هر شرایطی که Clear() روی شیء فراخوانی کند، نابود می شود.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

کلید شبکه اصلی Thread یا اگر مشخص نشده باشد NULL.

این آرایه ای است که به صورت پویا از اکتت های دلخواه تخصیص یافته است که تحت هر شرایطی که Clear() را روی شی فراخوانی می کند متعلق به کلاس Destroyed است.

ThreadNetworkName

char * ThreadNetworkName

نام شبکه Thread یا NULL اگر مشخص نشده باشد.

این یک رشته C با پایانه NUL و با تخصیص پویا است که متعلق به کلاس است. در هر شرایطی که Clear() روی شیء فراخوانی کند، نابود می شود.

ThreadPANid

uint32_t ThreadPANId

شناسه Thread PAN 16 بیتی یا kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

کلید از پیش به اشتراک گذاشته شده را برای کمیسیونر یا NULL در صورت عدم مشخص کردن.

این آرایه ای است که به صورت پویا از اکتت های دلخواه تخصیص یافته است که تحت هر شرایطی که Clear() را روی شی فراخوانی می کند متعلق به کلاس Destroyed است.

WiFiKey

uint8_t * WiFiKey

کلید WiFi یا NULL اگر مشخص نشده باشد.

این آرایه ای است که به صورت پویا از اکتت های دلخواه تخصیص یافته است که متعلق به کلاس است و طول آن توسط WiFiKeyLen مشخص شده است. در هر شرایطی که Clear() روی شیء فراخوانی کند، نابود می شود.

WiFiKeyLen

uint32_t WiFiKeyLen

طول کلید WiFi بر حسب بایت.

حالت WiFi

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

حالت عملکرد شبکه WiFi.

WiFiRole

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

نقشی که دستگاه در شبکه WiFi ایفا می کند.

WiFiSSID

char * WiFiSSID

SSID WiFi یا اگر مشخص نشده باشد NULL.

این یک رشته C با پایانه NUL و با تخصیص پویا است که متعلق به کلاس است. در هر شرایطی که Clear() روی شیء فراخوانی کند، نابود می شود.

WiFiSecurityType

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

نوع امنیت WiFi

قدرت سیگنال بی سیم

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 را از نمایش 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_NetworkInformation هنگامی که به عنوان یک عنصر مستقل منتشر می شود.
[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
زمانی که پلتفرم از malloc یا رایگان پشتیبانی نمی کند.
WEAVE_ERROR_NO_MEMORY
در مورد خرابی های تخصیص حافظه

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

توابع استاتیک عمومی

DecodeList

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

فهرستی از عناصر NetworkInfo را از نمایش TLV آن غیراصولی کنید.

جزئیات
مولفه های
[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 را در نمایش 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() .