Additional parameter to WindowManager at application startup
[apps/homescreen.git] / interfaces / include / windowmanager.hpp
1 /*
2  * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef WINDOWMANAGER_H
18 #define WINDOWMANAGER_H
19
20 #include <QtDBus>
21
22 #define WINDOWMANAGER_NO_ERROR 0
23 #define WINDOWMANAGER_ERROR_ID_ALREADY_DEFINED 1
24 #define WINDOWMANAGER_ERROR_NAME_ALREADY_DEFINED 2
25 #define WINDOWMANAGER_ERROR_ID_NOT_FOUND 3
26 #define WINDOWMANAGER_ERROR_NAME_NOT_FOUND 4
27 #define WINDOWMANAGER_ERROR_ID_IN_USE 5
28
29 class SimplePoint
30 {
31 public:
32     SimplePoint();
33     virtual ~SimplePoint();
34
35         int x;
36         int y;
37
38     friend QDBusArgument &operator <<(QDBusArgument &argument, const SimplePoint &mSimplePoint);
39     friend const QDBusArgument &operator >>(const QDBusArgument &argument, SimplePoint &mSimplePoint);
40 };
41
42
43 class LayoutArea
44 {
45 public:
46     LayoutArea();
47     virtual ~LayoutArea();
48
49         int x;
50         int y;
51         int width;
52         int height;
53
54     friend QDBusArgument &operator <<(QDBusArgument &argument, const LayoutArea &mLayoutArea);
55     friend const QDBusArgument &operator >>(const QDBusArgument &argument, LayoutArea &mLayoutArea);
56 };
57
58 class Layout
59 {
60 public:
61     Layout();
62     Layout(int layoutId, const QString &layoutName, const QList<LayoutArea> &surfaceAreas);
63     virtual ~Layout();
64
65     int id;
66     QString name;
67     QList<LayoutArea> layoutAreas;
68
69     friend QDBusArgument &operator <<(QDBusArgument &argument, const Layout &mLayout);
70     friend const QDBusArgument &operator >>(const QDBusArgument &argument, Layout &mLayout);
71 };
72
73 Q_DECLARE_METATYPE(SimplePoint)
74 Q_DECLARE_METATYPE(QList<SimplePoint>)
75
76 Q_DECLARE_METATYPE(LayoutArea)
77 Q_DECLARE_METATYPE(QList<LayoutArea>)
78
79 Q_DECLARE_METATYPE(Layout)
80 Q_DECLARE_METATYPE(QList<Layout>)
81
82 #endif // WINDOWMANAGER_H