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

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

סיווג של שירות לסידור רציף של מטענים ייעודיים (payloads) ולביצוע פעולת deserialize שלהם באמצעות פרופיל 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 *
מזהה ה-PAN המורחב של ה-thread.
ThreadNetworkKey
uint8_t *
מפתח הרשת הראשי של Thread או NULL אם לא צוין.
ThreadNetworkName
char *
שם הרשת של פרוטוקול Thread או NULL אם לא צוין.
ThreadPANId
uint32_t
מזהה ה-PAN של שרשור ב-16 ביט, או kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
מפתח משותף מראש לשרשור עבור Commiter, או NULL אם לא צוין.
WiFiKey
uint8_t *
מפתח ה-Wi-Fi או NULL אם לא צוין.
WiFiKeyLen
uint32_t
האורך בבייטים של מפתח ה-Wi-Fi.
WiFiMode
מצב ההפעלה של רשת ה-Wi-Fi.
WiFiRole
התפקיד של המכשיר ברשת ה-Wi-Fi.
WiFiSSID
char *
ה-SSID של ה-Wi-Fi או NULL אם לא צוין.
WiFiSecurityType
סוג האבטחה של ה-Wi-Fi.
WirelessSignalStrength
int16_t
עוצמת האות של הרשת, או INT16_MIN אם לא זמין/רלוונטי.

תפקידים ציבוריים

Clear(void)
void
איפוס לברירת המחדל ושחרור כל הערכים באובייקט NetworkInfo הזה.
CopyTo(NetworkInfo & dest)
מחליפים את התוכן של האובייקט NetworkInfo הזה בעותק העמוק של תוכן הארגומנט.
Decode(nl::Weave::TLV::TLVReader & reader)
מבצעים פעולת deserialize של התוכן של אובייקט 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)
מבצעים פעולת deserialize של רשימה של רכיבי 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

האם הרשת מוסתרת או לא.

NetworkId

int64_t NetworkId

מזהה הרשת שהוקצה לרשת על ידי המכשיר, 1- אם לא צוין.

NetworkType

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

סוג הרשת.

ThreadChannel

uint8_t ThreadChannel

הערוץ הנוכחי (כרגע [11..26]) שבו פועלת רשת Thread, או kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

מזהה ה-PAN המורחב של ה-thread.

זהו מערך של 8 אוקטקטים שמוקצה באופן דינמי, בבעלות המחלקה. היא מושמדת בכל תנאי שקורא ל-Clear() באובייקט.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

מפתח הרשת הראשי של Thread או NULL אם לא צוין.

זהו מערך שמוקצה באופן דינמי של אוקטטים שרירותיים, בבעלות המחלקה מושמדת בכל תנאי שקורא ל-Clear() על האובייקט.

ThreadNetworkName

char * ThreadNetworkName

שם הרשת של פרוטוקול Thread או NULL אם לא צוין.

זהו מחרוזת C שמסתיימת ב-NUL וגם מוקצית באופן דינמי, ונמצאת בבעלות הכיתה. היא מושמדת בכל תנאי שקורא ל-Clear() באובייקט.

ThreadPANId

uint32_t ThreadPANId

מזהה ה-PAN של שרשור ב-16 ביט, או kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

מפתח משותף מראש לשרשור עבור Commiter, או NULL אם לא צוין.

זהו מערך שמוקצה באופן דינמי של אוקטטים שרירותיים, בבעלות המחלקה מושמדת בכל תנאי שקורא ל-Clear() על האובייקט.

WiFiKey

uint8_t * WiFiKey

מפתח ה-Wi-Fi או NULL אם לא צוין.

זהו מערך דינמי של אוקטטים שרירותיים, בבעלות המחלקה, שהאורך שלו צוין על ידי WiFiKeyLen. היא מושמדת בכל תנאי שקורא ל-Clear() באובייקט.

WiFiKeyLen

uint32_t WiFiKeyLen

האורך בבייטים של מפתח ה-Wi-Fi.

WiFiMode

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

מצב ההפעלה של רשת ה-Wi-Fi.

WiFiRole

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

התפקיד של המכשיר ברשת ה-Wi-Fi.

WiFiSSID

char * WiFiSSID

ה-SSID של ה-Wi-Fi או NULL אם לא צוין.

זהו מחרוזת C שמסתיימת ב-NUL וגם מוקצית באופן דינמי, ונמצאת בבעלות הכיתה. היא מושמדת בכל תנאי שקורא ל-Clear() באובייקט.

WiFiSecurityType

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

סוג האבטחה של ה-Wi-Fi.

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 או ב-free.
WEAVE_ERROR_NO_MEMORY
כשיש כשלים בהקצאת הזיכרון.

Decode

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

מבצעים פעולת deserialize של התוכן של אובייקט 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 או ב-free.
WEAVE_ERROR_NO_MEMORY
כשיש כשלים בהקצאת הזיכרון.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

פונקציות סטטיות ציבוריות

DecodeList

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

מבצעים פעולת deserialize של רשימה של רכיבי NetworkInfo מייצוג TLV שלו.

פרטים
פרמטרים
[in] reader
ה-TLVReader ממוקם בתחילת המערך. לאחר החזרה מוצלחת, הכותב ממוקם אחרי סוף המערך.
[in,out] elemCount
עם הקלט, מספר הרכיבים המקסימלי שיש לבצע פעולת deserialize מ-TLVReader. בפלט, מספר הרכיבים שעברו אופטימיזציה מהשידור בפועל.
[in,out] elemArray
הפניה למערך של רכיבי NetworkInfo שיכילו את האובייקטים NetworkInfo שעברו deserialed. כשהמערך הוא 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().