Add org.agl.homescreen function renderSurfaceToAreaAllowed.
[staging/HomeScreen.git] / HomeScreen / src / layouthandler.h
1 #ifndef LAYOUTHANDLER_H
2 #define LAYOUTHANDLER_H
3
4 #include <QObject>
5 #include "windowmanager_proxy.h"
6 #include "popup_proxy.h"
7
8 class LayoutHandler : public QObject
9 {
10     Q_OBJECT
11 public:
12     explicit LayoutHandler(QObject *parent = 0);
13     ~LayoutHandler();
14
15     void setUpLayouts();
16
17 signals:
18
19 public slots:
20     void showAppLayer();
21     void hideAppLayer();
22     void makeMeVisible(int pid);
23 private:
24     void checkToDoQueue();
25 public slots:
26     QList<int> requestGetAllSurfacesOfProcess(int pid);
27     int requestGetSurfaceStatus(int surfaceId);
28     void requestRenderSurfaceToArea(int surfaceId, int layoutArea);
29     bool requestRenderSurfaceToAreaAllowed(int surfaceId, int layoutArea);
30     void requestSurfaceIdToFullScreen(int surfaceId);
31     void setLayoutByName(QString layoutName);
32
33 protected:
34     void timerEvent(QTimerEvent *e);
35 private:
36     int m_secondsTimerId;
37     org::agl::windowmanager *mp_dBusWindowManagerProxy;
38     org::agl::popup *mp_dBusPopupProxy;
39
40     QList<int> m_requestsToBeVisiblePids;
41     QList<int> m_visibleSurfaces;
42     QList<int> m_invisibleSurfaces;
43     QList<int> m_requestsToBeVisibleSurfaces;
44 };
45
46 #endif // LAYOUTHANDLER_H