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

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

Dienstprogrammklasse zum Serialisieren und Deserialisieren von Nutzlasten, die über ein NetworkProvisioning-Profil kommuniziert wurden: Sie enthält Informationen, die sich auf die Erkennung und Konfiguration von Netzwerken beziehen.

Zusammenfassung

Die Klasse stützt sich auf die Zwischenspeicherung von Netzwerkbereitstellungsinformationen (zwischen dem endgültigen Speicher der Informationen und der Netzwerknutzlast) und verwendet eine dynamische Speicherverwaltung, um dem resultierenden Objekt eine flexible Laufzeit zu bieten. Daher ist diese Klasse für die am stärksten eingeschränkten Umgebungen nicht geeignet, 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
Netzwerk-ID, die dem Netzwerk vom Gerät zugewiesen wurde; -1, wenn keine Angabe erfolgt.
NetworkType
Die Art des Netzwerks.
ThreadChannel
uint8_t
Der aktuelle Kanal (derzeit [11..26]), mit dem das Thread-Netzwerk betrieben wird, oder kThreadChannel_Not Tan.
ThreadExtendedPANId
uint8_t *
Die erweiterte Thread-PAN-ID.
ThreadNetworkKey
uint8_t *
Den Thread-Masternetzwerkschlüssel oder NULL , wenn nicht angegeben.
ThreadNetworkName
char *
Der Name des Thread-Netzwerks oder NULL, wenn nicht angegeben.
ThreadPANId
uint32_t
Die 16-Bit-Thread-PAN-ID oder kThreadPANId_Notspecific.
ThreadPSKc
uint8_t *
Vorinstallierter Thread-Schlüssel für Provisioner oder NULL, wenn nicht angegeben.
WiFiKey
uint8_t *
den 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 gespielt hat
WiFiSSID
char *
Die WLAN-SSID oder NULL, wenn nicht angegeben.
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 Standardeinstellung zurücksetzen und alle Werte in diesem NetworkInfo-Objekt freigeben.
CopyTo(NetworkInfo & dest)
Ersetzen Sie den Inhalt dieses NetworkInfo-Objekts durch den Inhalt des Arguments.
Decode(nl::Weave::TLV::TLVReader & reader)
Deserialisiert den Inhalt dieses NetworkInfo-Objekts von 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 Tiefenkopie 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-Darstellung.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serialisiert ein Array von NetworkInfo-Objekten in seine TLV-Darstellung.
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

Netzwerk-ID, die dem Netzwerk vom Gerät zugewiesen wurde; -1, wenn keine Angabe erfolgt.

NetworkType

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

Die Art des Netzwerks.

ThreadChannel

uint8_t ThreadChannel

Der aktuelle Kanal (derzeit [11..26]), mit dem das Thread-Netzwerk betrieben wird, oder kThreadChannel_Not Tan.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

Die erweiterte Thread-PAN-ID.

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

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Den Thread-Masternetzwerkschlüssel oder NULL , wenn nicht angegeben.

Es ist ein dynamisch zugewiesenes Array mit beliebigen Oktetten, die zur Klasse gehören. Zerstört bei jeder Bedingung, 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 16-Bit-Thread-PAN-ID oder kThreadPANId_Notspecific.

ThreadPSKc

uint8_t * ThreadPSKc

Vorinstallierter Thread-Schlüssel für Provisioner oder NULL, wenn nicht angegeben.

Es ist ein dynamisch zugewiesenes Array mit beliebigen Oktetten, die zur Klasse gehören. Zerstört bei jeder Bedingung, die Clear() für das Objekt aufruft.

WiFiKey

uint8_t * WiFiKey

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

Es ist ein dynamisch zugewiesenes Array beliebiger Oktette, die zur 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 gespielt hat

WiFiSSID

char * WiFiSSID

Die WLAN-SSID 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.

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

Klar

void Clear(
  void
)

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

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Ersetzen Sie den Inhalt dieses NetworkInfo-Objekts durch den Inhalt 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 kostenlos 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 von seiner TLV-Darstellung.

Details
Parameter
[in] reader
TLVReader ist auf dem Strukturelement mit den Netzwerkinformationen positioniert.
Rückgabe
WEAVE_NO_ERROR Im Erfolgsfall WEAVE_ERROR_INVALID_TLV_ELEMENT für jedes Element, das nicht dem Netzwerkbereitstellungsprofil entspricht, oder einer der TLV-Leserfehler aufgrund 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
TLVWriter befindet sich an der Stelle, an der das Objekt serialisiert wird. Die Funktion gibt ein anonymes Tag für dieses Objekt aus, wenn dieses Objekt Teil eines Array-Elements ist, oder ein Profil-Tag für kTag_NetworkInformation, 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 jedes Element, das nicht dem Netzwerkbereitstellungsprofil entspricht, oder einer der TLV-Leserfehler aufgrund falscher Decodierung von Elementen.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

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

Alle nicht standardmäßigen Werte aus dem Argumentobjekt 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 kostenlos nicht unterstützt.
WEAVE_ERROR_NO_MEMORY
Bei Fehlern bei der Arbeitsspeicherzuweisung.

NetworkInfo

 NetworkInfo()

~Netzwerkinfo

 ~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-Darstellung.

Details
Parameter
[in] reader
TLVReader befindet sich am Array-Start. Bei erfolgreicher Rückgabe wird der Writer nach dem Ende des Arrays positioniert.
[in,out] elemCount
Bei Eingabe die maximale Anzahl von Elementen, die aus dem TLVReader deserialisiert werden sollen. Bei der Ausgabe die Anzahl der Elemente, die tatsächlich aus dem Stream deserialisiert wurden.
[in,out] elemArray
Ein Verweis auf das Array mit NetworkInfo-Elementen, die die deserialisierten NetworkInfo-Objekte enthalten. Wenn das Array NULL ist, wird es intern von der nachfolgenden Funktion zugewiesen. Andernfalls wird davon ausgegangen, dass das extern zugewiesene Array mindestens elemCount-Objekte enthält.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_NOT_IMPLEMENTED
die keine dynamische Speicherverwaltung unterstützen.
other
Von der Decode()-Funktion 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-Darstellung.

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

Details
Parameter
[in] writer
Optimal positionierter TLVWriter
[in] elemCount
Anzahl der Elemente im 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 Encode()-Funktion 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
Optimal positionierter TLVWriter
[in] arrayLen
Anzahl der Elemente im elemArray.
[in] elemArray
Das Array der NetworkInfo-Objekte, die serialisiert werden sollen.
[in] networkType
Der Typ der zu serialisierenden NetworkInfo-Objekte
[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 Encode()-Funktion zurückgegebene Fehler.