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

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

Klasa narzędzia do serializacji i deserializacji ładunków przekazywanych przez profil NetworkProvisioning: umieszcza w niej informacje związane z wykrywaniem i konfigurowaniem sieci.

Podsumowanie

Klasa korzysta z pośredniego miejsca na dane do obsługi administracyjnej sieci (pomiędzy najwyższym magazynem informacji a ładunkiem sieciowym) i korzysta z dynamicznego zarządzania pamięcią, aby zapewnić elastyczne środowisko wykonawcze obiektu. Z tego powodu ta klasa nie nadaje się do obsługi najbardziej ograniczonych środowisk, ale może być stosowana w większych systemach.

Konstruktory i niszczyciele

NetworkInfo()
~NetworkInfo()

Typy publiczne

@210 enum | typ wyliczeniowy
@211 enum | typ wyliczeniowy

Atrybuty publiczne

Hidden
bool
Wskazuje, czy sieć jest ukryta.
NetworkId
int64_t
Identyfikator sieci przypisany do sieci przez urządzenie. Jeśli nie zostanie określony, -1.
NetworkType
Typ sieci.
ThreadChannel
uint8_t
Bieżący kanał (obecnie [11..26]), na którym działa sieć Thread, lub kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
Rozszerzony identyfikator PAN Thread.
ThreadNetworkKey
uint8_t *
Klucz sieciowy głównego wątku Thread lub wartość NULL , jeśli nie została określona.
ThreadNetworkName
char *
Nazwa sieci Thread lub wartość NULL, jeśli nie została określona.
ThreadPANId
uint32_t
16-bitowy identyfikator PAN w Thread, czyli kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Klucz wstępny wątku dla komisarza lub wartość NULL, jeśli nie została określona.
WiFiKey
uint8_t *
Klucz Wi-Fi lub wartość NULL, jeśli nie została określona.
WiFiKeyLen
uint32_t
Długość klucza Wi-Fi w bajtach.
WiFiMode
Tryb działania sieci Wi-Fi.
WiFiRole
Rola odgrywana przez urządzenie w sieci Wi-Fi.
WiFiSSID
char *
Identyfikator SSID sieci Wi-Fi lub wartość NULL, jeśli nie została określona.
WiFiSecurityType
Typ zabezpieczenia sieci Wi-Fi.
WirelessSignalStrength
int16_t
Siła sygnału sieci lub INT16_MIN, jeśli jest niedostępna.

Funkcje publiczne

Clear(void)
void
Przywróć wartość domyślną i zwolnij wszystkie wartości w obiekcie NetworkInfo.
CopyTo(NetworkInfo & dest)
Zastąp zawartość tego obiektu NetworkInfo głęboką kopią zawartości argumentu.
Decode(nl::Weave::TLV::TLVReader & reader)
Deserializuj zawartość tego obiektu NetworkInfo na podstawie jego reprezentacji TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Zserializuj zawartość tego obiektu NetworkInfo jako jego reprezentację TLV.
MergeTo(NetworkInfo & dest)
Scal zawartość tego obiektu NetworkInfo z głęboką kopią zawartości argumentu.

Publiczne funkcje statyczne

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Deserializuj listę elementów NetworkInfo z ich reprezentacji TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Zserializuj tablicę obiektów NetworkInfo zgodnie z jej reprezentacją 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)
Serializuj tablicę obiektów NetworkInfo jako reprezentację TLV, wybierając tylko sieci określonego typu.

Typy publiczne

@210

 @210

@211

 @211

Atrybuty publiczne

Ukryte

bool Hidden

Wskazuje, czy sieć jest ukryta.

NetworkId

int64_t NetworkId

Identyfikator sieci przypisany do sieci przez urządzenie. Jeśli nie zostanie określony, -1.

NetworkType

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

Typ sieci.

ThreadChannel

uint8_t ThreadChannel

Bieżący kanał (obecnie [11..26]), na którym działa sieć Thread, lub kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Rozszerzony identyfikator PAN Thread.

Jest to dynamicznie alokowana tablica 8 ósemek należących do klasy. Zniszczona w każdym warunku, który wywołuje w obiekcie Clear().

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Klucz sieciowy głównego wątku Thread lub wartość NULL , jeśli nie została określona.

Jest to dynamicznie alokowana tablica dowolnych oktetów należących do klasy Destroyed w przypadku dowolnego warunku, który wywołuje w obiekcie Clear().

ThreadNetworkName

char * ThreadNetworkName

Nazwa sieci Thread lub wartość NULL, jeśli nie została określona.

Jest to ciąg znaków typu C z zakończeniem NUL, przydzielany dynamicznie i należący do klasy. Zniszczona w każdym warunku, który wywołuje w obiekcie Clear().

ThreadPANId

uint32_t ThreadPANId

16-bitowy identyfikator PAN w Thread, czyli kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Klucz wstępny wątku dla komisarza lub wartość NULL, jeśli nie została określona.

Jest to dynamicznie alokowana tablica dowolnych oktetów należących do klasy Destroyed w przypadku dowolnego warunku, który wywołuje w obiekcie Clear().

WiFiKey

uint8_t * WiFiKey

Klucz Wi-Fi lub wartość NULL, jeśli nie została określona.

Jest to dynamicznie alokowana tablica dowolnych oktetów należących do klasy o długości określonej przez funkcję WiFiKeyLen. Zniszczona w każdym warunku, który wywołuje w obiekcie Clear().

WiFiKeyLen

uint32_t WiFiKeyLen

