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

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

Classe di utilità per la serializzazione e la deserializzazione dei payload comunicati tramite il profilo NetworkProvisioning: incapsula le informazioni pertinenti alle reti di rilevamento e configurazione.

Riepilogo

La classe si basa sull'archiviazione intermedia delle informazioni di provisioning della rete (intermedia tra l'archivio finale delle informazioni e il payload di rete) e utilizza la gestione dinamica della memoria per fornire un runtime flessibile all'oggetto risultante. Di conseguenza, questa classe non è adatta agli ambienti più ristretti, ma può essere utilizzata su sistemi più grandi.

Costruttori e distruttori

NetworkInfo()
~NetworkInfo()

Tipi pubblici

@210 enum
@211 enum

Attributi pubblici

Hidden
bool
Indica se la rete è nascosta o meno.
NetworkId
int64_t
L'ID di rete assegnato alla rete dal dispositivo, -1 se non specificato.
NetworkType
Il tipo di rete.
ThreadChannel
uint8_t
Il canale corrente (attualmente [11..26]) su cui opera la rete Thread, o kThreadChannel_Not specifichi.
ThreadExtendedPANId
uint8_t *
L'ID PAN esteso Thread.
ThreadNetworkKey
uint8_t *
La chiave di rete principale Thread oppure NULL se non specificata.
ThreadNetworkName
char *
Il nome della rete Thread oppure NULL se non specificato.
ThreadPANId
uint32_t
L'ID PAN Thread a 16 bit o kThreadPANId_Notec.
ThreadPSKc
uint8_t *
Thread chiave precondivisa per il commissioner o NULL se non specificato.
WiFiKey
uint8_t *
La chiave Wi-Fi o NULL se non specificata.
WiFiKeyLen
uint32_t
La lunghezza in byte della chiave Wi-Fi.
WiFiMode
La modalità operativa della rete Wi-Fi.
WiFiRole
Il ruolo del dispositivo sulla rete Wi-Fi.
WiFiSSID
char *
L'SSID WiFi o NULL se non specificato.
WiFiSecurityType
Il tipo di sicurezza Wi-Fi.
WirelessSignalStrength
int16_t
L'intensità del segnale della rete o INT16_MIN se non disponibile/applicabile.

Funzioni pubbliche

Clear(void)
void
Ripristina il valore predefinito e libera tutti i valori all'interno di questo oggetto NetworkInfo.
CopyTo(NetworkInfo & dest)
Sostituisci i contenuti di questo oggetto NetworkInfo con la copia approfondita dei contenuti dell'argomento.
Decode(nl::Weave::TLV::TLVReader & reader)
Deserializza il contenuto di questo oggetto NetworkInfo dalla relativa rappresentazione TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Serializza il contenuto di questo oggetto NetworkInfo nella relativa rappresentazione TLV.
MergeTo(NetworkInfo & dest)
Unisci i contenuti di questo oggetto NetworkInfo alla copia approfondita dei contenuti dell'argomento.

Funzioni statiche pubbliche

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Deserializza un elenco di elementi NetworkInfo dalla relativa rappresentazione TLV.
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Serializza un array di oggetti NetworkInfo nella relativa rappresentazione 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)
Serializza un array di oggetti NetworkInfo nella relativa rappresentazione TLV selezionando solo le reti di un tipo specifico.

Tipi pubblici

@210

 @210

@211

 @211

Attributi pubblici

Nascosto

bool Hidden

Indica se la rete è nascosta o meno.

NetworkId

int64_t NetworkId

L'ID di rete assegnato alla rete dal dispositivo, -1 se non specificato.

NetworkType

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

Il tipo di rete.

ThreadChannel

uint8_t ThreadChannel

Il canale corrente (attualmente [11..26]) su cui opera la rete Thread, o kThreadChannel_Not specifichi.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

L'ID PAN esteso Thread.

Si tratta di un array assegnato dinamicamente di 8 ottetti, di proprietà della classe. Eliminata a qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

La chiave di rete principale Thread oppure NULL se non specificata.

Si tratta di un array di ottetti arbitrari assegnato dinamicamente di proprietà della classe Destroyed su qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadNetworkName

char * ThreadNetworkName

Il nome della rete Thread oppure NULL se non specificato.

Si tratta di una stringa C con terminazione NUL e allocata dinamicamente, di proprietà della classe. Eliminata a qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadPANId

uint32_t ThreadPANId

L'ID PAN Thread a 16 bit o kThreadPANId_Notec.

ThreadPSKc

uint8_t * ThreadPSKc

Thread chiave precondivisa per il commissioner o NULL se non specificato.

Si tratta di un array di ottetti arbitrari assegnato dinamicamente di proprietà della classe Destroyed su qualsiasi condizione che chiami Clear() sull'oggetto.

WiFiKey

uint8_t * WiFiKey

La chiave Wi-Fi o NULL se non specificata.

È un array assegnato dinamicamente di ottetti arbitrari, di proprietà della classe, con lunghezza specificata da WiFiKeyLen. Eliminata a qualsiasi condizione che chiami Clear() sull'oggetto.

WiFiKeyLen

uint32_t WiFiKeyLen

La lunghezza in byte della chiave Wi-Fi.

WiFiMode

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

