71e027acd192eadd494a8fce436e37e2e26fd68b
[apps/thermostat-demo.git] / webdata.h
1 #ifndef WEBDATA_H
2 #define WEBDATA_H
4 #include <QObject>
5 #include <QtNetwork>
6 #include <QUrl>
8 class GlobalSettings;
9 class ForecastData;
10 class WeatherData;
11 class WebDataEngine;
13 class WebData : public QObject
14 {
15     Q_OBJECT
16 public:
17     enum ProxyState { ExternalTI, InternalTI, Configured };
19     explicit WebData(QObject *parent = 0);
21     void changeCity(QString);
22     void loadLocalData();
23     QString licenseString();
25 signals:
26     void dataAvailable(WeatherData* weatherData);
27     void networkTimeout();
28     
29 public slots:
30     void configureProxy();
32     void processDataAvailable(WeatherData* weatherData);
33     void processNetworkTimeout();
35 private:
37     void configureNoProxy();
38     void configureTIProxy();
39     void configureSetProxy();
41     GlobalSettings *m_globalSettings;
42     QNetworkAccessManager *manager;
43     WebDataEngine* webDataEngine;
45     ProxyState m_proxyState;
46 };
48 #endif // WEBDATA_H