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

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

Eine Dienstprogrammklasse zum Serialisieren und Deserialisieren von Nutzlasten, die über das Profil NetworkProvisioning übermittelt werden. Sie enthält Informationen, die für die Erkennung und Konfiguration von Netzwerken relevant sind.

Zusammenfassung

Die Klasse stützt sich auf die Zwischenspeicherung von Informationen zur Netzwerkbereitstellung (zwischen dem endgültigen Speicher der Informationen und der Netzwerknutzlast) und nutzt eine dynamische Speicherverwaltung, um dem resultierenden Objekt flexible Laufzeiten zu bieten. Daher eignet sich diese Klasse nicht für die am stärksten beschränkten Umgebungen, kann aber auf größeren Systemen verwendet werden.

Konstruktoren und Zerstörer

NetworkInfo()
~NetworkInfo()

Öffentliche Typen

@210 enum
@211 enum

Öffentliche Attribute

Hidden
bool
Gibt an, ob das Netzwerk ausgeblendet ist.
NetworkId
int64_t
Die Netzwerk-ID, die dem Netzwerk vom Gerät zugewiesen wurde; -1, falls nicht angegeben.
NetworkType
Die Art des Netzwerks.
ThreadChannel
uint8_t
Der aktuelle Kanal (derzeit [11..26]), mit dem das Thread-Netzwerk arbeitet, oder kThreadChannel_NotRequested.
ThreadExtendedPANId
uint8_t *
Die erweiterte Thread-PAN-ID.
ThreadNetworkKey
uint8_t *
Der Thread-Master-Netzwerkschlüssel oder NULL , wenn nicht angegeben.
ThreadNetworkName
char *
Der Name des Thread-Netzwerks oder NULL, wenn nicht angegeben.
ThreadPANId
uint32_t
Die PAN für die 16-Bit-Thread-ID oder kThreadPANId_NotRequested.
ThreadPSKc
uint8_t *
Thread für den vorinstallierten Schlüssel für den Provisioner oder NULL, wenn nicht angegeben.
WiFiKey
uint8_t *
Der WLAN-Schlüssel oder NULL, wenn nicht angegeben.
WiFiKeyLen
uint32_t
Die Länge des WLAN-Schlüssels in Byte.
WiFiMode
Der Betriebsmodus des WLAN-Netzwerks.
WiFiRole
Die Rolle, die das Gerät im WLAN einnimmt.
WiFiSSID
char *
Die WLAN-SSID oder NULL, wenn keine Angabe erfolgt.
WiFiSecurityType
Der WLAN-Sicherheitstyp.
WirelessSignalStrength
int16_t
Die Signalstärke des Netzwerks oder INT16_MIN, falls nicht verfügbar/anwendbar.

Öffentliche Funktionen

Clear(void)
void
Auf die Standardwerte zurücksetzen und alle Werte in diesem NetworkInfo-Objekt freigeben.
CopyTo(NetworkInfo & dest)
Ersetzen Sie den Inhalt dieses NetworkInfo-Objekts durch die tiefe Kopie des Inhalts des Arguments.
Decode(nl::Weave::TLV::TLVReader & reader)
Deserialisiert den Inhalt dieses NetworkInfo-Objekts aus seiner TLV-Darstellung.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Serialisiert den Inhalt dieses NetworkInfo-Objekts in seine TLV-Darstellung.
MergeTo(NetworkInfo & dest)
Führen Sie den Inhalt dieses NetworkInfo-Objekts mit der detaillierten Kopie des Inhalts des Arguments zusammen.

Öffentliche statische Funktionen

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Deserialisiert eine Liste von NetworkInfo-Elementen aus ihrer TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serialisiert ein Array von NetworkInfo-Objekten in seine 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)
Serialisiert ein Array von NetworkInfo-Objekten in seine TLV-Darstellung. Dabei werden nur Netzwerke eines bestimmten Typs ausgewählt.

Öffentliche Typen

@210

 @210

@211

 @211

Öffentliche Attribute

Ausgeblendet

bool Hidden

Gibt an, ob das Netzwerk ausgeblendet ist.

NetworkId

int64_t NetworkId

