nl::Weave::Profiles::NetworkProvisioning::NetworkInfo

#include <src/lib/profiles/network-provisioning/NetworkInfo.h>

Class utilitas untuk membuat serialisasi dan deserialisasi payload yang dikomunikasikan melalui profil NetworkProvisioning: mengenkapsulasi informasi yang terkait dengan deteksi dan konfigurasi jaringan.

Ringkasan

Class ini bergantung pada penyimpanan perantara informasi penyediaan jaringan (menengah antara penyimpanan informasi akhir dan payload jaringan) dan menggunakan manajemen memori dinamis untuk memberikan runtime fleksibel objek yang dihasilkan. Dengan demikian, class ini tidak cocok untuk lingkungan yang paling terbatas, tetapi dapat digunakan di sistem yang lebih besar.

Konstruktor dan Destruktor

NetworkInfo()
~NetworkInfo()

Jenis publik

@210 enum
@211 enum

Atribut publik

Hidden
bool
Apakah jaringan disembunyikan atau tidak.
NetworkId
int64_t
ID jaringan yang ditetapkan ke jaringan oleh perangkat, -1 jika tidak ditentukan.
NetworkType
Jenis jaringan.
ThreadChannel
uint8_t
Saluran saat ini (saat ini [11..26]) tempat jaringan Thread beroperasi, atau kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
ID PAN Thread yang diperluas.
ThreadNetworkKey
uint8_t *
Kunci jaringan master Thread , atau NULL jika tidak ditentukan.
ThreadNetworkName
char *
Nama jaringan Thread, atau NULL jika tidak ditentukan.
ThreadPANId
uint32_t
ID PAN Thread 16 bit, atau kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Thread pre-shared key untuk komisaris, atau NULL jika tidak ditentukan.
WiFiKey
uint8_t *
Kunci WiFi, atau NULL jika tidak ditentukan.
WiFiKeyLen
uint32_t
Panjang kunci WiFi dalam byte.
WiFiMode
Mode operasi jaringan Wi-Fi.
WiFiRole
Peran yang dimainkan oleh perangkat di jaringan Wi-Fi.
WiFiSSID
char *
WiFi SSID, atau NULL jika tidak ditentukan.
WiFiSecurityType
Jenis keamanan Wi-Fi.
WirelessSignalStrength
int16_t
Kekuatan sinyal jaringan, atau INT16_MIN jika tidak tersedia/berlaku.

Fungsi publik

Clear(void)
void
Reset ke default dan kosongkan semua nilai dalam objek NetworkInfo ini.
CopyTo(NetworkInfo & dest)
Ganti konten objek NetworkInfo ini dengan salinan mendalam dari konten argumen.
Decode(nl::Weave::TLV::TLVReader & reader)
Lakukan deserialisasi konten objek NetworkInfo ini dari representasi TLV-nya.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Lakukan serialisasi konten objek NetworkInfo ini ke dalam representasi TLV-nya.
MergeTo(NetworkInfo & dest)
Gabungkan konten objek NetworkInfo ini dengan salinan mendalam konten argumen.

Fungsi statis publik

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Melakukan deserialisasi daftar elemen NetworkInfo dari representasi TLV-nya.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Lakukan serialisasi array objek NetworkInfo ke dalam representasi TLV-nya.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t arrayLen, const NetworkInfo *elemArray, ::nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType, uint8_t encodeFlags, uint16_t & encodedElemCount)
Lakukan serialisasi array objek NetworkInfo ke dalam representasi TLV-nya dengan memilih hanya jaringan dari jenis tertentu.

Jenis publik

@210

 @210

@211

 @211

Atribut publik

Tersembunyi

bool Hidden

Apakah jaringan disembunyikan atau tidak.

NetworkId

int64_t NetworkId

ID jaringan yang ditetapkan ke jaringan oleh perangkat, -1 jika tidak ditentukan.

NetworkType

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

Jenis jaringan.

ThreadChannel

uint8_t ThreadChannel

Saluran saat ini (saat ini [11..26]) tempat jaringan Thread beroperasi, atau kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

ID PAN Thread yang diperluas.

Array ini adalah array 8 oktek yang dialokasikan secara dinamis, yang dimiliki oleh class. Dihancurkan berdasarkan kondisi apa pun yang memanggil Clear() pada objek.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Kunci jaringan master Thread , atau NULL jika tidak ditentukan.

Ini adalah array octet arbitrer yang dialokasikan secara dinamis, yang dimiliki oleh class Dihancurkan pada kondisi apa pun yang memanggil Clear() pada objek.

ThreadNetworkName

char * ThreadNetworkName

Nama jaringan Thread, atau NULL jika tidak ditentukan.

Ini adalah C-string yang dihentikan NUL dan dialokasikan secara dinamis, yang dimiliki oleh class. Dihancurkan berdasarkan kondisi apa pun yang memanggil Clear() pada objek.

ThreadPANId

uint32_t ThreadPANId

ID PAN Thread 16-bit, atau kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Thread pre-shared key untuk komisaris, atau NULL jika tidak ditentukan.

Ini adalah array octet arbitrer yang dialokasikan secara dinamis, yang dimiliki oleh class Dihancurkan pada kondisi apa pun yang memanggil Clear() pada objek.

WiFiKey

uint8_t * WiFiKey

Kunci WiFi, atau NULL jika tidak ditentukan.

Array ini adalah array octet arbitrer yang dialokasikan secara dinamis, yang dimiliki oleh class, dengan panjang yang ditentukan oleh WiFiKeyLen. Dihancurkan berdasarkan kondisi apa pun yang memanggil Clear() pada objek.

WiFiKeyLen

uint32_t WiFiKeyLen

Panjang kunci WiFi dalam byte.

WiFiMode

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

