Projet Bee-Honey't  0.2
BTS SNIR LaSalle Avignon 2020
Référence de la classe Configuration

Gère le fichier INI. Plus de détails...

#include <configuration.h>

Graphe de collaboration de Configuration:
Collaboration graph

Connecteurs publics

void setConfigurationTTN (ConfigurationTTN configurationTTN)
 Méthode pour définir une configuration TTN. Plus de détails...
 
void setConfigurationTTN (QString hostname, int port, QString username, QString password)
 Méthode pour définir une configuration TTN. Plus de détails...
 
void setRuches (QVector< Ruche > ruches)
 Méthode pour définir une ruche. Plus de détails...
 

Fonctions membres publiques

 Configuration (QObject *parent=nullptr)
 Constructeur de la classe Configuration. Plus de détails...
 
ConfigurationTTN getConfigurationTTN () const
 Méthode pour récupérer la configuration TTN. Plus de détails...
 
QVector< RuchegetRuches () const
 Méthode pour récupérer une ruche. Plus de détails...
 
QString getTopicRuche (QString ruche)
 Méthode qui retourne le topic TTN d'une ruche. Plus de détails...
 
 ~Configuration ()
 Destructeur de la classe Configuration. Plus de détails...
 

Fonctions membres privées

void charger ()
 Méthode pour charger la configuration TTN et les ruches depuis le fichier INI. Plus de détails...
 
void chargerConfigurationTTN ()
 Méthode pour charger la configuration TTN. Plus de détails...
 
void chargerRuches ()
 Méthode pour charger les ruches depuis le fichier INI. Plus de détails...
 
void sauvegarder ()
 Méthode pour sauvegarder la configuration TTN et les ruches dans le fichier INI. Plus de détails...
 
void sauvegarderConfigurationTTN ()
 Méthode pour sauvegarder la configuration TTN dans le fichier INI. Plus de détails...
 
void sauvegarderRuches ()
 Méthode pour sauvegarder les ruches dans le fichier INI. Plus de détails...
 

Attributs privés

ConfigurationTTN configurationTTN
 configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN) Plus de détails...
 
QVector< Rucheruches
 les ruches Plus de détails...
 
QSettings settings
 objet pour gérer un fichier .ini Plus de détails...
 

Description détaillée

Gère le fichier INI.

Auteur
ACKERMANN Théo
Version
0.2

Définition à la ligne 37 du fichier configuration.h.

Documentation des constructeurs et destructeur

◆ Configuration()

Configuration::Configuration ( QObject parent = nullptr)

Constructeur de la classe Configuration.

Paramètres
parent
settings

Définition à la ligne 16 du fichier configuration.cpp.

Références charger().

16  : QObject(parent), settings(QDir::currentPath() + "/configuration.ini", QSettings::IniFormat)
17 {
18  qDebug() << Q_FUNC_INFO;
19  charger();
20 }
void charger()
Méthode pour charger la configuration TTN et les ruches depuis le fichier INI.
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55

◆ ~Configuration()

Configuration::~Configuration ( )

Destructeur de la classe Configuration.

Définition à la ligne 25 du fichier configuration.cpp.

Références sauvegarder().

26 {
27  sauvegarder();
28  qDebug() << Q_FUNC_INFO;
29 }
void sauvegarder()
Méthode pour sauvegarder la configuration TTN et les ruches dans le fichier INI.

Documentation des fonctions membres

◆ charger()

void Configuration::charger ( )
private

Méthode pour charger la configuration TTN et les ruches depuis le fichier INI.

Définition à la ligne 103 du fichier configuration.cpp.

Références chargerConfigurationTTN(), chargerRuches(), et settings.

Référencé par Configuration().

104 {
105  qDebug() << Q_FUNC_INFO << settings.allKeys() << settings.childKeys();
107  chargerRuches();
108 }
void chargerConfigurationTTN()
Méthode pour charger la configuration TTN.
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55
void chargerRuches()
Méthode pour charger les ruches depuis le fichier INI.

◆ chargerConfigurationTTN()

void Configuration::chargerConfigurationTTN ( )
private

Méthode pour charger la configuration TTN.

Définition à la ligne 113 du fichier configuration.cpp.

Références configurationTTN, ConfigurationTTN::hostname, ConfigurationTTN::password, ConfigurationTTN::port, settings, et ConfigurationTTN::username.

Référencé par charger().

