Projet e-stock  0.2
BTS SNIR LaSalle Avignon 2020
Armoire.cpp
Aller à la documentation de ce fichier.
1 #include "Armoire.h"
2 #include "Bdd.h"
3 #include <QNetworkInterface>
4 
22 Armoire::Armoire(QObject *parent) : QObject(parent)
23 {
24  #ifdef DEBUG_ARMOIRE
25  qDebug() << Q_FUNC_INFO;
26  #endif
30 }
31 
37 {
39  #ifdef DEBUG_ARMOIRE
40  qDebug() << Q_FUNC_INFO;
41  #endif
42 }
43 
50 {
51  QString requeteBDD;
52 
53  if(!idArmoire.isEmpty()) // par id
54  {
55  requeteBDD = "SELECT * from Armoire where idArmoire = '" + idArmoire + "'";
56  QStringList donnees;
57  bdd->recuperer(requeteBDD, donnees);
58 
59  #ifdef DEBUG_ARMOIRE
60  qDebug() << Q_FUNC_INFO << donnees;
61  #endif
62 
63  if(donnees.size() > 0)
64  {
65  this->idArmoire = donnees.at(TABLE_ARMOIRE_ID_ARMOIRE);
66  nom = donnees.at(TABLE_ARMOIRE_NOM);
68  nbCasiers = donnees.at(TABLE_ARMOIRE_NB_CASIERS);
69  }
70  }
71 }
72 
79 {
80  QStringList informations;
81 
82  informations << idArmoire << nom << description << nbCasiers << adresseIPArmoire;
83 
84  emit informationsArmoire(informations);
85 
86  return informations;
87 }
88 
94 QString Armoire::getIdArmoire() const
95 {
96  return idArmoire;
97 }
98 
105 QString Armoire::getNom() const
106 {
107  return nom;
108 }
109 
116 QString Armoire::getDescripton() const
117 {
118  return description;
119 }
120 
127 QString Armoire::getNbCasiers() const
128 {
129  return nbCasiers;
130 }
131 
139 {
140  return adresseIPArmoire;
141 }
142 
150 {
151  QStringList adresses;
152  foreach(QHostAddress adresse, QNetworkInterface::allAddresses())
153  {
154  // Filtre les adresses localhost ...
155  if(adresse != QHostAddress::LocalHostIPv6
156  && adresse != QHostAddress::LocalHost
157  // ... APIPA ...
158  && !adresse.isInSubnet(QHostAddress::parseSubnet("169.254.0.0/16"))
159  // ... Lien Local IPv6
160  && !adresse.isInSubnet(QHostAddress::parseSubnet("FE80::/64")))
161  {
162  qDebug() << Q_FUNC_INFO << adresse.toString();
163  adresses << adresse.toString();
164  }
165  }
166 
167  foreach(QString adresse, adresses)
168  {
169  #ifdef DEBUG_ARMOIRE
170  qDebug() << Q_FUNC_INFO << adresse;
171  #endif
172  if(adresse.contains("192."))
173  return adresse;
174  }
175 
176  /*if(adresses.count() > 0)
177  {
178  return adresses.at(0);
179  }*/
180 
181  return QString("");
182 }
QString idArmoire
l&#39;id de l&#39;armoire
Definition: Armoire.h:66
static void detruireInstance()
Définition méthode detruireInstance()
Definition: Bdd.cpp:73
QString getNbCasiers() const
Définition de la méthode getNbCasiers.
Definition: Armoire.cpp:127
QString description
la description de l&#39;armoire
Definition: Armoire.h:68
QString getDescripton() const
Définition de la méthode getDescripton.
Definition: Armoire.cpp:116
QStringList getInformations()
Définition de la méthode getInformations.
Definition: Armoire.cpp:78
void recupererArmoire(QString idArmoire="1")
Définition de la méthode recupererArmoire.
Definition: Armoire.cpp:49
void informationsArmoire(QStringList)
QString getNom() const
Définition de la méthode getNom.
Definition: Armoire.cpp:105
QString getIdArmoire() const
Définition de la méthode getIdArmoire.
Definition: Armoire.cpp:94
Déclaration de la classe Armoire.
Déclaration de la classe Bdd.
QString adresseIPArmoire
l&#39;adresse IP de la Raspberry Pi
Definition: Armoire.h:70
bool recuperer(QString requete, QString &donnees)
exécute une requête SQL de type SELECT et récupère un champ d&#39;un seul enregistrement ...
Definition: Bdd.cpp:187
QString nbCasiers
le nombre de casiers dans l&#39;armoire
Definition: Armoire.h:69
La classe QObject est la classe de base de tous les objets Qt. Elle permet à ces objets Qt de dispose...
QString lireAdresseIP()
Définition de la méthode lireAdresseIP.
Definition: Armoire.cpp:149
Armoire(QObject *parent=nullptr)
Définition du constructeur de la classe Armoire.
Definition: Armoire.cpp:22
static Bdd * getInstance()
Définition méthode getInstance()
Definition: Bdd.cpp:53
QString nom
le nom de l&#39;armoire
Definition: Armoire.h:67
QString getAdresseIPArmoire() const
Définition de la méthode getAdresseIPArmoire.
Definition: Armoire.cpp:138
~Armoire()
Définition du destructeur de la classe Armoire.
Definition: Armoire.cpp:36
Bdd * bdd
association d&#39;un objet Bdd (accès à la base de données)
Definition: Armoire.h:65