X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=HomeScreen%2Fsrc%2Fhomescreencontrolinterface.cpp;fp=HomeScreen%2Fsrc%2Fhomescreencontrolinterface.cpp;h=defc20248198db66db7a56d889d52eeafc221061;hb=0a468d9b5ae7b3e5ba106facf17698d89b1ce200;hp=0000000000000000000000000000000000000000;hpb=3478f65b39560b333ba189e7d86e2c2cebfc9c7a;p=staging%2FHomeScreen.git diff --git a/HomeScreen/src/homescreencontrolinterface.cpp b/HomeScreen/src/homescreencontrolinterface.cpp new file mode 100644 index 0000000..defc202 --- /dev/null +++ b/HomeScreen/src/homescreencontrolinterface.cpp @@ -0,0 +1,42 @@ +#include "homescreencontrolinterface.h" + +HomeScreenControlInterface::HomeScreenControlInterface(QObject *parent) : + QObject(parent), + mp_homeScreenAdaptor(0), + mp_dBusAppFrameworkProxy() +{ + // publish dbus homescreen interface + mp_homeScreenAdaptor = new HomescreenAdaptor((QObject*)this); + QDBusConnection dbus = QDBusConnection::sessionBus(); + dbus.registerObject("/HomeScreen", this); + dbus.registerService("org.agl.homescreen"); + + qDebug("D-Bus: connect to org.agl.homescreenappframeworkbindertizen /AppFramework"); + mp_dBusAppFrameworkProxy = new org::agl::appframework("org.agl.homescreenappframeworkbindertizen", + "/AppFramework", + QDBusConnection::sessionBus(), + 0); +} + +HomeScreenControlInterface::~HomeScreenControlInterface() +{ + delete mp_dBusAppFrameworkProxy; + delete mp_homeScreenAdaptor; +} + +void HomeScreenControlInterface::hardKeyPressed(int key) +{ + int pid = -1; + + switch (key) + { + case InputEvent::HARDKEY_NAV: + qDebug("hardKeyPressed NAV key pressed!"); + pid = mp_dBusAppFrameworkProxy->launchApp("demoapp"); + qDebug("pid: %d", pid); + break; + default: + qDebug("hardKeyPressed %d", key); + break; + } +}