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 *
ชื่อเครือข่ายเทรด หรือ NULL หากไม่ระบุไว้
ThreadPANId
uint32_t
PAN ID ของเทรด 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

ชื่อเครือข่ายเทรด หรือ NULL หากไม่ระบุไว้

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

ThreadPANId

uint32_t ThreadPANId

PAN ID ของเทรด 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 ที่เลิกใช้ค่าว่างและจัดสรรแบบไดนามิก และเป็นของคลาส ทำลายแล้วในเงื่อนไขที่เรียกใช้ 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
)

ดีซีเรียลเนื้อหาของออบเจ็กต์ 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()

ฟังก์ชันแบบคงที่แบบสาธารณะ

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()