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]) ที่เครือข่ายเทรดทํางาน หรือ kThreadChannel_NotSpecified
ThreadExtendedPANId
uint8_t *
รหัส PAN แบบขยายของชุดข้อความ
ThreadNetworkKey
uint8_t *
เทรดหลัก คีย์เครือข่าย หรือ NULL หากไม่ได้ระบุ
ThreadNetworkName
char *
ชื่อของเครือข่ายเทรด หรือไม่มีข้อมูล หากไม่ได้ระบุ
ThreadPANId
uint32_t
รหัส PAN ของเทรด 16 บิต หรือ kThreadPANId_NotSpecified
ThreadPSKc
uint8_t *
คีย์ที่แชร์ล่วงหน้าสำหรับชุดข้อความสำหรับค่าคอมมิชชัน หรือ 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)
ดีซีเรียลไลซ์เนื้อหาของออบเจ็กต์ 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

เครือข่ายซ่อนอยู่หรือไม่

NetworkId

int64_t NetworkId

รหัสเครือข่ายที่อุปกรณ์กำหนด -1 หากไม่ได้ระบุไว้

NetworkType

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

ประเภทของเครือข่าย

ThreadChannel

uint8_t ThreadChannel

ช่องปัจจุบัน (ปัจจุบันคือ [11..26]) ที่เครือข่ายเทรดทํางาน หรือ kThreadChannel_NotSpecified

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

รหัส PAN แบบขยายของชุดข้อความ

เป็นอาร์เรย์ที่จัดสรรแบบไดนามิกของเลขแปด 8 ตัวที่คลาสเป็นเจ้าของ ทำลายในเงื่อนไขที่เรียกใช้ Clear() ในออบเจ็กต์

ThreadNetworkKey

uint8_t * ThreadNetworkKey

เทรดหลัก คีย์เครือข่าย หรือ NULL หากไม่ได้ระบุ

ค่านี้คืออาร์เรย์ที่มีการจัดสรรแบบไดนามิกของอ็อกเท็ตที่กำหนดเอง ซึ่งมีคลาส "ทำลายแล้ว" ในเงื่อนไขที่เรียกใช้ Clear() ในออบเจ็กต์

ThreadNetworkName

char * ThreadNetworkName

ชื่อของเครือข่ายเทรด หรือไม่มีข้อมูล หากไม่ได้ระบุ

ซึ่งเป็น C-string ที่มีการสิ้นสุดแบบไดนามิกและได้รับการทำให้เป็น NUL ซึ่งชั้นเรียนเป็นเจ้าของ ทำลายในเงื่อนไขที่เรียกใช้ Clear() ในออบเจ็กต์

ThreadPANId

uint32_t ThreadPANId

รหัส PAN ของเทรด 16 บิต หรือ kThreadPANId_NotSpecified

ThreadPSKc

uint8_t * ThreadPSKc

คีย์ที่แชร์ล่วงหน้าสำหรับชุดข้อความสำหรับค่าคอมมิชชัน หรือ 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-string ที่มีการสิ้นสุดแบบไดนามิกและได้รับการทำให้เป็น 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 หรือแบบฟรี
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_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 ที่จัดรูปแบบแล้ว เมื่ออาร์เรย์เป็นค่าว่าง ฟังก์ชันด้านล่างจะได้รับการจัดสรรภายใน จะถือว่าอาร์เรย์ที่จัดสรรภายนอกมีออบเจ็กต์ 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()