Fixed searchclients to handle new Google URLs correctly; added GUI
[movie-schedule] / src / utils / connectivitymanager.h
1 // Copyright 2010 Jochen Becher
2 //
3 // This file is part of MovieSchedule.
4 //
5 // MovieSchedule is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // MovieSchedule is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with MovieSchedule.  If not, see <http://www.gnu.org/licenses/>.
17
18 #ifndef CONNECTIVITYMANAGER_H
19 #define CONNECTIVITYMANAGER_H
20
21 #include <QObject>
22 #include <QDBusConnection>
23
24 class QDBusMessage;
25 class QDBusInterface;
26
27 class ConnectivityManager : public QObject
28 {
29     Q_OBJECT
30 public:
31     explicit ConnectivityManager(QObject *parent = 0);
32     ~ConnectivityManager();
33
34 public:
35     Q_SLOT void Connect();
36     Q_SLOT void Disconnect();
37     Q_SLOT void UpdateConnectionState();
38
39 public:
40     Q_SIGNAL void Connected();
41     Q_SIGNAL void Disconnected();
42     Q_SIGNAL void Error();
43
44 private:
45     Q_SLOT void StatisticsSentResult(const QDBusMessage& rep);
46     Q_SLOT void ChangeState(const QDBusMessage& rep);
47
48 private:
49     QDBusConnection _dbus_connection;
50     QDBusInterface *_interface;
51 };
52
53 #endif // CONNECTIVITYMANAGER_H