From 0592a405aa68f3baf6773795efa5522e4ee16779 Mon Sep 17 00:00:00 2001
From: "Bocklage, Jens" <Jens_Bocklage@mentor.com>
Date: Wed, 18 Jan 2017 15:25:38 +0100
Subject: Initial source commit

Taken from https://gerrit.automotivelinux.org/gerrit/p/staging/HomeScreen.git

Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
---
 interfaces/include/appframework.hpp  | 66 +++++++++++++++++++++++++++++
 interfaces/include/daynightmode.hpp  | 29 +++++++++++++
 interfaces/include/homescreen.hpp    | 23 ++++++++++
 interfaces/include/inputevent.hpp    | 30 +++++++++++++
 interfaces/include/popup.hpp         | 31 ++++++++++++++
 interfaces/include/proximity.hpp     | 22 ++++++++++
 interfaces/include/statusbar.hpp     | 22 ++++++++++
 interfaces/include/windowmanager.hpp | 82 ++++++++++++++++++++++++++++++++++++
 8 files changed, 305 insertions(+)
 create mode 100644 interfaces/include/appframework.hpp
 create mode 100644 interfaces/include/daynightmode.hpp
 create mode 100644 interfaces/include/homescreen.hpp
 create mode 100644 interfaces/include/inputevent.hpp
 create mode 100644 interfaces/include/popup.hpp
 create mode 100644 interfaces/include/proximity.hpp
 create mode 100644 interfaces/include/statusbar.hpp
 create mode 100644 interfaces/include/windowmanager.hpp

(limited to 'interfaces/include')

