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

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

Klasa narzędzia do serializowania i deserializacji ładunków komunikowanych za pomocą profilu NetworkProvisioning: zawiera informacje związane z wykrywaniem i konfigurowaniem sieci.

Podsumowanie

Klasa korzysta z pośredniego przechowywania informacji dotyczących udostępniania sieci (pośrednio między ich przechowywaniem a ładunkiem sieciowym) oraz korzysta z dynamicznego zarządzania pamięcią, aby zapewnić elastyczne środowisko wykonawcze obiektu. Z tego powodu ta klasa nie jest odpowiednia w najbardziej ograniczonych środowiskach, ale może być używana w większych systemach.

Konstruktorzy i niszczyciele

NetworkInfo()
~NetworkInfo()

Typy publiczne

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

Atrybuty publiczne

Hidden
bool
Określa, czy sieć jest ukryta.
NetworkId
int64_t
Identyfikator sieci przypisany do sieci przez urządzenie. Jeśli nie podano żadnej wartości, wpisz -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 *
Identyfikator PAN rozszerzenia Thread.
ThreadNetworkKey
uint8_t *
Klucz sieciowy mastera Thread lub wartość NULL , jeśli nie został określony.
ThreadNetworkName
char *
Nazwa sieci Thread lub wartość NULL, jeśli nie została określona.
ThreadPANId
uint32_t
16-bitowy identyfikator PAN Thread (kThreadPANId_NotSpecified).
ThreadPSKc
uint8_t *
Klucz wstępny wątku dla komisarza lub wartość NULL, jeśli nie podano.
WiFiKey
uint8_t *
Klucz Wi-Fi lub wartość NULL, jeśli nie jest określona.
WiFiKeyLen
uint32_t
Długość klucza Wi-Fi w bajtach.
WiFiMode
Tryb działania sieci Wi-Fi.
WiFiRole
Rola, jaką urządzenie odgrywa w sieci Wi-Fi.
WiFiSSID
char *
Identyfikator SSID sieci Wi-Fi lub wartość NULL, jeśli nie został określony.
WiFiSecurityType
Typ zabezpieczenia sieci Wi-Fi.
WirelessSignalStrength
int16_t
Siła sygnału sieci lub INT16_MIN, jeśli nie jest dostępna.

Funkcje publiczne

Clear(void)
void
Przywróć wartość domyślną i zwolnij wszystkie wartości w tym 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 z jego reprezentacji TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Zserializuj zawartość tego obiektu NetworkInfo do jego reprezentacji 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 na podstawie ich reprezentacji TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Zserializuj tablicę obiektów NetworkInfo do jej reprezentacji 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)
Zserializuj tablicę obiektów NetworkInfo do jej reprezentacji TLV, wybierając tylko sieci określonego typu.

Typy publiczne

@210

 @210

@211

 @211

Atrybuty publiczne

Ukryte

bool Hidden

Określa, czy sieć jest ukryta.

NetworkId

int64_t NetworkId

Identyfikator sieci przypisany do sieci przez urządzenie. Jeśli nie podano żadnej wartości, wpisz -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

Identyfikator PAN rozszerzenia Thread.

Jest to dynamicznie alokowana tablica z 8 oktetami, należąca do klasy. Zniszczona w przypadku dowolnego warunku, który wywołuje w obiekcie Clear().

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Klucz sieciowy mastera Thread lub wartość NULL , jeśli nie został określony.

Jest to przydzielona dynamicznie tablica dowolnych oktetów należąca do klasy Destroyed pod dowolnym warunkiem, 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 C z zakończeniem NUL i dynamicznie przydzielany, będący własnością klasy. Zniszczona w przypadku dowolnego warunku, który wywołuje w obiekcie Clear().

ThreadPANId

uint32_t ThreadPANId

16-bitowy identyfikator PAN Thread (kThreadPANId_NotSpecified).

ThreadPSKc

uint8_t * ThreadPSKc

Klucz wstępny wątku dla komisarza lub wartość NULL, jeśli nie podano.

Jest to przydzielona dynamicznie tablica dowolnych oktetów należąca do klasy Destroyed pod dowolnym warunkiem, który wywołuje w obiekcie Clear().

WiFiKey

uint8_t * WiFiKey

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

Jest to dynamicznie przydzielona tablica dowolnych oktetów należąca do klasy o długości określonej przez WiFiKeyLen. Zniszczona w przypadku dowolnego 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, jaką urządzenie odgrywa w sieci Wi-Fi.

