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 *
執行緒擴充永久帳號 ID。
|
ThreadNetworkKey
|
uint8_t *
Thread 主網路金鑰 ;如未指定,則為 NULL。
|
ThreadNetworkName
|
char *
Thread 網路的名稱;如果未指定,則為 NULL。
|
ThreadPANId
|
uint32_t
16 位元 Thread PAN ID 或 kThreadPANId_NotSpecified。
|
ThreadPSKc
|
uint8_t *
Agent 的執行緒預先共用金鑰,如未指定,則為 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)
|
從 TLV 表示法中將 NetworkInfo 元素清單反序列化。
|
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
執行緒擴充永久帳號 ID。
這是一個動態配置的陣列,共 8 個八位元組,由類別擁有。刪除在物件上呼叫 Clear()
的任何條件。
ThreadNetworkKey
uint8_t * ThreadNetworkKey
Thread 主網路金鑰 ;如未指定,則為 NULL。
這是任意八位元的動態配置陣列,屬於某個類別,該類別擁有於物件上呼叫 Clear()
的任何條件所擁有。
ThreadNetworkName
char * ThreadNetworkName
Thread 網路的名稱;如果未指定,則為 NULL。
這是一個 NUL 結尾的動態配置 C 字串,屬於該類別。刪除在物件上呼叫 Clear()
的任何條件。
ThreadPANId
uint32_t ThreadPANId
16 位元 Thread PAN ID 或 kThreadPANId_NotSpecified。
ThreadPSKc
uint8_t * ThreadPSKc
Agent 的執行緒預先共用金鑰,如未指定,則為 NULL。
這是任意八位元的動態配置陣列,屬於某個類別,該類別擁有於物件上呼叫 Clear()
的任何條件所擁有。
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 )
從 TLV 表示法中將 NetworkInfo 元素清單反序列化。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
||||||
傳回值 |
|
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 表示法,只選取特定類型的網路。
詳細資料 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||
傳回值 |
|