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

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

Classe utilitaire permettant de sérialiser et désérialiser les charges utiles communiquées via le profil NetworkProvisioning: elle encapsule les informations pertinentes pour la détection et la configuration des réseaux.

Résumé

La classe repose sur un stockage intermédiaire des informations de provisionnement réseau (intermédiaire entre le stockage final des informations et la charge utile réseau) et utilise une gestion de mémoire dynamique pour fournir l'environnement d'exécution flexible des objets qui en résulte. Par conséquent, cette classe n'est pas adaptée aux environnements les plus contraints, mais peut être utilisée sur des systèmes plus importants.

Constructeurs et destructeurs

NetworkInfo()
~NetworkInfo()

Types publics

@210 énum
@211 énum

Attributs publics

Hidden
bool
Indique si le réseau est masqué ou non.
NetworkId
int64_t
ID de réseau attribué au réseau par l'appareil (-1 si non spécifié).
NetworkType
Type de réseau.
ThreadChannel
uint8_t
Canal actuel (actuellement [11..26]) sur lequel fonctionne le réseau Thread, ou kThreadChannel_NotSpecified.
ThreadExtendedPANId
uint8_t *
ID de PAN étendu Thread.
ThreadNetworkKey
uint8_t *
Clé réseau maître du thread , ou valeur NULL si elle n'est pas spécifiée.
ThreadNetworkName
char *
Nom du réseau Thread, ou valeur NULL si non spécifié.
ThreadPANId
uint32_t
L'ID du PAN du thread 16 bits ou kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Clé pré-partagée du thread pour le commissaire, ou NULL si elle n'est pas spécifiée.
WiFiKey
uint8_t *
Clé Wi-Fi, ou valeur "NULL" si aucune valeur n'est spécifiée.
WiFiKeyLen
uint32_t
Longueur en octets de la clé Wi-Fi.
WiFiMode
Mode de fonctionnement du réseau Wi-Fi.
WiFiRole
Rôle joué par l'appareil sur le réseau Wi-Fi.
WiFiSSID
char *
SSID Wi-Fi, ou valeur "NULL" si aucun paramètre n'est spécifié.
WiFiSecurityType
Type de sécurité Wi-Fi.
WirelessSignalStrength
int16_t
Intensité du signal du réseau, ou INT16_MIN si non disponible/applicable.

Fonctions publiques

Clear(void)
void
Rétablir les valeurs par défaut et libérer toutes les valeurs de cet objet NetworkInfo
CopyTo(NetworkInfo & dest)
Remplacez le contenu de cet objet NetworkInfo par la copie profonde du contenu de l'argument.
Decode(nl::Weave::TLV::TLVReader & reader)
Désérialiser le contenu de cet objet NetworkInfo à partir de sa représentation TLV
Encode(nl::Weave::TLV::TLVWriter & writer, uint8_t encodeFlags) const
Sérialisez le contenu de cet objet NetworkInfo dans sa représentation TLV.
MergeTo(NetworkInfo & dest)
Fusionnez le contenu de cet objet NetworkInfo avec la copie profonde du contenu de l'argument.

Fonctions statiques publiques

DecodeList(nl::Weave::TLV::TLVReader & reader, uint16_t & elemCount, NetworkInfo *& elemArray)
Désérialiser une liste d'éléments NetworkInfo à partir de sa représentation TLV
EncodeList(nl::Weave::TLV::TLVWriter & writer, uint16_t elemCount, const NetworkInfo *elemArray, uint8_t encodeFlags)
Sérialiser un tableau d'objets NetworkInfo dans sa représentation 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)
Sérialiser un tableau d'objets NetworkInfo dans sa représentation TLV en sélectionnant uniquement les réseaux d'un type spécifique

Types publics

@210

 @210

@211

 @211

Attributs publics

Masqué

bool Hidden

Indique si le réseau est masqué ou non.

NetworkId

int64_t NetworkId

ID de réseau attribué au réseau par l'appareil (-1 si non spécifié).

NetworkType

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

Type de réseau.

ThreadChannel

uint8_t ThreadChannel

Canal actuel (actuellement [11..26]) sur lequel fonctionne le réseau Thread, ou kThreadChannel_NotSpecified.

ThreadExtendedPANId

uint8_t * ThreadExtendedPANId

ID de PAN étendu Thread.

Il s'agit d'un tableau de 8 éléments alloué de manière dynamique, appartenant à la classe. Détruite au niveau de toute condition qui appelle Clear() sur l'objet.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

Clé réseau maître du thread , ou valeur NULL si elle n'est pas spécifiée.

Il s'agit d'un tableau d'octets arbitraires alloué de manière dynamique, appartenant à la classe "Destroyed" sur toute condition qui appelle Clear() sur l'objet.

ThreadNetworkName

char * ThreadNetworkName

Nom du réseau Thread, ou valeur NULL si non spécifié.

Il s'agit d'une chaîne C attribuée de manière dynamique et interrompue par NUL, qui appartient à la classe. Détruite au niveau de toute condition qui appelle Clear() sur l'objet.

ThreadPANId

uint32_t ThreadPANId

L'ID du PAN du thread 16 bits ou kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

Clé pré-partagée du thread pour le commissaire, ou NULL si elle n'est pas spécifiée.

Il s'agit d'un tableau d'octets arbitraires alloué de manière dynamique, appartenant à la classe "Destroyed" sur toute condition qui appelle Clear() sur l'objet.

WiFiKey

uint8_t * WiFiKey

Clé Wi-Fi, ou valeur "NULL" si non spécifiée.

Il s'agit d'un tableau alloué dynamiquement d'octets arbitraires appartenant à la classe, dont la longueur est spécifiée par WiFiKeyLen. Détruite au niveau de toute condition qui appelle Clear() sur l'objet.

