057e7429cd2e76ef9e9f07258c9452720b98a963
[staging/HomeScreen.git] / HomeScreen / src / homescreencontrolinterface.cpp
1 #include "homescreencontrolinterface.h"
2
3 HomeScreenControlInterface::HomeScreenControlInterface(QObject *parent) :
4     QObject(parent),
5     mp_homeScreenAdaptor(0),
6     mp_dBusAppFrameworkProxy()
7 {
8     // publish dbus homescreen interface
9     mp_homeScreenAdaptor = new HomescreenAdaptor((QObject*)this);
10     QDBusConnection dbus = QDBusConnection::sessionBus();
11     dbus.registerObject("/HomeScreen", this);
12     dbus.registerService("org.agl.homescreen");
13
14     qDebug("D-Bus: connect to org.agl.homescreenappframeworkbindertizen /AppFramework");
15     mp_dBusAppFrameworkProxy = new org::agl::appframework("org.agl.homescreenappframeworkbindertizen",
16                                               "/AppFramework",
17                                               QDBusConnection::sessionBus(),
18                                               0);
19 }
20
21 HomeScreenControlInterface::~HomeScreenControlInterface()
22 {
23     delete mp_dBusAppFrameworkProxy;
24     delete mp_homeScreenAdaptor;
25 }
26
27 void HomeScreenControlInterface::hardKeyPressed(int key)
28 {
29     int pid = -1;
30
31     switch (key)
32     {
33     case InputEvent::HARDKEY_NAV:
34         qDebug("hardKeyPressed NAV key pressed!");
35         pid = mp_dBusAppFrameworkProxy->launchApp("demoapp");
36         qDebug("pid: %d", pid);
37         newRequestsToBeVisibleApp(pid);
38         break;
39     default:
40         qDebug("hardKeyPressed %d", key);
41         break;
42     }
43 }
44
45 void HomeScreenControlInterface::toggleFullScreen()
46 {
47     qDebug("toggleFullScreen");
48     newRequestsToggleFullscreen();
49 }