aboutsummaryrefslogtreecommitdiffstats
path: root/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces')
-rw-r--r--interfaces/README.md6
-rw-r--r--interfaces/homescreen.xml3
-rw-r--r--interfaces/include/windowmanager.hpp59
-rw-r--r--interfaces/interfaces.pro11
-rw-r--r--interfaces/popup.xml4
-rw-r--r--interfaces/src/appframework.cpp16
-rw-r--r--interfaces/src/windowmanager.cpp77
-rw-r--r--interfaces/windowmanager.xml52
8 files changed, 225 insertions, 3 deletions
diff --git a/interfaces/README.md b/interfaces/README.md
index 0d11315..c669548 100644
--- a/interfaces/README.md
+++ b/interfaces/README.md
@@ -9,6 +9,12 @@ https://gerrit.automotivelinux.org/gerrit/#/admin/projects/staging/HomeScreen
AGL repo for bitbake recipe:
https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-demo/recipes-demo-hmi/HomeScreen/HomeScreen_?.bb
+v0.3.0
+09/30/2016
+
+#changes
+- interface definition ongoing
+
v0.1.1
07/06/2016
diff --git a/interfaces/homescreen.xml b/interfaces/homescreen.xml
index 55f4305..3eb66d0 100644
--- a/interfaces/homescreen.xml
+++ b/interfaces/homescreen.xml
@@ -17,6 +17,9 @@
<method name="hardKeyPressed">
<arg name="key" type="i" direction="in"/> <!-- using the inputevent.hpp InputEvent::HardKey type -->
</method>
+ <method name="setToFullscreen">
+ <arg name="pid" type="i" direction="in"/>
+ </method>
</interface>
</node>
diff --git a/interfaces/include/windowmanager.hpp b/interfaces/include/windowmanager.hpp
new file mode 100644
index 0000000..b587b70
--- /dev/null
+++ b/interfaces/include/windowmanager.hpp
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WINDOWMANAGER_H
+#define WINDOWMANAGER_H
+
+#include <QtDBus>
+
+class SimplePoint
+{
+public:
+ SimplePoint();
+ virtual ~SimplePoint();
+
+ int x;
+ int y;
+
+ friend QDBusArgument &operator <<(QDBusArgument &argument, const SimplePoint &mSimplePoint);
+ friend const QDBusArgument &operator >>(const QDBusArgument &argument, SimplePoint &mSimplePoint);
+};
+
+
+class SimpleRect
+{
+public:
+ SimpleRect();
+ virtual ~SimpleRect();
+
+ int x;
+ int y;
+ int width;
+ int height;
+
+ friend QDBusArgument &operator <<(QDBusArgument &argument, const SimpleRect &mSimpleRect);
+ friend const QDBusArgument &operator >>(const QDBusArgument &argument, SimpleRect &mSimpleRect);
+};
+
+
+Q_DECLARE_METATYPE(SimplePoint)
+Q_DECLARE_METATYPE(QList<SimplePoint>)
+
+Q_DECLARE_METATYPE(SimpleRect)
+Q_DECLARE_METATYPE(QList<SimpleRect>)
+
+
+#endif // WINDOWMANAGER_H
diff --git a/interfaces/interfaces.pro b/interfaces/interfaces.pro
index 75b4412..d776564 100644
--- a/interfaces/interfaces.pro
+++ b/interfaces/interfaces.pro
@@ -21,8 +21,12 @@ TEMPLATE = lib
CONFIG += staticlib
TARGET = interfaces
-HEADERS += include/appframework.hpp
-SOURCES += src/appframework.cpp
+HEADERS += \
+ include/appframework.hpp \
+ include/windowmanager.hpp
+
+SOURCES += src/appframework.cpp \
+ src/windowmanager.cpp
XMLSOURCES = \
appframework.xml \
@@ -30,7 +34,8 @@ XMLSOURCES = \
homescreen.xml \
inputevent.xml \
popup.xml \
- statusbar.xml
+ statusbar.xml \
+ windowmanager.xml
gen_adapter_cpp.input = XMLSOURCES
gen_adapter_cpp.commands = \
diff --git a/interfaces/popup.xml b/interfaces/popup.xml
index 0ec8db3..c144f84 100644
--- a/interfaces/popup.xml
+++ b/interfaces/popup.xml
@@ -18,5 +18,9 @@
<arg name="type" type="i" direction="in"/>
<arg name="text" type="s" direction="in"/>
</method>
+ <method name="showPopupComboBox">
+ <arg name="text" type="s" direction="in"/>
+ <arg name="choices" type="as" direction="in"/>
+ </method>
</interface>
</node>
diff --git a/interfaces/src/appframework.cpp b/interfaces/src/appframework.cpp
index 3a5ebda..afd6114 100644
--- a/interfaces/src/appframework.cpp
+++ b/interfaces/src/appframework.cpp
@@ -1,3 +1,19 @@
+/*
+ * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include "include/appframework.hpp"
AppInfo::AppInfo(QObject *parent) :
diff --git a/interfaces/src/windowmanager.cpp b/interfaces/src/windowmanager.cpp
new file mode 100644
index 0000000..12f425e
--- /dev/null
+++ b/interfaces/src/windowmanager.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "include/windowmanager.hpp"
+
+SimplePoint::SimplePoint()
+{
+}
+
+SimplePoint::~SimplePoint()
+{
+}
+
+
+SimpleRect::SimpleRect()
+{
+}
+
+SimpleRect::~SimpleRect()
+{
+}
+
+QDBusArgument &operator <<(QDBusArgument &argument, const SimplePoint &mSimplePoint)
+{
+ argument.beginStructure();
+ argument << mSimplePoint.x;
+ argument << mSimplePoint.y;
+ argument.endStructure();
+
+ return argument;
+}
+
+const QDBusArgument &operator >>(const QDBusArgument &argument, SimplePoint &mSimplePoint)
+{
+ argument.beginStructure();
+ argument >> mSimplePoint.x;
+ argument >> mSimplePoint.y;
+ argument.endStructure();
+ return argument;
+}
+
+QDBusArgument &operator <<(QDBusArgument &argument, const SimpleRect &mSimpleRect)
+{
+ argument.beginStructure();
+ argument << mSimpleRect.x;
+ argument << mSimpleRect.y;
+ argument << mSimpleRect.width;
+ argument << mSimpleRect.height;
+ argument.endStructure();
+
+ return argument;
+}
+
+const QDBusArgument &operator >>(const QDBusArgument &argument, SimpleRect &mSimpleRect)
+{
+ argument.beginStructure();
+ argument >> mSimpleRect.x;
+ argument >> mSimpleRect.y;
+ argument >> mSimpleRect.width;
+ argument >> mSimpleRect.height;
+ argument.endStructure();
+ return argument;
+}
+
diff --git a/interfaces/windowmanager.xml b/interfaces/windowmanager.xml
new file mode 100644
index 0000000..9c1e7fe
--- /dev/null
+++ b/interfaces/windowmanager.xml
@@ -0,0 +1,52 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<!-- Copyright (C) 2016 Mentor Graphics Development (Deutschland) GmbH
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. -->
+<node>
+ <interface name="org.agl.windowmanager">
+ <method name="addLayout">
+ <arg name="layoutId" type="i" direction="in"/>
+ <arg name="layoutName" type="s" direction="in"/>
+ <arg name="surfaceAreas" type="a(iiii)" direction="in"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QList&lt;SimpleRect&gt;"/>
+ <arg name="error" type="i" direction="out"/>
+ </method>
+ <method name="getAvailableLayouts">
+ <arg name="numberOfAppSurfaces" type="i" direction="in"/>
+ <arg name="layoutIds" type="ai" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList&lt;int&gt;"/>
+ </method>
+ <method name="setLayoutById">
+ <arg name="layoutId" type="i" direction="in"/>
+ </method>
+ <method name="setLayoutByName">
+ <arg name="layoutName" type="s" direction="in"/>
+ </method>
+ <method name="getLayout">
+ <arg name="layoutId" type="i" direction="out"/>
+ </method>
+ <method name="setSurfaceToLayoutArea">
+ <arg name="surfaceId" type="i" direction="in"/>
+ <arg name="layoutAreaId" type="i" direction="in"/>
+ </method>
+ <method name="getAvailableSurfaces">
+ <arg name="surfacesAndPids" type="a(ii)" direction="out"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList&lt;SimplePoint&gt;"/>
+ </method>
+ <method name="getLayoutName">
+ <arg name="layoutId" type="i" direction="in"/>
+ <arg name="layoutName" type="s" direction="out"/>
+ </method>
+ </interface>
+</node>
+