Die Netzwerk-ID, die dem Netzwerk vom Gerät zugewiesen wurde; -1, falls nicht angegeben.

NetworkType

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

Die Art des Netzwerks.

ThreadChannel

uint8_t ThreadChannel

Der aktuelle Kanal (derzeit [11..26]), auf dem das Thread-Netzwerk arbeitet, oder kThreadChannel_NotSpecific.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Die erweiterte Thread-PAN-ID.

Es ist ein dynamisch zugewiesenes Array von acht Oktekten, die der Klasse gehören. Wird bei jeder Bedingung gelöscht, die Clear() für das Objekt aufruft.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Der Thread-Master-Netzwerkschlüssel oder NULL , wenn nicht angegeben.

Es ist ein dynamisch zugewiesenes Array beliebiger Oktette, die der Klasse „Detroyed“ unter einer Bedingung gehören, die Clear() für das Objekt aufruft.

ThreadNetworkName

char * ThreadNetworkName

Der Name des Thread-Netzwerks oder NULL, wenn nicht angegeben.

Es ist ein NUL-terminierter, dynamisch zugewiesener C-String, der der Klasse gehört. Wird bei jeder Bedingung gelöscht, die Clear() für das Objekt aufruft.

ThreadPANId

uint32_t ThreadPANId

Die PAN für die 16-Bit-Thread-ID oder kThreadPANId_NotRequested.

ThreadPSKc

uint8_t * ThreadPSKc

Thread für den vorinstallierten Schlüssel für den Provisioner oder NULL, wenn nicht angegeben.

Es ist ein dynamisch zugewiesenes Array beliebiger Oktette, die der Klasse „Detroyed“ unter einer Bedingung gehören, die Clear() für das Objekt aufruft.

WiFiKey

uint8_t * WiFiKey

Der WLAN-Schlüssel oder NULL, wenn nicht angegeben.

Es ist ein dynamisch zugewiesenes Array beliebiger Oktette, die der Klasse gehören und deren Länge durch WiFiKeyLen angegeben wird. Wird bei jeder Bedingung gelöscht, die Clear() für das Objekt aufruft.

WiFiKeyLen

uint32_t WiFiKeyLen

Die Länge des WLAN-Schlüssels in Byte.

WiFiMode

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

Der Betriebsmodus des WLAN-Netzwerks.

WiFiRole

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

Die Rolle, die das Gerät im WLAN einnimmt.

WiFiSSID

char * WiFiSSID

Die WLAN-SSID oder NULL, wenn keine Angabe erfolgt.

Es ist ein NUL-terminierter, dynamisch zugewiesener C-String, der der Klasse gehört. Wird bei jeder Bedingung gelöscht, die Clear() für das Objekt aufruft.

WiFiSecurityType

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

Der WLAN-Sicherheitstyp.

WirelessSignalStrength

int16_t WirelessSignalStrength

Die Signalstärke des Netzwerks oder INT16_MIN, falls nicht verfügbar/anwendbar.

Öffentliche Funktionen

Löschen

void Clear(
  void
)

Auf die Standardwerte zurücksetzen und alle Werte in diesem NetworkInfo-Objekt freigeben.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Ersetzen Sie den Inhalt dieses NetworkInfo-Objekts durch die tiefe Kopie des Inhalts des Arguments.

Details
Parameter
[in] dest
NetworkInfo-Objekt mit Informationen, die in dieses Objekt kopiert werden sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NOT_IMPLEMENTED
Wenn die Plattform Malloc oder Free nicht unterstützt
WEAVE_ERROR_NO_MEMORY
Bei Fehlern bei der Arbeitsspeicherzuweisung.

Decode

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

Deserialisiert den Inhalt dieses NetworkInfo-Objekts aus seiner TLV-Darstellung.

Details
Parameter
[in] reader
TLVReader-Wert, der sich neben dem Strukturelement mit den Netzwerkinformationen befindet.
Rückgabe
WEAVE_NO_ERROR: Im Erfolgsfall WEAVE_ERROR_INVALID_TLV_ELEMENT für ein Element, das nicht dem Netzwerkbereitstellungsprofil entspricht, einen der TLV-Reader-Fehler bei falscher Decodierung von Elementen.

