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

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

Classe utilitaire destinée à la sérialisation et à la désérialisation des 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 d'informations de provisionnement réseau (intermédiaire entre le stockage final des informations et la charge utile du réseau) et utilise la gestion dynamique de la mémoire pour fournir à l'objet d'exécution flexible qui en résulte. Par conséquent, cette classe ne convient pas aux environnements les plus limités, mais peut être utilisée sur des systèmes plus importants.

Constructeurs et destructeurs

NetworkInfo()
~NetworkInfo()

Types publics

@210 enum
@211 enum

Attributs publics

Hidden
bool
Indique si le réseau est masqué ou non.
NetworkId
int64_t
ID de réseau attribué par l'appareil au réseau (-1 s'il n'est pas 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 du PAN étendu Thread.
ThreadNetworkKey
uint8_t *
Clé du réseau maître Thread , ou NULL si aucune valeur n'est spécifiée.
ThreadNetworkName
char *
Nom du réseau Thread, ou valeur NULL si non spécifié.
ThreadPANId
uint32_t
ID du PAN Thread 16 bits, ou kThreadPANId_NotSpecified.
ThreadPSKc
uint8_t *
Clé pré-partagée Thread pour le commissaire, ou NULL si elle n'est pas spécifiée.
WiFiKey
uint8_t *
Clé Wi-Fi, ou valeur NULL si non spécifiée.
WiFiKeyLen
uint32_t
Longueur de la clé Wi-Fi, en octets.
WiFiMode
Mode de fonctionnement du réseau Wi-Fi.
WiFiRole
Rôle de l'appareil sur le réseau Wi-Fi.
WiFiSSID
char *
SSID Wi-Fi, ou NULL si non 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 la valeur par défaut et libérer toutes les valeurs dans 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érialisez 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)
Fusionne 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érialisez 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 ne sélectionnant que 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é par l'appareil au réseau (-1 s'il n'est pas 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 du PAN étendu Thread.

Il s'agit d'un tableau de 8 octectes alloué dynamiquement, appartenant à la classe. Elles sont détruites lors de toute condition qui appelle Clear() sur l'objet.

ThreadNetworkKey

uint8_t * ThreadNetworkKey

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

Il s'agit d'un tableau d'octets arbitraires alloués dynamiquement, appartenant à la classe "Destroyed" (Détruite) 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 allouée de manière dynamique et se terminant par NUL, appartenant à la classe. Elles sont détruites lors de toute condition qui appelle Clear() sur l'objet.

ThreadPANId

uint32_t ThreadPANId

ID du PAN Thread 16 bits, ou kThreadPANId_NotSpecified.

ThreadPSKc

uint8_t * ThreadPSKc

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

Il s'agit d'un tableau d'octets arbitraires alloués dynamiquement, appartenant à la classe "Destroyed" (Détruite) 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 d'octets arbitraires alloués dynamiquement, appartenant à la classe, dont la longueur est spécifiée par WiFiKeyLen. Elles sont détruites lors de toute condition qui appelle Clear() sur l'objet.

WiFiKeyLen

uint32_t WiFiKeyLen

Longueur de la clé Wi-Fi, en octets.

WiFiMode

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

Mode de fonctionnement du réseau Wi-Fi.

WiFiRole

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

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

WiFiSSID

char * WiFiSSID

SSID Wi-Fi, ou NULL si non spécifié.

Il s'agit d'une chaîne C allouée de manière dynamique et se terminant par NUL, appartenant à la classe. Elles sont détruites lors 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 la valeur par défaut et libérer toutes les valeurs dans 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 les informations à copier dans cet objet.
Valeurs de retour
WEAVE_NO_ERROR
Pour la 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érialisez 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 les informations sur le réseau.
Renvoie
WEAVE_NO_ERROR En cas de réussite, WEAVE_ERROR_INVALID_TLV_ELEMENT s'affiche sur tout élément non conforme au profil de provisionnement réseau, ou toute erreur de lecteur TLV liée à un décodage incorrect des éléments.

Encode

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 est positionné à l'endroit où 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 d'une balise de profil pour kTag_NetworkInformation lorsqu'il est émis en tant qu'élément autonome.
[in] encodeFlags
Indicateurs contrôlant si les identifiants de NetworkInfo doivent être sérialisés.
Renvoie
WEAVE_NO_ERROR En cas de réussite, WEAVE_ERROR_INVALID_TLV_ELEMENT s'affiche sur tout élément non conforme au profil de provisionnement réseau, ou toute erreur de lecteur TLV liée à un décodage incorrect des éléments.

MergeTo

WEAVE_ERROR MergeTo(
  NetworkInfo & dest
)

Fusionne 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 les informations à copier dans cet objet.
Valeurs de retour
WEAVE_NO_ERROR
Pour la 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érialisez 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 depuis 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 est 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 de retour
WEAVE_NO_ERROR
Pour la 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 contrôlant si les identifiants de NetworkInfo doivent être sérialisés.
Valeurs de retour
WEAVE_NO_ERROR
Pour la 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 ne sélectionnant que 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 des objets NetworkInfo à sérialiser.
[in] encodeFlags
Indicateurs contrôlant si les identifiants de NetworkInfo doivent être sérialisés.
[out] encodedElemCount
Nombre d'éléments réellement sérialisés.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
Other
Erreurs renvoyées par la fonction Encode().