WiFiSSID

char * WiFiSSID

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

Jest to ciąg znaków C z zakończeniem NUL i dynamicznie przydzielany, będący własnością klasy. Zniszczona w przypadku dowolnego 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 nie jest dostępna.

Funkcje publiczne

Wyczyść

void Clear(
  void
)

Przywróć wartość domyślną i zwolnij wszystkie wartości w tym 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
Na sukces.
WEAVE_ERROR_NOT_IMPLEMENTED
Gdy platforma nie obsługuje Malloc ani free.
WEAVE_ERROR_NO_MEMORY
dotyczące błędów alokacji pamięci,

Decode

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

Deserializuj zawartość tego obiektu NetworkInfo z jego reprezentacji TLV.

Szczegóły
Parametry
[in] reader
Biblioteka TLVReader znajduje się w elemencie struktury zawierającym informacje o sieci.
Zwroty
WEAVE_NO_ERROR W przypadku powodzenia: WEAVE_ERROR_FAILED_TLV_ELEMENT dowolnego elementu niezgodnego z profilem udostępniania sieci oznacza błąd czytnika TLV w przypadku nieprawidłowego dekodowania elementów.

Kodowanie

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

Zserializuj zawartość tego obiektu NetworkInfo do jego reprezentacji TLV.

Szczegóły
Parametry
[in] writer
Tabela TLVWriter znajduje się w miejscu, do którego obiekt zostanie zserializowany. Ta funkcja generuje anonimowy tag dla tego obiektu, gdy jest on częścią tablicy elementów lub tag profilu dla kTag_NetworkInformation (gdy jest wysyłany jako samodzielny element).
[in] encodeFlags
Flagi decydujące o tym, czy dane logowania do NetworkInfo powinny być zserializowane.
Zwroty
WEAVE_NO_ERROR W przypadku powodzenia: WEAVE_ERROR_FAILED_TLV_ELEMENT dowolnego elementu niezgodnego z profilem udostępniania sieci oznacza błąd czytnika TLV w przypadku nieprawidłowego dekodowania elementów.

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
Na sukces.
WEAVE_ERROR_NOT_IMPLEMENTED
Gdy platforma nie obsługuje Malloc ani free.
WEAVE_ERROR_NO_MEMORY
dotyczące błędów 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 na podstawie ich reprezentacji TLV.

Szczegóły
Parametry
[in] reader
Odczytujący TLVReader znajduje się na początku tablicy. Po zwróceniu zapisuer jest umieszczany po końcu tablicy.
[in,out] elemCount
Na danych wejściowych maksymalna liczba elementów do deserializacji z TLVReader. Na wyjściu liczba elementów, które zostały rzeczywiście deserializowane ze strumienia.
[in,out] elemArray
Odwołanie do tablicy elementów NetworkInfo, które będą zawierać deserializowane obiekty NetworkInfo. Gdy tablica ma wartość NULL, jest ona przydzielana wewnętrznie przez poniższą funkcję. W przeciwnym razie przyjmuje się, że przydzielona zewnętrznie tablica zawiera co najmniej elemCount obiektów.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
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 do jej reprezentacji TLV.

Tablica będzie anonimowym elementem w reprezentacji TLV.

Szczegóły
Parametry
[in] writer
Odpowiednio pozycjonowany obiekt TLVWriter
[in] elemCount
Liczba elementów w elemencie elemArray.
[in] elemArray
Tablica obiektów NetworkInfo do zserializowania.
[in] encodeFlags
Flagi decydujące o tym, czy dane logowania do NetworkInfo powinny być zserializowane.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
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
)

Zserializuj tablicę obiektów NetworkInfo do jej reprezentacji TLV, wybierając tylko sieci określonego typu.

Szczegóły
Parametry
[in] writer
Odpowiednio pozycjonowany obiekt TLVWriter
[in] arrayLen
Liczba elementów w elemencie elemArray.
[in] elemArray
Tablica obiektów NetworkInfo do zserializowania.
[in] networkType
Typ obiektów NetworkInfo do zserializowania
[in] encodeFlags
Flagi decydujące o tym, czy dane logowania do NetworkInfo powinny być zserializowane.
[out] encodedElemCount
Liczba elementów faktycznie zserializowanych.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
Other
Błędy zwrócone przez funkcję Encode().