WiFiKeyLen

uint32_t WiFiKeyLen

Longueur en octets de la clé Wi-Fi.

WiFiMode

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

Mode de fonctionnement du réseau Wi-Fi.

WiFiRole

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

Rôle joué par l'appareil sur le réseau Wi-Fi.

WiFiSSID

char * WiFiSSID

SSID Wi-Fi, ou valeur "NULL" si aucun paramètre n'est spécifié.

Il s'agit d'une chaîne C attribuée de manière dynamique et interrompue par NUL, qui appartient à la classe. Détruite au niveau de toute condition qui appelle Clear() sur l'objet.

WiFiSecurityType

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

Type de sécurité Wi-Fi.

WirelessSignalStrength

int16_t WirelessSignalStrength

Intensité du signal du réseau, ou INT16_MIN si non disponible/applicable.

Fonctions publiques

Effacer

void Clear(
  void
)

Rétablir les valeurs par défaut et libérer toutes les valeurs de cet objet NetworkInfo

CopyTo

WEAVE_ERROR CopyTo(
  NetworkInfo & dest
)

Remplacez le contenu de cet objet NetworkInfo par la copie profonde du contenu de l'argument.

Détails
Paramètres
[in] dest
Objet NetworkInfo contenant des informations à copier dans cet objet.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NOT_IMPLEMENTED
Lorsque la plate-forme n'est pas compatible avec malloc ou Free.
WEAVE_ERROR_NO_MEMORY
En cas d'échec d'allocation de mémoire

Decode

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

Désérialiser le contenu de cet objet NetworkInfo à partir de sa représentation TLV

Détails
Paramètres
[in] reader
TLVReader placé sur l'élément de structure contenant des informations sur le réseau.
Renvoie
WEAVE_NO_ERROR En cas de réussite, WEAVE_ERROR_INVALID_TLV_ELEMENT sur tout élément non conforme au profil de provisionnement du réseau, toute erreur de lecteur TLV en cas de décodage incorrect des éléments.

Encoder

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

Sérialisez le contenu de cet objet NetworkInfo dans sa représentation TLV.

Détails
Paramètres
[in] writer
TLVWriter positionné à l'emplacement vers lequel l'objet sera sérialisé. La fonction émet un tag anonyme pour cet objet lorsque celui-ci fait partie d'un tableau d'éléments ou une balise de profil pour kTag_NetworkInformation lorsqu'elle est émise en tant qu'élément autonome.
[in] encodeFlags
Indicateurs déterminant si les identifiants de NetworkInfo doivent être sérialisés.
Renvoie
WEAVE_NO_ERROR En cas de réussite, WEAVE_ERROR_INVALID_TLV_ELEMENT sur tout élément non conforme au profil de provisionnement du réseau, toute erreur de lecteur TLV en cas de décodage incorrect des éléments.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Fusionnez le contenu de cet objet NetworkInfo avec la copie profonde du contenu de l'argument.

Toutes les valeurs autres que celles par défaut de l'objet argument remplacent les valeurs de cet objet.

Détails
Paramètres
[in] dest
Objet NetworkInfo contenant des informations à copier dans cet objet.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NOT_IMPLEMENTED
Lorsque la plate-forme n'est pas compatible avec malloc ou Free.
WEAVE_ERROR_NO_MEMORY
En cas d'échec d'allocation de mémoire

NetworkInfo

 NetworkInfo()

~NetworkInfo

 ~NetworkInfo()

Fonctions statiques publiques

DecodeList

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

Désérialiser une liste d'éléments NetworkInfo à partir de sa représentation TLV

Détails
Paramètres
[in] reader
TLVReader positionné au début du tableau. En cas de retour réussi, le rédacteur est positionné après la fin du tableau.
[in,out] elemCount
En entrée, nombre maximal d'éléments à désérialiser à partir du lecteur TLVReader. En sortie, nombre d'éléments réellement désérialisés à partir du flux.
[in,out] elemArray
Référence au tableau d'éléments NetworkInfo qui contiendra les objets NetworkInfo désérialisés. Lorsque le tableau présente une valeur NULL, il est alloué en interne par la fonction ci-dessous. Sinon, il est supposé que le tableau alloué en externe contient au moins des objets elemCount.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
WEAVE_ERROR_NOT_IMPLEMENTED
sur les plates-formes non compatibles avec la gestion dynamique de la mémoire.
other
Erreurs renvoyées par la fonction Decode()

EncodeList

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

Sérialiser un tableau d'objets NetworkInfo dans sa représentation TLV

Le tableau sera un élément anonyme dans la représentation TLV.

Détails
Paramètres
[in] writer
TLVWriter correctement positionné
[in] elemCount
Nombre d'éléments dans elemArray.
[in] elemArray
Tableau des objets NetworkInfo à sérialiser.
[in] encodeFlags
Indicateurs déterminant si les identifiants de NetworkInfo doivent être sérialisés.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
Other
Erreurs renvoyées par la fonction 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
)

Sérialiser un tableau d'objets NetworkInfo dans sa représentation TLV en sélectionnant uniquement les réseaux d'un type spécifique

Détails
Paramètres
[in] writer
TLVWriter correctement positionné
[in] arrayLen
Nombre d'éléments dans elemArray.
[in] elemArray
Tableau des objets NetworkInfo à sérialiser.
[in] networkType
Type d'objets NetworkInfo à sérialiser
[in] encodeFlags
Indicateurs déterminant si les identifiants de NetworkInfo doivent être sérialisés.
[out] encodedElemCount
Nombre d'éléments réellement sérialisés.
Valeurs renvoyées
WEAVE_NO_ERROR
En cas de réussite.
Other
Erreurs renvoyées par la fonction Encode()