nl:: Weave:: Profiles:: NetworkProvisioning:: NetworkInfo
#include <src/lib/profiles/network-provisioning/NetworkInfo.h>
一种实用程序类,用于对通过 NetworkProvisioning 配置文件通信的载荷进行序列化和反序列化:它封装了与检测和配置网络相关的信息。
摘要
该类依赖于网络配置信息的中间存储(信息最终存储与网络负载的中间),并使用动态内存管理为生成的对象提供灵活的运行时。因此,该类不适合最受限制的环境,但可能用于较大的系统。
构造函数和析构函数 |
|
---|---|
NetworkInfo()
|
|
~NetworkInfo()
|
公共类型 |
|
---|---|
@210
|
枚举 |
@211
|
枚举 |
公共属性 |
|
---|---|
Hidden
|
bool
网络是否隐藏。
|
NetworkId
|
int64_t
设备分配给该网络的网络 ID,如果未指定,则为 -1。
|
NetworkType
|
广告网络的类型。
|
ThreadChannel
|
uint8_t
Thread 网络运行的当前通道(当前为 [11..26]),或 kThreadChannel_NotSpecified。
|
ThreadExtendedPANId
|
uint8_t *
Thread 扩展的 PAN ID。
|
ThreadNetworkKey
|
uint8_t *
Thread 主网络密钥,如果未指定,则为 NULL。
|
ThreadNetworkName
|
char *
Thread 网络的名称,如果未指定,则为 NULL。
|
ThreadPANId
|
uint32_t
16 位的线程 PAN ID,即 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 *
Wi-Fi SSID,如果未指定,则为 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
设备分配给该网络的网络 ID,如果未指定,则为 -1。
ThreadChannel
uint8_t ThreadChannel
Thread 网络运行的当前通道(当前为 [11..26]),或 kThreadChannel_NotSpecified。
ThreadExtendedPANId
uint8_t * ThreadExtendedPANId
Thread 扩展的 PAN ID。
它是类拥有的由 8 个八位字节组成的动态分配数组。在对对象调用 Clear()
的任何条件下销毁。
ThreadNetworkKey
uint8_t * ThreadNetworkKey
Thread 主网络密钥,如果未指定,则为 NULL。
它是任意八位字节的动态分配数组,在对对象调用 Clear()
的任何条件下归 Destroyed 类所有。
ThreadNetworkName
char * ThreadNetworkName
Thread 网络的名称,如果未指定,则为 NULL。
它是类拥有的、以 NUL 终止且动态分配的 C 字符串。在对对象调用 Clear()
的任何条件下销毁。
ThreadPANId
uint32_t ThreadPANId
16 位的线程 PAN ID,即 kThreadPANId_NotSpecified。
ThreadPSKc
uint8_t * ThreadPSKc
调试器的线程预共享密钥,如果未指定,则为 NULL。
它是任意八位字节的动态分配数组,在对对象调用 Clear()
的任何条件下归 Destroyed 类所有。
WiFiKey
uint8_t * WiFiKey
Wi-Fi 密钥,如果未指定,则为 NULL。
它是类拥有的任意八位字节的动态分配数组,长度由 WiFiKeyLen
指定。在对对象调用 Clear()
的任何条件下销毁。
WiFiKeyLen
uint32_t WiFiKeyLen
Wi-Fi 密钥的长度(以字节为单位)。
WiFiSSID
char * WiFiSSID
Wi-Fi SSID,如果未指定,则为 NULL。
它是类拥有的、以 NUL 终止且动态分配的 C 字符串。在对对象调用 Clear()
的任何条件下销毁。
WiFiSecurityType
::nl::Weave::Profiles::NetworkProvisioning::WiFiSecurityType WiFiSecurityType
Wi-Fi 安全类型。
WirelessSignalStrength
int16_t WirelessSignalStrength
网络的信号强度,如果不可用/不适用,则为 INT16_MIN。
公共函数
CopyTo
WEAVE_ERROR CopyTo( NetworkInfo & dest )
将此 NetworkInfo 对象的内容替换为参数内容的深层副本。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
Decode
WEAVE_ERROR Decode( nl::Weave::TLV::TLVReader & reader )
将此 NetworkInfo 对象的内容从其 TLV 表示法反序列化。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
WEAVE_NO_ERROR 如果成功,任何不符合网络配置配置文件的元素出现 WEAVE_ERROR_INVALID_TLV_ELEMENT 错误,或者任何 TLV 读取器错误(因为元素解码有误)。
|
编码
WEAVE_ERROR Encode( nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags ) const
将此 NetworkInfo 对象的内容序列化为其 TLV 表示法。
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
WEAVE_NO_ERROR 如果成功,任何不符合网络配置配置文件的元素出现 WEAVE_ERROR_INVALID_TLV_ELEMENT 错误,或者任何 TLV 读取器错误(因为元素解码有误)。
|
MergeTo
WEAVE_ERROR MergeTo( NetworkInfo & dest )
将此 NetworkInfo 对象的内容与参数内容的深层副本合并。
参数对象中的所有非默认值会替换此对象中的值。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
NetworkInfo
NetworkInfo()
~NetworkInfo
~NetworkInfo()
公共静态函数
DecodeList
WEAVE_ERROR DecodeList( nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray )
将 NetworkInfo 元素列表从其 TLV 表示形式反序列化。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
|
EncodeList
WEAVE_ERROR EncodeList( nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags )
将 NetworkInfo 对象数组序列化为其 TLV 表示法。
该数组将在 TLV 表示法中是一个匿名元素。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
|
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 表示法,仅选择特定类型的网络。
详细信息 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||||||
返回值 |
|