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

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

Una classe di utilità per serializzare e deserializzare i payload comunicati tramite il profilo NetworkProvisioning: incapsula le informazioni pertinenti al rilevamento e alla configurazione delle reti.

Riepilogo

La classe si basa sull'archiviazione intermedia delle informazioni di provisioning della rete (intermedio tra l'archivio finale delle informazioni e il payload di rete) e utilizza la gestione dinamica della memoria per fornire all'oggetto risultante un runtime flessibile. Pertanto, questa classe non è adatta agli ambienti più vincolati, 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 rete assegnato alla rete dal dispositivo, -1 se non specificato.
NetworkType
Il tipo di rete.
ThreadChannel
uint8_t
L'attuale canale (attualmente [11..26]) su cui opera la rete Thread, o kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
L'ID PAN esteso di Thread.
ThreadNetworkKey
uint8_t *
La chiave di rete master Thread oppure NULL se non specificata.
ThreadNetworkName
char *
Il nome della rete Thread o NULL se non specificato.
ThreadPANId
uint32_t
L'ID PAN Thread a 16 bit o kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Chiave precondivisa in thread per il commissario oppure NULL se non specificata.
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à di funzionamento della rete Wi-Fi.
WiFiRole
Il ruolo svolto dal dispositivo sulla rete Wi-Fi.
WiFiSSID
char *
L'SSID Wi-Fi 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
Reimposta i valori predefiniti 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 i contenuti di questo oggetto NetworkInfo dalla relativa rappresentazione TLV.
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Serializza i contenuti di questo oggetto NetworkInfo nella relativa rappresentazione TLV.
MergeTo(NetworkInfo & dest)
Unisci i contenuti di questo oggetto NetworkInfo alla copia diretta 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 sua rappresentazione TLV selezionando solo 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 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

L'attuale canale (attualmente [11..26]) su cui opera la rete Thread, o kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

L'ID PAN esteso di Thread.

Si tratta di un array di 8 ottetto allocati dinamicamente di proprietà della classe. Eliminato in qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

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

È un array di ottetti arbitrari allocati dinamicamente di proprietà della classe Destroyed in qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadNetworkName

char * ThreadNetworkName

Il nome della rete Thread o NULL se non specificato.

È una stringa C con terminazione NUL e allocata dinamicamente, di proprietà della classe. Eliminato in qualsiasi condizione che chiami Clear() sull'oggetto.

ThreadPANId

uint32_t ThreadPANId

L'ID PAN Thread a 16 bit o kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Chiave precondivisa in thread per il commissario oppure NULL se non specificata.

È un array di ottetti arbitrari allocati dinamicamente di proprietà della classe Destroyed in qualsiasi condizione che chiami Clear() sull'oggetto.

WiFiKey

uint8_t * WiFiKey

La chiave Wi-Fi o NULL se non specificata.

Si tratta di un array di ottetti arbitrari allocato dinamicamente, di proprietà della classe, con lunghezza specificata da WiFiKeyLen. Eliminato in 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à di funzionamento della rete Wi-Fi.

WiFiRole

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

Il ruolo svolto dal dispositivo sulla rete Wi-Fi.

WiFiSSID

char * WiFiSSID

L'SSID Wi-Fi o NULL se non specificato.

È una stringa C con terminazione NUL e allocata dinamicamente, di proprietà della classe. Eliminato in 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
)

Reimposta i valori predefiniti 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
Un 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 i contenuti di questo oggetto NetworkInfo dalla relativa rappresentazione TLV.

Dettagli
Parametri
[in] reader
TLVReader posizionato sull'elemento della struttura contenente le informazioni di rete.
Restituisce
WEAVE_NO_ERROR In caso di esito positivo, WEAVE_ERROR_INVALID_TLV_ELEMENT su qualsiasi elemento non conforme al profilo di provisioning della rete e uno degli errori del lettore TLV relativi alla decodifica errata degli elementi.

Codifica

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

Serializza i contenuti 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 l'oggetto fa parte di un array di elementi o un tag profilo per kTag_NetworkInformation se emesso come elemento autonomo.
[in] encodeFlags
Flag che controllano se le credenziali di NetworkInfo devono essere serializzate.
Restituisce
WEAVE_NO_ERROR In caso di esito positivo, WEAVE_ERROR_INVALID_TLV_ELEMENT su qualsiasi elemento non conforme al profilo di provisioning della rete e uno degli 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 diretta dei contenuti dell'argomento.

Tutti i valori non predefiniti dell'oggetto di 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
Un 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()

~NetworkInfo

 ~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. Alla restituzione riuscita, 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 allocato internamente dalla funzione seguente, altrimenti si presume che l'array allocato esternamente contenga almeno oggetti elemCount.
Valori restituiti
WEAVE_NO_ERROR
Un 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 correttamente
[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
Un 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 sua rappresentazione TLV selezionando solo reti di un tipo specifico.

Dettagli
Parametri
[in] writer
TLVWriter posizionato correttamente
[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
Un successo.
Other
Errori restituiti dalla funzione Encode().