nl:: örgü:: Profiller:: Ağ Sağlama:: Ağ bilgisi

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

İle iletilen yükleri seri ve deserializing için bir yardımcı sınıfı NetworkProvisioning profili: bu tespit ve konfigüre ağlara bilgi uygun kapsüller.

özet

Sınıf, ağ sağlama bilgisinin (bilginin nihai deposu ile ağ yükü arasındaki ara) ara depolamasına dayanır ve elde edilen nesneye esnek çalışma zamanı vermek için dinamik bellek yönetimini kullanır. Bu nedenle, bu sınıf en kısıtlı ortamlar için uygun değildir, ancak daha büyük sistemlerde kullanılabilir.

Yapıcılar ve Yıkıcılar

NetworkInfo ()
~NetworkInfo ()

Genel türler

@210 Sıralama
@211 Sıralama

Genel özellikler

Hidden
bool
Ağın gizli olup olmadığı.
NetworkId
int64_t
Cihaz tarafından ağa atanan ağ kimliği, belirtilmemişse -1.
NetworkType
Ağın türü.
ThreadChannel
uint8_t
Thread ağının çalıştığı mevcut kanal (şu anda [11..26]) veya kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
İş parçacığı genişletilmiş PAN Kimliği.
ThreadNetworkKey
uint8_t *
İş parçacığı ana ağ anahtarı veya belirtilmemişse NULL.
ThreadNetworkName
char *
Thread ağının adı veya belirtilmemişse NULL.
ThreadPANId
uint32_t
16 bitlik Konu PAN Kimliği veya kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Komiser için önceden paylaşılan anahtar veya belirtilmemişse NULL.
WiFiKey
uint8_t *
WiFi anahtarı veya belirtilmemişse NULL.
WiFiKeyLen
uint32_t
WiFi anahtarının bayt cinsinden uzunluğu.
WiFiMode
WiFi ağının çalışma modu.
WiFiRole
Cihazın WiFi ağında oynadığı rol.
WiFiSSID
char *
WiFi SSID veya belirtilmemişse NULL.
WiFiSecurityType
WiFi güvenlik türü.
WirelessSignalStrength
int16_t
Ağın sinyal gücü veya mevcut değilse/geçerli değilse INT16_MIN.

Kamu işlevleri

