จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl::Weave::โปรไฟล์::การจัดสรรเครือข่าย::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

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

รหัสเครือข่าย

int64_t NetworkId

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

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

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

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

ช่องเทรด

uint8_t ThreadChannel

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

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

uint8_t * ThreadExtendedPANId

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

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

คีย์เครือข่ายเทรด

uint8_t * ThreadNetworkKey

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

เป็นอาร์เรย์แบบสุ่มของอ็อกเท็ตที่กําหนดเอง คลาสที่คลาสนี้ทําลายด้วยเงื่อนไขใดๆ ที่เรียก Clear() ในออบเจ็กต์

ชื่อเครือข่ายเทรด

char * ThreadNetworkName

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

โดยเป็น C-string ที่สิ้นสุดการใช้งานแบบไดนามิกใน NUL ที่เป็นของคลาส ถูกทําลายในเงื่อนไขที่เรียก Clear() บนออบเจ็กต์

รหัสชุดข้อความชุดข้อความ

uint32_t ThreadPANId

รหัส PAN แบบ 16 บิตของรหัส หรือ kThreadPANId_NotSpecified

ThreadPSKc

uint8_t * ThreadPSKc

เทรดคีย์ที่แชร์ล่วงหน้าสําหรับค่าคอมมิชชัน หรือ NULL หากไม่ได้ระบุไว้

เป็นอาร์เรย์แบบสุ่มของอ็อกเท็ตที่กําหนดเอง คลาสที่คลาสนี้ทําลายด้วยเงื่อนไขใดๆ ที่เรียก Clear() ในออบเจ็กต์

คีย์ WiFi

uint8_t * WiFiKey

คีย์ Wi-Fi หรือ NULL หากไม่ได้ระบุไว้

เป็นอาร์เรย์ออคเต็ตที่มีการจัดสรรแบบไดนามิก ซึ่งคลาสนี้มีเจ้าของ และมีความยาวที่ระบุโดย WiFiKeyLen ถูกทําลายในเงื่อนไขที่เรียก Clear() บนออบเจ็กต์

Wi-Fi Len

uint32_t WiFiKeyLen

ความยาวเป็นไบต์ของคีย์ Wi-Fi

โหมด Wi-Fi

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

โหมดการทํางานของเครือข่าย Wi-Fi

บทบาท WiFi

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

บทบาทที่อุปกรณ์เล่นในเครือข่าย Wi-Fi

WiFiSSID

char * WiFiSSID

SSID ของ Wi-Fi หรือ NULL หากไม่ได้ระบุไว้

โดยเป็น C-string ที่สิ้นสุดการใช้งานแบบไดนามิกใน NUL ที่เป็นของคลาส ถูกทําลายในเงื่อนไขที่เรียก Clear() บนออบเจ็กต์

ประเภทการรักษาความปลอดภัย Wi-Fi

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

ประเภทการรักษาความปลอดภัย Wi-Fi

ความแรงของสัญญาณไร้สาย

int16_t WirelessSignalStrength

ความแรงของสัญญาณเครือข่ายหรือ INT16_MIN หากไม่มี/ไม่เกี่ยวข้อง

ฟังก์ชันสาธารณะ

ล้าง

void Clear(
  void
)

รีเซ็ตเป็นค่าเริ่มต้นและฟรีทั้งหมดภายในออบเจ็กต์ NetworkInfo นี้

คัดลอกไปยัง

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 อยู่ในตําแหน่งขององค์ประกอบโครงสร้างที่มีข้อมูลเครือข่าย
การคืนสินค้า
WEhave_NO_ERROR เมื่อสําเร็จ WEhave_ERROR_INVALID_TLV_โดยการเีรียนแปลงในองค์ประกอบใดๆ ที่ไม่สอดคล้องกับโปรไฟล์การจัดสรรเครือข่าย ข้อผิดพลาดใดๆ ของโปรแกรมอ่าน TLV ในการถอดรหัสองค์ประกอบที่ไม่ถูกต้อง

เข้ารหัส

WEAVE_ERROR Encode(
  nl::Weave::TLV::TLVWriter & writer,
  uint8_t encodeFlags
) const 

ทําให้เนื้อหาออบเจ็กต์ NetworkInfo นี้เรียงกันเป็นสําเนาแทน TLV

รายละเอียด
พารามิเตอร์
[in] writer
TLVWriter วางตรงตําแหน่งที่จะเรียงลําดับออบเจ็กต์ ฟังก์ชันจะส่งแท็กที่ไม่ระบุตัวตนสําหรับออบเจ็กต์นี้เมื่อออบเจ็กต์นี้เป็นส่วนหนึ่งของอาร์เรย์ขององค์ประกอบหรือแท็กโปรไฟล์สําหรับ kTag_NetworkInformation เมื่อโปรแกรมแสดงเป็นองค์ประกอบแบบสแตนด์อโลน
[in] encodeFlags
แฟล็กที่ควบคุมว่าข้อมูลเข้าสู่ระบบของ NetworkInfo ควรเป็นอนุกรมหรือไม่
การคืนสินค้า
WEhave_NO_ERROR เมื่อสําเร็จ WEhave_ERROR_INVALID_TLV_โดยการเีรียนแปลงในองค์ประกอบใดๆ ที่ไม่สอดคล้องกับโปรไฟล์การจัดสรรเครือข่าย ข้อผิดพลาดใดๆ ของโปรแกรมอ่าน TLV ในการถอดรหัสองค์ประกอบที่ไม่ถูกต้อง

ผสานกับ

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

รวมเนื้อหาของออบเจ็กต์ NetworkInfo นี้กับสําเนาของเนื้อหาของอาร์กิวเมนต์

ค่าที่ไม่ใช่ค่าเริ่มต้นทั้งหมดจากออบเจ็กต์อาร์กิวเมนต์จะแทนที่ค่าในออบเจ็กต์นี้

รายละเอียด
พารามิเตอร์
[in] dest
ออบเจ็กต์ NetworkInfo มีข้อมูลที่ต้องการคัดลอกลงในออบเจ็กต์นี้
มูลค่าการคืนสินค้า
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
)

แยกรายการองค์ประกอบ 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()

รายการการเข้ารหัส

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

รายการการเข้ารหัส

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