5eb6ff808bae0bc40368b308c91f4345d14f14d3
[marketstoday] / src / cpp / connectionutility.h
1 /*
2 @version: 0.4
3 @author: Sudheer K. <scifi1947 at gmail.com>
4 @license: GNU General Public License
5 */
6
7 #ifndef CONECTIONUTILITY_H
8 #define CONECTIONUTILITY_H
9
10 #include <QDebug>
11
12 #include <QNetworkConfigurationManager>
13 #include <QNetworkConfiguration>
14 #include "logutility.h"
15
16 class ConnectionUtility: public QObject
17 {
18     Q_OBJECT
19
20 private:
21     LogUtility *logUtility;
22
23 public:
24     ConnectionUtility(QObject *parent = 0) :
25         QObject(parent){
26         logUtility = new LogUtility(this);
27     }
28
29     ~ConnectionUtility(){
30         qDebug() << "Markets Today: In ConnectionUtility object destructor..";
31     }
32
33 signals:
34     void connectionsAvailable();
35
36 public slots:
37     void checkConnectionStatus(){
38         QNetworkConfigurationManager manager;
39         logUtility->logMessage("Verifying connection status");
40         if (manager.isOnline()) {
41             logUtility->logMessage("A network session is already in progress, OK to update");
42             emit connectionsAvailable();
43         }
44         else{
45             logUtility->logMessage("No active network sessions found, searching for available networks");
46             manager.updateConfigurations();
47         }
48     }
49
50     void connectionListUpdated(){
51         QNetworkConfigurationManager manager;
52
53         //NOT WORKING
54         QList<QNetworkConfiguration> list = manager.allConfigurations(QNetworkConfiguration::Discovered);
55
56         logUtility->logMessage("Connection list updated");
57
58         bool conxnAvailable = false;
59
60         for (int i = 0 ; i < list.count() ; ++i)
61         {
62             qDebug() << "Name: " << list[i].name() << "Type: " << list[i].bearerTypeName() << "State: " << list[i].state() << "Identifier: " << list[i].identifier();
63
64             if (list[i].bearerType() == QNetworkConfiguration::BearerWLAN && list[i].type() == QNetworkConfiguration::InternetAccessPoint) {
65                 conxnAvailable = true;
66                 logUtility->logMessage("Found network "+list[i].name());
67                 break;
68             }
69
70             if (conxnAvailable) emit connectionsAvailable();
71         }
72     }
73 };
74
75 #endif // CONECTIONUTILITY_H