Codieren

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

Serialisiert den Inhalt dieses NetworkInfo-Objekts in seine TLV-Darstellung.

Details
Parameter
[in] writer
Der TLVWriter befindet sich an der Stelle, an der das Objekt serialisiert werden soll. Die Funktion gibt ein anonymes Tag für dieses Objekt aus, wenn dieses Objekt Teil eines Arrays von Elementen oder ein Profil-Tag für kTag_NetworkInformation ist, wenn es als eigenständiges Element ausgegeben wird.
[in] encodeFlags
Flags, die steuern, ob die Anmeldedaten von NetworkInfo serialisiert werden sollen.
Rückgabe
WEAVE_NO_ERROR: Im Erfolgsfall WEAVE_ERROR_INVALID_TLV_ELEMENT für ein Element, das nicht dem Netzwerkbereitstellungsprofil entspricht, einen der TLV-Reader-Fehler bei falscher Decodierung von Elementen.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Führen Sie den Inhalt dieses NetworkInfo-Objekts mit der detaillierten Kopie des Inhalts des Arguments zusammen.

Alle nicht standardmäßigen Werte des Argument-Objekts ersetzen die Werte in diesem Objekt.

Details
Parameter
[in] dest
NetworkInfo-Objekt mit Informationen, die in dieses Objekt kopiert werden sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NOT_IMPLEMENTED
Wenn die Plattform Malloc oder Free nicht unterstützt
WEAVE_ERROR_NO_MEMORY
Bei Fehlern bei der Arbeitsspeicherzuweisung.

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Öffentliche statische Funktionen

DecodeList

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

Deserialisiert eine Liste von NetworkInfo-Elementen aus ihrer TLV.

Details
Parameter
[in] reader
TLVReader befindet sich am Anfang des Arrays. Bei erfolgreicher Rückgabe wird der Writer nach dem Ende des Arrays positioniert.
[in,out] elemCount
Bei der Eingabe die maximale Anzahl von Elementen, die aus dem TLVReader deserialisiert werden sollen. Bei der Ausgabe die Anzahl der tatsächlich aus dem Stream deserialisierten Elemente.
[in,out] elemArray
Ein Verweis auf das Array der NetworkInfo-Elemente, die die deserialisierten NetworkInfo-Objekte enthalten. Wenn das Array NULL ist, wird es intern von der folgenden Funktion zugewiesen. Andernfalls wird angenommen, dass das extern zugewiesene Array mindestens elemCount-Objekte enthält.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NOT_IMPLEMENTED
auf Plattformen, die keine dynamische Speicherverwaltung unterstützen.
other
Von der Funktion Decode() zurückgegebene Fehler.

EncodeList

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

Serialisiert ein Array von NetworkInfo-Objekten in seine TLV.

Das Array ist ein anonymes Element in der TLV-Darstellung.

Details
Parameter
[in] writer
Angemessene Positionierung von TLVWriter
[in] elemCount
Anzahl der Elemente in elemArray.
[in] elemArray
Das Array der NetworkInfo-Objekte, die serialisiert werden sollen.
[in] encodeFlags
Flags, die steuern, ob die Anmeldedaten von NetworkInfo serialisiert werden sollen.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
Other
Von der Funktion Encode() zurückgegebene Fehler.

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
)

Serialisiert ein Array von NetworkInfo-Objekten in seine TLV-Darstellung. Dabei werden nur Netzwerke eines bestimmten Typs ausgewählt.

Details
Parameter
[in] writer
Angemessene Positionierung von TLVWriter
[in] arrayLen
Anzahl der Elemente in elemArray.
[in] elemArray
Das Array der NetworkInfo-Objekte, die serialisiert werden sollen.
[in] networkType
Der Typ der NetworkInfo-Objekte, die serialisiert werden sollen
[in] encodeFlags
Flags, die steuern, ob die Anmeldedaten von NetworkInfo serialisiert werden sollen.
[out] encodedElemCount
Die Anzahl der tatsächlich serialisierten Elemente.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
Other
Von der Funktion Encode() zurückgegebene Fehler.