New concept of dynamically placing surfaces in static defined layout areas.
[staging/HomeScreen.git] / HomeScreen / src / homescreencontrolinterface.h
1 #ifndef HOMESCREENCONTROLINTERFACE_H
2 #define HOMESCREENCONTROLINTERFACE_H
3
4 #include <QObject>
5 #include "include/homescreen.hpp"
6 #include "homescreen_adapter.h"
7 #include <include/appframework.hpp>
8 #include <appframework_proxy.h>
9
10 class HomeScreenControlInterface : public QObject
11 {
12     Q_OBJECT
13 public:
14     explicit HomeScreenControlInterface(QObject *parent = 0);
15     ~HomeScreenControlInterface();
16
17 signals:
18     void newRequestsToBeVisibleApp(int pid);
19
20     QRect newRequestGetLayoutRenderAreaForSurfaceId(int surfaceId);
21     void newRequestRenderSurfaceToArea(int surfaceId, const QRect &renderArea);
22     void newRequestSurfaceIdToFullScreen(int surfaceId);
23
24 //from homescreen_adapter.h
25 public Q_SLOTS: // METHODS
26     QRect getLayoutRenderAreaForSurfaceId(int surfaceId);
27     void hardKeyPressed(int key);
28     void renderSurfaceToArea(int surfaceId, const QRect &renderArea);
29     void requestSurfaceIdToFullScreen(int surfaceId);
30
31 private:
32     HomescreenAdaptor *mp_homeScreenAdaptor;
33     org::agl::appframework *mp_dBusAppFrameworkProxy;
34 };
35
36 #endif // HOMESCREENCONTROLINTERFACE_H