La modalità operativa della rete Wi-Fi.

WiFiRole

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

Il ruolo del dispositivo sulla rete Wi-Fi.

WiFiSSID

char * WiFiSSID

L'SSID WiFi o NULL se non specificato.

Si tratta di una stringa C con terminazione NUL e allocata dinamicamente, di proprietà della classe. Eliminata a qualsiasi condizione che chiami Clear() sull'oggetto.

WiFiSecurityType

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

Il tipo di sicurezza Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

L'intensità del segnale della rete o INT16_MIN se non disponibile/applicabile.

Funzioni pubbliche

Cancella

void Clear(
  void
)

Ripristina il valore predefinito e libera tutti i valori all'interno di questo oggetto NetworkInfo.

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Sostituisci i contenuti di questo oggetto NetworkInfo con la copia approfondita dei contenuti dell'argomento.

Dettagli
Parametri
[in] dest
Oggetto NetworkInfo contenente informazioni da copiare in questo oggetto.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando la piattaforma non supporta Malloc o free.
WEAVE_ERROR_NO_MEMORY
In caso di errori di allocazione della memoria.

Decode

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

Deserializza il contenuto di questo oggetto NetworkInfo dalla relativa rappresentazione TLV.

Dettagli
Parametri
[in] reader
TLVReader posizionato nell'elemento della struttura contenente le informazioni di rete.
Restituisce
WEAVE_NO_ERROR Se l'operazione ha esito positivo, WEAVE_ERROR_INVALID_TLV_ELEMENT in qualsiasi elemento non conforme al profilo di provisioning della rete, eventuali errori del lettore TLV relativi alla decodifica errata degli elementi.

Codifica

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

Serializza il contenuto di questo oggetto NetworkInfo nella relativa rappresentazione TLV.

Dettagli
Parametri
[in] writer
TLVWriter posizionato nel punto in cui verrà serializzato l'oggetto. La funzione emette un tag anonimo per questo oggetto quando questo oggetto fa parte di un array di elementi o un tag di profilo per kTag_NetworkInformation quando viene emesso come elemento autonomo.
[in] encodeFlags
Flag che controllano se le credenziali di NetworkInfo devono essere serializzate.
Restituisce
WEAVE_NO_ERROR Se l'operazione ha esito positivo, WEAVE_ERROR_INVALID_TLV_ELEMENT in qualsiasi elemento non conforme al profilo di provisioning della rete, eventuali errori del lettore TLV relativi alla decodifica errata degli elementi.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Unisci i contenuti di questo oggetto NetworkInfo alla copia approfondita dei contenuti dell'argomento.

Tutti i valori non predefiniti dell'oggetto argomento sostituiscono i valori in questo oggetto.

Dettagli
Parametri
[in] dest
Oggetto NetworkInfo contenente informazioni da copiare in questo oggetto.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_NOT_IMPLEMENTED
Quando la piattaforma non supporta Malloc o free.
WEAVE_ERROR_NO_MEMORY
In caso di errori di allocazione della memoria.

NetworkInfo

 NetworkInfo()

~Info di rete

 ~NetworkInfo()

Funzioni statiche pubbliche

DecodeList

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

Deserializza un elenco di elementi NetworkInfo dalla relativa rappresentazione TLV.

Dettagli
Parametri
[in] reader
TLVReader posizionato all'inizio dell'array. In caso di esito positivo, il writer viene posizionato dopo la fine dell'array.
[in,out] elemCount
All'input, numero massimo di elementi da deserializzare da TLVReader. Nell'output, il numero di elementi effettivamente deserializzati dal flusso.
[in,out] elemArray
Un riferimento all'array di elementi NetworkInfo che conterrà gli oggetti NetworkInfo deserializzati. Quando l'array è NULL, viene allocata internamente dalla funzione seguente, altrimenti si presume che l'array allocato esternamente contenga almeno oggetti elemCount.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_NOT_IMPLEMENTED
su piattaforme che non supportano la gestione dinamica della memoria.
other
Errori restituiti dalla funzione Decode().

EncodeList

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

Serializza un array di oggetti NetworkInfo nella relativa rappresentazione TLV.

L'array sarà un elemento anonimo nella rappresentazione TLV.

Dettagli
Parametri
[in] writer
TLVWriter posizionato in modo appropriato
[in] elemCount
Numero di elementi in elemArray.
[in] elemArray
L'array di oggetti NetworkInfo da serializzare.
[in] encodeFlags
Flag che controllano se le credenziali di NetworkInfo devono essere serializzate.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
Other
Errori restituiti dalla funzione 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
)

Serializza un array di oggetti NetworkInfo nella relativa rappresentazione TLV selezionando solo le reti di un tipo specifico.

Dettagli
Parametri
[in] writer
TLVWriter posizionato in modo appropriato
[in] arrayLen
Numero di elementi in elemArray.
[in] elemArray
L'array di oggetti NetworkInfo da serializzare.
[in] networkType
Il tipo di oggetti NetworkInfo da serializzare
[in] encodeFlags
Flag che controllano se le credenziali di NetworkInfo devono essere serializzate.
[out] encodedElemCount
Il numero di elementi effettivamente serializzati.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
Other
Errori restituiti dalla funzione Encode().