114 {
115  settings.beginGroup("TTN");
116  configurationTTN.hostname = settings.value("Hostname").toString();
117  configurationTTN.port = settings.value("Port").toInt();
118  configurationTTN.username = settings.value("Username").toString();
119  configurationTTN.password = settings.value("Password").toString();
120  settings.endGroup();
121  settings.sync();
123 }
QString username
le compte d&#39;accès TTN
Definition: configuration.h:26
QString password
le mote de passe du compte TTN
Definition: configuration.h:27
int port
le numero de port TTN
Definition: configuration.h:25
ConfigurationTTN configurationTTN
configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)
Definition: configuration.h:56
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55
QString hostname
le nom du serveur TTN
Definition: configuration.h:24

◆ chargerRuches()

void Configuration::chargerRuches ( )
private

Méthode pour charger les ruches depuis le fichier INI.

Définition à la ligne 128 du fichier configuration.cpp.

Références Ruche::adresse, Ruche::latitude, Ruche::longitude, Ruche::miseEnService, Ruche::nom, ruches, settings, et Ruche::topicTTN.

Référencé par charger().

129 {
130  int nbRuches = settings.value("NbRuches", 0).toInt();
131  qDebug() << Q_FUNC_INFO << nbRuches;
132  for(int i = 0; i < nbRuches; i++)
133  {
134  Ruche ruche;
135  QString nomRuche = "Ruche" + QString::number(i+1);
136  settings.beginGroup(nomRuche);
137  ruche.nom = settings.value("Nom").toString();
138  ruche.topicTTN = settings.value("TopicTTN").toString();
139  ruche.miseEnService = settings.value("MiseEnService").toString();
140  ruche.adresse = settings.value("Adresse").toString();
141  ruche.latitude = settings.value("Latitude").toString();
142  ruche.longitude = settings.value("Longitude").toString();
143  settings.endGroup();
144  ruches.push_back(ruche);
145  }
146 }
QString miseEnService
la date de mise en service
Definition: ruche.h:21
QString adresse
l&#39;adresse
Definition: ruche.h:22
QString topicTTN
le topic TTN associé à la ruche
Definition: ruche.h:20
Structure qui définit une ruche.
Definition: ruche.h:17
QString latitude
la latitude
Definition: ruche.h:23
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55
QString nom
le nom de la ruche
Definition: ruche.h:19
QVector< Ruche > ruches
les ruches
Definition: configuration.h:57
QString longitude
la longitude
Definition: ruche.h:24

◆ getConfigurationTTN()

ConfigurationTTN Configuration::getConfigurationTTN ( ) const

Méthode pour récupérer la configuration TTN.

Renvoie
ConfigurationTTN

Définition à la ligne 63 du fichier configuration.cpp.

Références configurationTTN.

Référencé par Ihm::chargerConfiguration(), et Ihm::demarrerTTN().

64 {
65  return configurationTTN;
66 }
ConfigurationTTN configurationTTN
configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)
Definition: configuration.h:56

◆ getRuches()

QVector< Ruche > Configuration::getRuches ( ) const

Méthode pour récupérer une ruche.

Renvoie
QVector<Ruche>

Définition à la ligne 83 du fichier configuration.cpp.

Références ruches.

Référencé par Ihm::chargerConfiguration().

84 {
85  return ruches;
86 }
QVector< Ruche > ruches
les ruches
Definition: configuration.h:57

◆ getTopicRuche()

QString Configuration::getTopicRuche ( QString  ruche)

Méthode qui retourne le topic TTN d'une ruche.

Paramètres
ruche
Renvoie
QString

Définition à la ligne 94 du fichier configuration.cpp.

Références settings.

95 {
96  ruche = ruche.replace(" ","");
97  ruche = ruche + "/TopicTTN";
98  return settings.value(ruche).toString();
99 }
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55

◆ sauvegarder()

void Configuration::sauvegarder ( )
private

Méthode pour sauvegarder la configuration TTN et les ruches dans le fichier INI.

Définition à la ligne 151 du fichier configuration.cpp.

Références sauvegarderConfigurationTTN(), et sauvegarderRuches().

Référencé par ~Configuration().

152 {
153  qDebug() << Q_FUNC_INFO;
156 }
void sauvegarderRuches()
Méthode pour sauvegarder les ruches dans le fichier INI.
void sauvegarderConfigurationTTN()
Méthode pour sauvegarder la configuration TTN dans le fichier INI.

◆ sauvegarderConfigurationTTN()

void Configuration::sauvegarderConfigurationTTN ( )
private

Méthode pour sauvegarder la configuration TTN dans le fichier INI.

Définition à la ligne 161 du fichier configuration.cpp.

Références configurationTTN, ConfigurationTTN::hostname, ConfigurationTTN::password, ConfigurationTTN::port, settings, et ConfigurationTTN::username.

Référencé par sauvegarder().

