Projet Bee-Honey't  0.2
BTS SNIR LaSalle Avignon 2020
configuration.cpp
Aller à la documentation de ce fichier.
1 #include "configuration.h"
2 
16 Configuration::Configuration(QObject *parent) : QObject(parent), settings(QDir::currentPath() + "/configuration.ini", QSettings::IniFormat)
17 {
18  qDebug() << Q_FUNC_INFO;
19  charger();
20 }
21 
26 {
27  sauvegarder();
28  qDebug() << Q_FUNC_INFO;
29 }
30 
37 {
38  this->configurationTTN = configurationTTN;
39 }
40 
49 void Configuration::setConfigurationTTN(QString hostname, int port, QString username, QString password)
50 {
51  configurationTTN.hostname = hostname;
52  configurationTTN.port = port;
53  configurationTTN.username = username;
54  configurationTTN.password = password;
56 }
57 
64 {
65  return configurationTTN;
66 }
67 
73 void Configuration::setRuches(QVector<Ruche> ruches)
74 {
75  this->ruches = ruches;
76 }
77 
83 QVector<Ruche> Configuration::getRuches() const
84 {
85  return ruches;
86 }
87 
94 QString Configuration::getTopicRuche(QString ruche)
95 {
96  ruche = ruche.replace(" ","");
97  ruche = ruche + "/TopicTTN";
98  return settings.value(ruche).toString();
99 }
104 {
105  qDebug() << Q_FUNC_INFO << settings.allKeys() << settings.childKeys();
107  chargerRuches();
108 }
109 
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 }
124 
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 }
147 
152 {
153  qDebug() << Q_FUNC_INFO;
156 }
157 
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 }
170 
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 }
void sauvegarderRuches()
Méthode pour sauvegarder les ruches dans le fichier INI.
~Configuration()
Destructeur de la classe Configuration.
QVector< Ruche > getRuches() const
Méthode pour récupérer une ruche.
void sauvegarder()
Méthode pour sauvegarder la configuration TTN et les ruches dans le fichier INI.
void sauvegarderConfigurationTTN()
Méthode pour sauvegarder la configuration TTN dans le fichier INI.
Configuration(QObject *parent=nullptr)
Constructeur de la classe Configuration.
ConfigurationTTN getConfigurationTTN() const
Méthode pour récupérer la configuration TTN.
void setRuches(QVector< Ruche > ruches)
Méthode pour définir une ruche.
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
void charger()
Méthode pour charger la configuration TTN et les ruches depuis le fichier INI.
void setConfigurationTTN(ConfigurationTTN configurationTTN)
Méthode pour définir une configuration TTN.
Déclaration de la classe Configuration.
QString username
le compte d&#39;accès TTN
Definition: configuration.h:26
void chargerConfigurationTTN()
Méthode pour charger la configuration TTN.
QString getTopicRuche(QString ruche)
Méthode qui retourne le topic TTN d&#39;une ruche.
QString latitude
la latitude
Definition: ruche.h:23
QString password
le mote de passe du compte TTN
Definition: configuration.h:27
Structure qui définit la configuration MQTT pour se connecter au réseau TheThingsNetwork (TTN) ...
Definition: configuration.h:22
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
void chargerRuches()
Méthode pour charger les ruches depuis le fichier INI.
QString nom
le nom de la ruche
Definition: ruche.h:19
QString hostname
le nom du serveur TTN
Definition: configuration.h:24
QVector< Ruche > ruches
les ruches
Definition: configuration.h:57
QString longitude
la longitude
Definition: ruche.h:24