Clear (void)
void
Bu dahilindeki tüm varsayılan değerlere ve serbest Reset NetworkInfo nesne.
CopyTo ( NetworkInfo & dest)
Bu içeriklerini değiştirme NetworkInfo tartışmanın içeriği derin kopyasıyla birlikte nesne.
Decode (nl::Weave::TLV::TLVReader & reader)
Bu içeriğini serisini NetworkInfo onun nesnenin TLV temsili.
Encode (nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Bu içeriğini seri hale NetworkInfo onun içine nesne TLV temsili.
MergeTo ( NetworkInfo & dest)
Bu içeriğini Birleştirme NetworkInfo tartışmanın içeriği derin kopyasıyla birlikte nesne.

Genel statik işlevler

DecodeList (nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Listesini serisini NetworkInfo onun elementlerin TLV temsili.
EncodeList (nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Bir dizi seri hale NetworkInfo onun nesnelerini TLV temsili.
EncodeList (nl::Weave::TLV::TLVWriter & writer, uint16_t arrayLen, const NetworkInfo *elemArray, :: nl::Weave::Profiles::NetworkProvisioning::NetworkType networkType, uint8_t encodeFlags, uint16_t & encodedElemCount)
Dizisi seri hale NetworkInfo onun içine nesneleri TLV belirli türden yalnızca ağları seçme temsil.

Genel türler

@210

 @210

@211

 @211

Genel özellikler

Gizli

bool Hidden

Ağın gizli olup olmadığı.

Ağ kimliği

int64_t NetworkId

Cihaz tarafından ağa atanan ağ kimliği, belirtilmemişse -1.

Ağ tipi

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

Ağın türü.

Konu Kanalı

uint8_t ThreadChannel

Thread ağının çalıştığı mevcut kanal (şu anda [11..26]) veya kThreadChannel_NotSpecified.

KonuGenişletilmişPANId

uint8_t * ThreadExtendedPANId

İş parçacığı genişletilmiş PAN Kimliği.

Sınıfa ait, dinamik olarak ayrılmış 8 okect dizisidir. Çağıran herhangi bir surette imha Clear() nesne üzerinde.

ThreadNetworkAnahtarı

uint8_t * ThreadNetworkKey

İş parçacığı ana ağ anahtarı veya belirtilmemişse NULL.

Bu çağıran herhangi bir koşul ile tahrip sınıfının sahip olduğu rasgele yine oktet uzunluğundaki bir dinamik tahsis dizidir Clear() nesnesinde.

Konu AğıAdı

char * ThreadNetworkName

Thread ağının adı veya belirtilmemişse NULL.

Sınıfın sahip olduğu, NUL ile sonlandırılmış, dinamik olarak ayrılmış bir C-string'dir. Çağıran herhangi bir surette imha Clear() nesne üzerinde.

KonuPANId

uint32_t ThreadPANId

16 bitlik İş parçacığı PAN Kimliği veya kThreadPANId_NotSpecified.

KonuPSKc

uint8_t * ThreadPSKc

Komiser için önceden paylaşılan anahtar veya belirtilmemişse NULL.

Bu çağıran herhangi bir koşul ile tahrip sınıfının sahip olduğu rasgele yine oktet uzunluğundaki bir dinamik tahsis dizidir Clear() nesnesinde.

WiFiAnahtarı

uint8_t * WiFiKey

WiFi anahtarı veya belirtilmemişse NULL.

Bu tarafından belirlenen uzunlukta sınıfının sahip olduğu rasgele yine oktet uzunluğundaki bir dinamik tahsis dizi, bir WiFiKeyLen . Çağıran herhangi bir surette imha Clear() nesne üzerinde.

WiFiKeyLen

uint32_t WiFiKeyLen

WiFi anahtarının bayt cinsinden uzunluğu.

WiFiModu

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

WiFi ağının çalışma modu.

WiFiRol

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

Cihazın WiFi ağında oynadığı rol.

WiFiSSID

char * WiFiSSID

WiFi SSID veya belirtilmemişse NULL.

Sınıfa ait, NUL ile sonlandırılmış, dinamik olarak ayrılmış bir C-string'dir. Çağıran herhangi bir surette imha Clear() nesne üzerinde.

WiFiGüvenlikTürü

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

WiFi güvenlik türü.

KablosuzSinyalGücü

int16_t WirelessSignalStrength

Ağın sinyal gücü veya mevcut değilse/geçerli değilse INT16_MIN.

Kamu işlevleri

Açık

void Clear(
  void
)

Bu dahilindeki tüm varsayılan değerlere ve serbest Reset NetworkInfo nesne.

Kopyala

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Bu içeriklerini değiştirme NetworkInfo tartışmanın içeriği derin kopyasıyla birlikte nesne.

Ayrıntılar
parametreler
[in] dest
NetworkInfo bilgilerini içeren nesne bu nesnenin içine kopyalanacak.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
Platform malloc veya free'yi desteklemediğinde.
WEAVE_ERROR_NO_MEMORY
Bellek ayırma hataları hakkında.

kodunu çöz

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

Bu içeriğini serisini NetworkInfo onun nesnenin TLV temsili.

Ayrıntılar
parametreler
[in] reader
TLVReader, ağ bilgilerini içeren yapı öğesine konumlandırıldı.
İadeler
WEAVE_NO_ERROR her eleman bir ağ provizyon profilinin herhangi birine uygun olup On başarı WEAVE_ERROR_INVALID_TLV_ELEMENT TLV elemanlarının yanlış şifre çözme ile ilgili okuyucu hataları.

kodlamak

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

Bu içeriğini seri hale NetworkInfo onun içine nesne TLV temsili.

Ayrıntılar
parametreler
[in] writer
TLVWriter, nesnenin serileştirileceği yere yerleştirilir. İşlev, bu nesne öğeler dizisinin bir parçası olduğunda veya bağımsız bir öğe olarak yayınlandığında kTag_NetworkInformation için bir profil etiketi olduğunda bu nesne için anonim bir etiket yayar.
[in] encodeFlags
Bayraklar kimlik bilgileri olmadığını kontrol NetworkInfo serileştirilmesi.
İadeler
WEAVE_NO_ERROR her eleman bir ağ provizyon profilinin herhangi birine uygun olup On başarı WEAVE_ERROR_INVALID_TLV_ELEMENT TLV elemanlarının yanlış şifre çözme ile ilgili okuyucu hataları.

Birleştir

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Bu içeriğini Birleştirme NetworkInfo tartışmanın içeriği derin kopyasıyla birlikte nesne.

Argüman nesnesindeki tüm varsayılan olmayan değerler, bu nesnedeki değerleri değiştirir.

Ayrıntılar
parametreler
[in] dest
NetworkInfo bilgilerini içeren nesne bu nesnenin içine kopyalanacak.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
Platform malloc veya free'yi desteklemediğinde.
WEAVE_ERROR_NO_MEMORY
Bellek ayırma hataları hakkında.

Ağ bilgisi

 NetworkInfo()

~Ağ Bilgisi

 ~NetworkInfo()

Genel statik işlevler

kod çözme listesi

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

Listesini serisini NetworkInfo onun elementlerin TLV temsili.

Ayrıntılar
parametreler
[in] reader
Dizi başlangıcında konumlandırılan TLVReader. Başarılı bir dönüşte, yazar dizinin sonundan sonra konumlandırılır.
[in,out] elemCount
Girişte, TLVReader'dan seri durumdan çıkarılacak maksimum öğe sayısı. Çıkışta, akıştan fiilen seri durumdan çıkarılan öğelerin sayısı.
[in,out] elemArray
Dizisine bir referans NetworkInfo serileştirilemezse içerecektir elemanları NetworkInfo nesneleri. Dizi NULL olduğunda, aşağıdaki işlev tarafından dahili olarak tahsis edilir, aksi takdirde harici olarak tahsis edilen dizinin en az elemCount nesneleri içerdiği varsayılır.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
dinamik bellek yönetimini desteklemeyen platformlarda.
other
Hatalar dönen Decode() işlev.

EncodeList

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

Bir dizi seri hale NetworkInfo onun nesnelerini TLV temsili.

Dizi anonim unsur olacaktır TLV temsili.

Ayrıntılar
parametreler
[in] writer
Uygun şekilde konumlandırılmış TLVWriter
[in] elemCount
Öğelerin sayısı elemArray .
[in] elemArray
Dizisi NetworkInfo Serileştirilecek nesneleri.
[in] encodeFlags
Bayraklar kimlik bilgileri olmadığını kontrol NetworkInfo serileştirilmesi.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
Other
Hatalar dönen Encode() işlev.

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
)

Dizisi seri hale NetworkInfo onun içine nesneleri TLV belirli türden yalnızca ağları seçme temsil.

Ayrıntılar
parametreler
[in] writer
Uygun şekilde konumlandırılmış TLVWriter
[in] arrayLen
Öğelerin sayısı elemArray .
[in] elemArray
Dizisi NetworkInfo Serileştirilecek nesneleri.
[in] networkType
Type NetworkInfo , tefrika nesneleri
[in] encodeFlags
Bayraklar kimlik bilgileri olmadığını kontrol NetworkInfo serileştirilmesi.
[out] encodedElemCount
Aslında seri hale getirilmiş öğelerin sayısı.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
Other
Hatalar dönen Encode() işlev.