Długość klucza Wi-Fi w bajtach.

WiFiMode

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

Tryb działania sieci Wi-Fi.

WiFiRole

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

Rola odgrywana przez urządzenie w sieci Wi-Fi.

WiFiSSID

char * WiFiSSID

Identyfikator SSID sieci Wi-Fi lub wartość NULL, jeśli nie została określona.

Jest to ciąg znaków typu C z zakończeniem NUL, przydzielany dynamicznie i należący do klasy. Zniszczona w każdym warunku, który wywołuje w obiekcie Clear().

WiFiSecurityType

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

Typ zabezpieczenia sieci Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

Siła sygnału sieci lub INT16_MIN, jeśli jest niedostępna.

Funkcje publiczne

Wyczyść

void Clear(
  void
)

Przywróć wartość domyślną i zwolnij wszystkie wartości w obiekcie NetworkInfo.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Zastąp zawartość tego obiektu NetworkInfo głęboką kopią zawartości argumentu.

Szczegóły
Parametry
[in] dest
Obiekt NetworkInfo zawierający informacje, które mają zostać skopiowane do tego obiektu.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_NOT_IMPLEMENTED
Gdy platforma nie obsługuje Malloc lub Free.
WEAVE_ERROR_NO_MEMORY
Przy błędach alokacji pamięci.

Decode

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

Deserializuj zawartość tego obiektu NetworkInfo na podstawie jego reprezentacji TLV.

Szczegóły
Parametry
[in] reader
TLVReader znajduje się w elemencie struktury zawierającym informacje o sieci.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zdekodowaniu elementu WEAVE_ERROR_INVALID_TLV_ELEMENT w przypadku każdego elementu niezgodnego z profilem obsługi administracyjnej sieci może wystąpić dowolny z błędów czytnika TLV.

Kodowanie

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

Zserializuj zawartość tego obiektu NetworkInfo jako jego reprezentację TLV.

Szczegóły
Parametry
[in] writer
TLVWriter znajduje się w miejscu, do którego zostanie zserializowany obiekt. Ta funkcja generuje anonimowy tag dla tego obiektu, gdy jest on częścią tablicy elementów lub tag profilu dla kTag_NetworkInformation, gdy jest on generowany jako samodzielny element.
[in] encodeFlags
Flagi kontrolujące, czy dane logowania obiektu NetworkInfo powinny być zserializowane.
Zwroty
WEAVE_NO_ERROR Po pomyślnym zdekodowaniu elementu WEAVE_ERROR_INVALID_TLV_ELEMENT w przypadku każdego elementu niezgodnego z profilem obsługi administracyjnej sieci może wystąpić dowolny z błędów czytnika TLV.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Scal zawartość tego obiektu NetworkInfo z głęboką kopią zawartości argumentu.

Wszystkie wartości inne niż domyślne z obiektu argumentu zastępują wartości w tym obiekcie.

Szczegóły
Parametry
[in] dest
Obiekt NetworkInfo zawierający informacje, które mają zostać skopiowane do tego obiektu.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_NOT_IMPLEMENTED
Gdy platforma nie obsługuje Malloc lub Free.
WEAVE_ERROR_NO_MEMORY
Przy błędach alokacji pamięci.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Publiczne funkcje statyczne

DecodeList

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

Deserializuj listę elementów NetworkInfo z ich reprezentacji TLV.

Szczegóły
Parametry
[in] reader
TLVReader znajduje się na początku tablicy. Po pomyślnym zwróceniu zapisujący jest umieszczany za końcem tablicy.
[in,out] elemCount
W przypadku wprowadzania danych maksymalna liczba elementów do deserializacji z TLVReader. Liczba elementów faktycznie usuniętych ze strumienia na dane wyjściowe.
[in,out] elemArray
Odwołanie do tablicy elementów NetworkInfo, która będzie zawierać poddane deserializacji obiekty NetworkInfo. Gdy tablica ma wartość NULL, jest przydzielana wewnętrznie przez funkcję poniżej. W przeciwnym razie zakłada się, że przydzielona zewnętrznie tablica zawiera co najmniej elemCount obiekty.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_NOT_IMPLEMENTED
na platformach, które nie obsługują dynamicznego zarządzania pamięcią.
other
Błędy zwrócone przez funkcję Decode().

EncodeList

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

Zserializuj tablicę obiektów NetworkInfo zgodnie z jej reprezentacją TLV.

Tablica jest anonimowym elementem w reprezentacji TLV.

Szczegóły
Parametry
[in] writer
Odpowiednio umieszczony TLVWriter
[in] elemCount
Liczba elementów w elemArray.
[in] elemArray
Tablica obiektów NetworkInfo do zserializacji.
[in] encodeFlags
Flagi kontrolujące, czy dane logowania obiektu NetworkInfo powinny być zserializowane.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
Other
Błędy zwrócone przez funkcję 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
)

Serializuj tablicę obiektów NetworkInfo jako reprezentację TLV, wybierając tylko sieci określonego typu.

Szczegóły
Parametry
[in] writer
Odpowiednio umieszczony TLVWriter
[in] arrayLen
Liczba elementów w elemArray.
[in] elemArray
Tablica obiektów NetworkInfo do zserializacji.
[in] networkType
Typ obiektów NetworkInfo do serializowania
[in] encodeFlags
Flagi kontrolujące, czy dane logowania obiektu NetworkInfo powinny być zserializowane.
[out] encodedElemCount
Liczba elementów, które zostały faktycznie zserializowane.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
Other
Błędy zwrócone przez funkcję Encode().