44c2ed905f6c5619818ea7da4be77db00c88d57d
[vicar] / src / vicar-daemon / src / callrouter.h
1 /*
2 @version: 0.2
3 @author: Sudheer K. <scifi.guy@hotmail.com>
4 @license: GNU General Public License
5 */
6
7 #ifndef CALLROUTER_H
8 #define CALLROUTER_H
9
10 #include <QObject>
11 #include <QDBusMessage>
12 #include <gconfutility.h>
13
14 #define APPLICATION_DBUS_PATH "/org/maemo/vicar"
15 #define APPLICATION_DBUS_INTERFACE "org.maemo.vicar"
16 #define APPLICATION_DBUS_SERVICE "org.maemo.vicar"
17 #define APPLICATION_FRIENDLY_NAME "VICaR"
18
19 /* CSD CALL plugin D-Bus definitions */
20 #define CSD_CALL_BUS_NAME       "com.nokia.csd.Call"
21 #define CSD_CALL_INTERFACE      "com.nokia.csd.Call"
22 #define CSD_CALL_INSTANCE_INTERFACE     "com.nokia.csd.Call.Instance"
23 #define CSD_CALL_CONFERENCE     "com.nokia.csd.Call.Conference"
24 #define CSD_CALL_PATH           "/com/nokia/csd/call"
25 #define CSD_CALL_INSTANCE_PATH  "/com/nokia/csd/call/1"
26 #define CSD_CALL_SERVICE        "com.nokia.csd.Call"
27 #define CSD_SERVICE             "com.nokia.csd"
28
29 class CallRouter : public QObject
30 {
31 Q_OBJECT
32 Q_CLASSINFO("D-Bus Interface", "org.maemo.vicar")
33
34 public:
35     CallRouter(QObject *parent = 0);
36     ~CallRouter();
37     void registerDBusService();
38     void unregisterDBusService();
39
40     void startCallStatusMonitors();
41     QString convertToDTMFCode(QString);
42     void connectToDBusSignals();
43     void disconnectFromDBusSignals();
44     bool isExcludedNumber(QString);
45
46 public slots:
47     Q_SCRIPTABLE void startOutgoingCallMonitor();
48     Q_SCRIPTABLE void stopOutgoingCallMonitor();
49     Q_SCRIPTABLE void processOutgoingCall(const QDBusMessage& dbusMessage);
50     Q_SCRIPTABLE void callViaCallingCard();
51     Q_SCRIPTABLE void sendNumberAsDTMFCode(const QDBusMessage& dbusMessage);
52     Q_SCRIPTABLE void stopCallStatusMonitors();
53
54
55
56 private:
57     GConfUtility *gconfUtility;
58 };
59
60 #endif // CALLROUTER_H