162 {
163  settings.beginGroup("TTN");
164  settings.setValue("Hostname", configurationTTN.hostname);
165  settings.setValue("Port", configurationTTN.port);
166  settings.setValue("Username", configurationTTN.username);
167  settings.setValue("Password", configurationTTN.password);
168  settings.endGroup();
169 }
QString username
le compte d&#39;accès TTN
Definition: configuration.h:26
QString password
le mote de passe du compte TTN
Definition: configuration.h:27
int port
le numero de port TTN
Definition: configuration.h:25
ConfigurationTTN configurationTTN
configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)
Definition: configuration.h:56
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55
QString hostname
le nom du serveur TTN
Definition: configuration.h:24

◆ sauvegarderRuches()

void Configuration::sauvegarderRuches ( )
private

Méthode pour sauvegarder les ruches dans le fichier INI.

Définition à la ligne 174 du fichier configuration.cpp.

Références ruches, et settings.

Référencé par sauvegarder().

175 {
176  qDebug() << Q_FUNC_INFO << ruches.size();
177  for(int i = 0; i < ruches.size(); i++)
178  {
179  QString nomRuche = "Ruche" + QString::number(i+1);
180  settings.beginGroup(nomRuche);
181  settings.setValue("Nom", ruches[i].nom);
182  settings.setValue("TopicTTN", ruches[i].topicTTN);
183  settings.setValue("MiseEnService", ruches[i].miseEnService);
184  settings.setValue("Adresse", ruches[i].adresse);
185  settings.setValue("Latitude", ruches[i].latitude);
186  settings.setValue("Longitude", ruches[i].longitude);
187  settings.endGroup();
188  }
189  settings.setValue("NbRuches", ruches.size());
190 }
QSettings settings
objet pour gérer un fichier .ini
Definition: configuration.h:55
QVector< Ruche > ruches
les ruches
Definition: configuration.h:57

◆ setConfigurationTTN [1/2]

void Configuration::setConfigurationTTN ( ConfigurationTTN  configurationTTN)
slot

Méthode pour définir une configuration TTN.

Paramètres
configurationTTN

Définition à la ligne 36 du fichier configuration.cpp.

Références configurationTTN.

37 {
38  this->configurationTTN = configurationTTN;
39 }
ConfigurationTTN configurationTTN
configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)
Definition: configuration.h:56

◆ setConfigurationTTN [2/2]

void Configuration::setConfigurationTTN ( QString  hostname,
int  port,
QString  username,
QString  password 
)
slot

Méthode pour définir une configuration TTN.

Paramètres
hostname
port
username
password

Définition à la ligne 49 du fichier configuration.cpp.

Références configurationTTN, ConfigurationTTN::hostname, ConfigurationTTN::password, ConfigurationTTN::port, et ConfigurationTTN::username.

50 {
51  configurationTTN.hostname = hostname;
52  configurationTTN.port = port;
53  configurationTTN.username = username;
54  configurationTTN.password = password;
56 }
QString username
le compte d&#39;accès TTN
Definition: configuration.h:26
QString password
le mote de passe du compte TTN
Definition: configuration.h:27
int port
le numero de port TTN
Definition: configuration.h:25
ConfigurationTTN configurationTTN
configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)
Definition: configuration.h:56
QString hostname
le nom du serveur TTN
Definition: configuration.h:24

◆ setRuches

void Configuration::setRuches ( QVector< Ruche ruches)
slot

Méthode pour définir une ruche.

Paramètres
ruches

Définition à la ligne 73 du fichier configuration.cpp.

Références ruches.

Référencé par Ihm::ajouterNouvelleRuche(), et Ihm::on_pushButton_supprimer_ruche_clicked().

74 {
75  this->ruches = ruches;
76 }
QVector< Ruche > ruches
les ruches
Definition: configuration.h:57

Documentation des données membres

◆ configurationTTN

ConfigurationTTN Configuration::configurationTTN
private

configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN)

Définition à la ligne 56 du fichier configuration.h.

Référencé par chargerConfigurationTTN(), getConfigurationTTN(), sauvegarderConfigurationTTN(), et setConfigurationTTN().

◆ ruches

QVector<Ruche> Configuration::ruches
private

les ruches

Définition à la ligne 57 du fichier configuration.h.

Référencé par chargerRuches(), getRuches(), sauvegarderRuches(), et setRuches().

◆ settings

QSettings Configuration::settings
private

objet pour gérer un fichier .ini

Définition à la ligne 55 du fichier configuration.h.

Référencé par charger(), chargerConfigurationTTN(), chargerRuches(), getTopicRuche(), sauvegarderConfigurationTTN(), et sauvegarderRuches().


La documentation de cette classe a été générée à partir des fichiers suivants :