aboutsummaryrefslogtreecommitdiffstats
path: root/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces')
-rw-r--r--interfaces/appframework.xml26
-rw-r--r--interfaces/homescreen.xml22
-rw-r--r--interfaces/include/appframework.hpp54
-rw-r--r--interfaces/include/daynightmode.hpp (renamed from interfaces/daynightmode.h)0
-rw-r--r--interfaces/include/homescreen.hpp23
-rw-r--r--interfaces/include/inputevent.hpp29
-rw-r--r--interfaces/include/popup.hpp (renamed from interfaces/popup.h)0
-rw-r--r--interfaces/include/statusbar.hpp22
-rw-r--r--interfaces/inputevent.xml22
-rw-r--r--interfaces/interfaces.pro16
-rw-r--r--interfaces/src/appframework.cpp55
11 files changed, 265 insertions, 4 deletions
diff --git a/interfaces/appframework.xml b/interfaces/appframework.xml
new file mode 100644
index 0000000..1324386
--- /dev/null
+++ b/interfaces/appframework.xml
@@ -0,0 +1,26 @@
+<!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.appframework">
+ <method name="getAvailableAppNames">
+ <arg name="names" type="as" direction="out"/>
+ </method>
+ <method name="launchApp">
+ <arg name="name" type="s" direction="in"/>
+ <arg name="pid" type="i" direction="out"/>
+ </method>
+ </interface>
+</node>
+
diff --git a/interfaces/homescreen.xml b/interfaces/homescreen.xml
new file mode 100644
index 0000000..55f4305
--- /dev/null
+++ b/interfaces/homescreen.xml
@@ -0,0 +1,22 @@
+<!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.homescreen">
+ <method name="hardKeyPressed">
+ <arg name="key" type="i" direction="in"/> <!-- using the inputevent.hpp InputEvent::HardKey type -->
+ </method>
+ </interface>
+</node>
+
diff --git a/interfaces/include/appframework.hpp b/interfaces/include/appframework.hpp
new file mode 100644
index 0000000..d95cd9d
--- /dev/null
+++ b/interfaces/include/appframework.hpp
@@ -0,0 +1,54 @@
+/*
+ * 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 APPFRAMEWORK_HPP
+#define APPFRAMEWORK_HPP
+
+#include <QObject>
+#include <QtDBus>
+#include <QString>
+
+class AppInfo : public QObject
+{
+ Q_OBJECT
+public:
+ explicit AppInfo(QObject *parent = 0);
+ AppInfo(const AppInfo &other);
+ AppInfo& operator=(const AppInfo &other);
+ ~AppInfo();
+
+ //register Message with the Qt type system
+ static void registerMetaType();
+
+ friend QDBusArgument &operator<<(QDBusArgument &argument, const AppInfo &appInfo);
+ friend const QDBusArgument &operator>>(const QDBusArgument &argument, AppInfo &appInfo);
+
+ void setName(const QString name) {this->name = name;}
+ QString getName() const {return name;}
+ void setIconPath(const QString iconPath) {this->iconPath = iconPath;}
+ QString getIconPath() const {return iconPath;}
+ void setDescription(const QString description) {this->description = description;}
+ QString getDescription() const {return description;}
+
+private:
+ QString name;
+ QString iconPath;
+ QString description;
+};
+
+Q_DECLARE_METATYPE(AppInfo)
+
+#endif // APPFRAMEWORK_HPP
diff --git a/interfaces/daynightmode.h b/interfaces/include/daynightmode.hpp
index 4081212..4081212 100644
--- a/interfaces/daynightmode.h
+++ b/interfaces/include/daynightmode.hpp
diff --git a/interfaces/include/homescreen.hpp b/interfaces/include/homescreen.hpp
new file mode 100644
index 0000000..bef3695
--- /dev/null
+++ b/interfaces/include/homescreen.hpp
@@ -0,0 +1,23 @@
+/*
+ * 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 HOMESCREEN_H
+#define HOMESCREEN_H
+
+#include "inputevent.hpp"
+
+#endif // HOMESCREEN_H
+
diff --git a/interfaces/include/inputevent.hpp b/interfaces/include/inputevent.hpp
new file mode 100644
index 0000000..28418f6
--- /dev/null
+++ b/interfaces/include/inputevent.hpp
@@ -0,0 +1,29 @@
+/*
+ * 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 INPUTEVENT_H
+#define INPUTEVENT_H
+
+namespace InputEvent {
+ typedef enum HardKey
+ {
+ HARDKEY_UNDEFINED,
+ HARDKEY_NAV
+ } eHardKey;
+}
+
+#endif // INPUTEVENT_H
+
diff --git a/interfaces/popup.h b/interfaces/include/popup.hpp
index 1b92333..1b92333 100644
--- a/interfaces/popup.h
+++ b/interfaces/include/popup.hpp
diff --git a/interfaces/include/statusbar.hpp b/interfaces/include/statusbar.hpp
new file mode 100644
index 0000000..d7fcc0c
--- /dev/null
+++ b/interfaces/include/statusbar.hpp
@@ -0,0 +1,22 @@
+/*
+ * 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 STATUSBAR_H
+#define STATUSBAR_H
+
+
+
+#endif // STATUSBAR_H
diff --git a/interfaces/inputevent.xml b/interfaces/inputevent.xml
new file mode 100644
index 0000000..813139b
--- /dev/null
+++ b/interfaces/inputevent.xml
@@ -0,0 +1,22 @@
+<!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.inputevent">
+ <method name="hardKeyPressed">
+ <arg name="key" type="i" direction="in"/>
+ </method>
+ </interface>
+</node>
+
diff --git a/interfaces/interfaces.pro b/interfaces/interfaces.pro
index c2b8cc0..75b4412 100644
--- a/interfaces/interfaces.pro
+++ b/interfaces/interfaces.pro
@@ -12,21 +12,29 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-QT += core gui dbus
+QT += core dbus
+QT -= gui
+
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TEMPLATE = lib
CONFIG += staticlib
TARGET = interfaces
+HEADERS += include/appframework.hpp
+SOURCES += src/appframework.cpp
+
XMLSOURCES = \
+ appframework.xml \
daynightmode.xml \
+ homescreen.xml \
+ inputevent.xml \
popup.xml \
statusbar.xml
gen_adapter_cpp.input = XMLSOURCES
gen_adapter_cpp.commands = \
- qdbusxml2cpp -m -a ${QMAKE_FILE_IN_BASE}_adapter ${QMAKE_FILE_IN}; \
+ qdbusxml2cpp -i include/${QMAKE_FILE_IN_BASE}.hpp -m -a ${QMAKE_FILE_IN_BASE}_adapter ${QMAKE_FILE_IN}; \
moc $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adapter.h -o $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adapter.moc
gen_adapter_cpp.output = ${QMAKE_FILE_IN_BASE}_adapter.cpp
gen_adapter_cpp.variable_out = SOURCES
@@ -34,7 +42,7 @@ gen_adapter_cpp.clean = ${QMAKE_FILE_IN_BASE}_adapter.cpp
gen_proxy_cpp.input = XMLSOURCES
gen_proxy_cpp.commands = \
- qdbusxml2cpp -m -p ${QMAKE_FILE_IN_BASE}_proxy ${QMAKE_FILE_IN}; \
+ qdbusxml2cpp -i include/${QMAKE_FILE_IN_BASE}.hpp -m -p ${QMAKE_FILE_IN_BASE}_proxy ${QMAKE_FILE_IN}; \
moc $$OUT_PWD/${QMAKE_FILE_IN_BASE}_proxy.h -o $$OUT_PWD/${QMAKE_FILE_IN_BASE}_proxy.moc
gen_proxy_cpp.output = ${QMAKE_FILE_IN_BASE}_proxy.cpp
gen_proxy_cpp.variable_out = SOURCES
@@ -43,7 +51,7 @@ gen_proxy_cpp.clean = ${QMAKE_FILE_IN_BASE}_proxy.cpp
gen_adapter_h.input = XMLSOURCES
gen_adapter_h.commands = @echo Fake making the header for ${QMAKE_FILE_IN}
gen_adapter_h.depends = ${QMAKE_FILE_IN_BASE}_adapter.cpp
-en_adapter_h.output = ${QMAKE_FILE_IN_BASE}_adapter.h
+gen_adapter_h.output = ${QMAKE_FILE_IN_BASE}_adapter.h
gen_adapter_h.clean = ${QMAKE_FILE_IN_BASE}_adapter.h
gen_proxy_h.input = XMLSOURCES
diff --git a/interfaces/src/appframework.cpp b/interfaces/src/appframework.cpp
new file mode 100644
index 0000000..3a5ebda
--- /dev/null
+++ b/interfaces/src/appframework.cpp
@@ -0,0 +1,55 @@
+#include "include/appframework.hpp"
+
+AppInfo::AppInfo(QObject *parent) :
+ QObject(parent)
+{
+}
+
+AppInfo::AppInfo(const AppInfo &other) :
+ QObject(other.parent()),
+ name(other.getName()),
+ iconPath(other.getIconPath()),
+ description(other.getDescription())
+{
+}
+
+AppInfo& AppInfo::operator=(const AppInfo &other)
+{
+ setParent(other.parent());
+ name = other.getName();
+ iconPath = other.getIconPath();
+ description = other.getDescription();
+
+ return *this;
+}
+
+AppInfo::~AppInfo()
+{
+}
+
+void AppInfo::registerMetaType()
+{
+ qRegisterMetaType<AppInfo>("AppInfo");
+ qDBusRegisterMetaType<AppInfo>();
+}
+
+
+// Marshall the MyStructure data into a D-Bus argument
+QDBusArgument &operator<<(QDBusArgument &argument, const AppInfo &appInfo)
+{
+ argument.beginStructure();
+ argument << appInfo.name << appInfo.iconPath << appInfo.description;
+ argument.endStructure();
+ qDebug("appInfo.name:<< %s", appInfo.name.toStdString().c_str());
+ return argument;
+}
+
+// Retrieve the MyStructure data from the D-Bus argument
+const QDBusArgument &operator>>(const QDBusArgument &argument, AppInfo &appInfo)
+{
+ argument.beginStructure();
+ argument >> appInfo.name >> appInfo.iconPath >> appInfo.description;
+ argument.endStructure();
+ qDebug("appInfo.name:>> %s", appInfo.name.toStdString().c_str());
+ return argument;
+}