diff --git a/interfaces/include/appframework.hpp b/interfaces/include/appframework.hpp
new file mode 100644
index 0000000..98ec317
--- /dev/null
+++ b/interfaces/include/appframework.hpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2016, 2017 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 <QtCore/QSharedDataPointer>
+#include <QtDBus/QDBusArgument>
+
+class AppInfo
+{
+    Q_GADGET
+    Q_PROPERTY(QString id READ id)
+    Q_PROPERTY(QString version READ version)
+    Q_PROPERTY(int width READ width)
+    Q_PROPERTY(int height READ height)
+    Q_PROPERTY(QString name READ name)
+    Q_PROPERTY(QString description READ description)
+    Q_PROPERTY(QString shortname READ shortname)
+    Q_PROPERTY(QString author READ author)
+    Q_PROPERTY(QString iconPath READ iconPath)
+public:
+    AppInfo();
+    AppInfo(const AppInfo &other);
+    virtual ~AppInfo();
+    AppInfo &operator =(const AppInfo &other);
+    void swap(AppInfo &other) { qSwap(d, other.d); }
+
+    QString id() const;
+    QString version() const;
+    int width() const;
+    int height() const;
+    QString name() const;
+    QString description() const;
+    QString shortname() const;
+    QString author() const;
+    QString iconPath() const;
+
+    void read(const QJsonObject &json);
+
+    friend QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &appInfo);
+    friend const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &appInfo);
+
+private:
+    class Private;
+    QSharedDataPointer<Private> d;
+};
+
+Q_DECLARE_SHARED(AppInfo)
+Q_DECLARE_METATYPE(AppInfo)
+Q_DECLARE_METATYPE(QList<AppInfo>)
+
+#endif // APPFRAMEWORK_HPP
diff --git a/interfaces/include/daynightmode.hpp b/interfaces/include/daynightmode.hpp
new file mode 100644
index 0000000..2d858bb
--- /dev/null
+++ b/interfaces/include/daynightmode.hpp
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2016, 2017 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 DAYNIGHTMODE_H
+#define DAYNIGHTMODE_H
+
+namespace SystemDayNight {
+    typedef enum DayNightMode
+    {
+        DAYNIGHTMODE_UNDEFINED = -1,
+        DAYNIGHTMODE_DAY = 0,
+        DAYNIGHTMODE_NIGHT = 1
+    } eDayNightMode;
+}
+
+#endif // DAYNIGHTMODE_H
diff --git a/interfaces/include/homescreen.hpp b/interfaces/include/homescreen.hpp
new file mode 100644
index 0000000..728962b
--- /dev/null
+++ b/interfaces/include/homescreen.hpp
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2016, 2017 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..8c6bf58
--- /dev/null
+++ b/interfaces/include/inputevent.hpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2016, 2017 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,
+        HARDKEY_MEDIA
+    } eHardKey;
+}
+
+#endif // INPUTEVENT_H
+
diff --git a/interfaces/include/popup.hpp b/interfaces/include/popup.hpp
new file mode 100644
index 0000000..9caa837
--- /dev/null
+++ b/interfaces/include/popup.hpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2016, 2017 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 POPUP_H
+#define POPUP_H
+
+namespace SystemPopup {
+    typedef enum PopupType
+    {
+        POPUPTYPE_UNDEFINED,
+        POPUPTYPE_INFO,
+        POPUPTYPE_WARNING,
+	POPUPTYPE_ERROR
+    } ePopupType;
+}
+
+#endif // POPUP_H
+
diff --git a/interfaces/include/proximity.hpp b/interfaces/include/proximity.hpp
new file mode 100644
index 0000000..898217f
--- /dev/null
+++ b/interfaces/include/proximity.hpp
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2016, 2017 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 PROXIMITY_H
+#define PROXIMITY_H
+
+
+#endif // PROXIMITY_H
+
diff --git a/interfaces/include/statusbar.hpp b/interfaces/include/statusbar.hpp
new file mode 100644
index 0000000..ecdcede
--- /dev/null
+++ b/interfaces/include/statusbar.hpp
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2016, 2017 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/include/windowmanager.hpp b/interfaces/include/windowmanager.hpp
new file mode 100644
index 0000000..dd268dd
--- /dev/null
+++ b/interfaces/include/windowmanager.hpp
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2016, 2017 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>
+
+#define WINDOWMANAGER_NO_ERROR 0
+#define WINDOWMANAGER_ERROR_ID_ALREADY_DEFINED 1
+#define WINDOWMANAGER_ERROR_NAME_ALREADY_DEFINED 2
+#define WINDOWMANAGER_ERROR_ID_NOT_FOUND 3
+#define WINDOWMANAGER_ERROR_NAME_NOT_FOUND 4
+#define WINDOWMANAGER_ERROR_ID_IN_USE 5
+
+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 LayoutArea
+{
+public:
+    LayoutArea();
+    virtual ~LayoutArea();
+
+	int x;
+	int y;
+	int width;
+	int height;
+
+    friend QDBusArgument &operator <<(QDBusArgument &argument, const LayoutArea &mLayoutArea);
+    friend const QDBusArgument &operator >>(const QDBusArgument &argument, LayoutArea &mLayoutArea);
+};
+
+class Layout
+{
+public:
+    Layout();
+    Layout(int layoutId, const QString &layoutName, const QList<LayoutArea> &surfaceAreas);
+    virtual ~Layout();
+
+    int id;
+    QString name;
+    QList<LayoutArea> layoutAreas;
+
+    friend QDBusArgument &operator <<(QDBusArgument &argument, const Layout &mLayout);
+    friend const QDBusArgument &operator >>(const QDBusArgument &argument, Layout &mLayout);
+};
+
+Q_DECLARE_METATYPE(SimplePoint)
+Q_DECLARE_METATYPE(QList<SimplePoint>)
+
+Q_DECLARE_METATYPE(LayoutArea)
+Q_DECLARE_METATYPE(QList<LayoutArea>)
+
+Q_DECLARE_METATYPE(Layout)
+Q_DECLARE_METATYPE(QList<Layout>)
+
+#endif // WINDOWMANAGER_H
-- 
cgit