Mode operasi jaringan Wi-Fi.

WiFiRole

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

Peran yang dimainkan oleh perangkat di jaringan Wi-Fi.

WiFiSSID

char * WiFiSSID

WiFi SSID, atau NULL jika tidak ditentukan.

Ini adalah C-string yang dihentikan NUL dan dialokasikan secara dinamis, yang dimiliki oleh class. Dihancurkan berdasarkan kondisi apa pun yang memanggil Clear() pada objek.

WiFiSecurityType

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

Jenis keamanan Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

Kekuatan sinyal jaringan, atau INT16_MIN jika tidak tersedia/berlaku.

Fungsi publik

Hapus

void Clear(
  void
)

Reset ke default dan kosongkan semua nilai dalam objek NetworkInfo ini.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Ganti konten objek NetworkInfo ini dengan salinan mendalam dari konten argumen.

Detail
Parameter
[in] dest
NetworkInfo berisi informasi yang akan disalin ke objek ini.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NOT_IMPLEMENTED
Jika platform tidak mendukung malloc atau free.
WEAVE_ERROR_NO_MEMORY
Saat terjadi kegagalan alokasi memori.

Decode

WEAVE_ERROR Decode(
  nl::Weave::TLV::TLVReader & reader
)

Lakukan deserialisasi konten objek NetworkInfo ini dari representasi TLV-nya.

Detail
Parameter
[in] reader
TLVReader diposisikan ke elemen struktur yang berisi info jaringan.
Hasil
WEAVE_NO_ERROR Jika berhasil, WEAVE_ERROR_INVALID_TLV_ELEMENT pada elemen apa pun yang tidak sesuai dengan profil penyediaan jaringan, error pembaca TLV mana pun terkait decoding elemen yang salah.

Encoding

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

Lakukan serialisasi konten objek NetworkInfo ini ke dalam representasi TLV-nya.

Detail
Parameter
[in] writer
TLVWriter diposisikan di tempat objek akan diserialisasi. Fungsi ini memunculkan tag anonim untuk objek ini saat objek ini adalah bagian dari array elemen atau tag profil untuk kTag_NetworkInformation saat dimunculkan sebagai elemen mandiri.
[in] encodeFlags
Tanda yang mengontrol apakah kredensial NetworkInfo harus diserialisasi.
Hasil
WEAVE_NO_ERROR Jika berhasil, WEAVE_ERROR_INVALID_TLV_ELEMENT pada elemen apa pun yang tidak sesuai dengan profil penyediaan jaringan, error pembaca TLV mana pun terkait decoding elemen yang salah.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Gabungkan konten objek NetworkInfo ini dengan salinan mendalam konten argumen.

Semua nilai non-default dari objek argumen akan menggantikan nilai dalam objek ini.

Detail
Parameter
[in] dest
NetworkInfo berisi informasi yang akan disalin ke objek ini.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NOT_IMPLEMENTED
Jika platform tidak mendukung malloc atau free.
WEAVE_ERROR_NO_MEMORY
Saat terjadi kegagalan alokasi memori.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Fungsi statis publik

DecodeList

WEAVE_ERROR DecodeList(
  nl::Weave::TLV::TLVReader & reader,
  uint16_t & elemCount,
  NetworkInfo *& elemArray
)

Melakukan deserialisasi daftar elemen NetworkInfo dari representasi TLV-nya.

Detail
Parameter
[in] reader
TLVReader diposisikan pada awal array. Jika pengembalian berhasil, penulis diposisikan setelah akhir array.
[in,out] elemCount
Saat input, jumlah maksimum elemen yang akan dideserialisasi dari TLVReader. Pada output, jumlah elemen sebenarnya di-deserialisasi dari streaming.
[in,out] elemArray
Referensi ke array elemen NetworkInfo yang akan berisi objek NetworkInfo yang dideserialisasi. Jika array NULL, array itu akan dialokasikan secara internal oleh fungsi di bawah ini, jika tidak, maka akan diasumsikan bahwa array yang dialokasikan secara eksternal berisi setidaknya objek elemCount.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
WEAVE_ERROR_NOT_IMPLEMENTED
pada platform yang tidak mendukung manajemen memori dinamis.
other
Error yang ditampilkan dari fungsi Decode().

EncodeList

WEAVE_ERROR EncodeList(
  nl::Weave::TLV::TLVWriter & writer,
  uint16_t elemCount,
  const NetworkInfo *elemArray,
  uint8_t encodeFlags
)

Lakukan serialisasi array objek NetworkInfo ke dalam representasi TLV-nya.

Array akan menjadi elemen anonim dalam representasi TLV.

Detail
Parameter
[in] writer
TLVWriter yang diposisikan dengan tepat
[in] elemCount
Jumlah elemen dalam elemArray.
[in] elemArray
Array objek NetworkInfo yang akan diserialisasi.
[in] encodeFlags
Tanda yang mengontrol apakah kredensial NetworkInfo harus diserialisasi.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
Other
Error yang ditampilkan dari fungsi 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
)

Lakukan serialisasi array objek NetworkInfo ke dalam representasi TLV-nya dengan memilih hanya jaringan dari jenis tertentu.

Detail
Parameter
[in] writer
TLVWriter yang diposisikan dengan tepat
[in] arrayLen
Jumlah elemen dalam elemArray.
[in] elemArray
Array objek NetworkInfo yang akan diserialisasi.
[in] networkType
Jenis objek NetworkInfo yang akan diserialisasi
[in] encodeFlags
Tanda yang mengontrol apakah kredensial NetworkInfo harus diserialisasi.
[out] encodedElemCount
Jumlah elemen yang benar-benar diserialisasi.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Berhasil.
Other
Error yang ditampilkan dari fungsi Encode().