aboutsummaryrefslogtreecommitdiffstats
path: root/interfaces/src
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-06-19 15:00:46 +0900
committerzheng_wenlong <wenlong_zheng@nexty-ele.com>2018-06-27 14:54:23 +0900
commitcde1f8b32286b263040cd1d9360f4b8835699505 (patch)
treedce7f4fc1faf575dc47b7362f3f3ffb759ad9045 /interfaces/src
parentaf18398e4ea4b8f86949f31c2766390caeccdbe4 (diff)
Detach launcher application from HomeScreen
Detach launcher application from Homescreen, Use qlibhomescreen instead of homescreenhandle. [Patch sets 3] This application needs qlibhomescreen, add into sdk in 14597. [Patch sets 4] Right now add qlibhomescreen class into src for instead. Delete it after qlibhomescreen is add into sdk. [Patch sets 5] From Jan-Simon advise, waitting for qlibhomescreen sdk. So return to Patch sets 3. Relative commit: https://gerrit.automotivelinux.org/gerrit/#/c/14597/ Task-AGL: SPEC-1518 Change-Id: Ia16aecddd2bf4623038a84254a0c56967ace9b92 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'interfaces/src')
-rw-r--r--interfaces/src/appframework.cpp167
1 files changed, 167 insertions, 0 deletions
diff --git a/interfaces/src/appframework.cpp b/interfaces/src/appframework.cpp
new file mode 100644
index 0000000..7420642
--- /dev/null
+++ b/interfaces/src/appframework.cpp
@@ -0,0 +1,167 @@
+/*
+ * 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.
+ */
+
+#include "include/appframework.hpp"
+
+#include <QtCore/QJsonObject>
+
+class AppInfo::Private : public QSharedData
+{
+public:
+ Private();
+ Private(const Private &other);
+
+ QString id;
+ QString version;
+ int width;
+ int height;
+ QString name;
+ QString description;
+ QString shortname;
+ QString author;
+ QString iconPath;
+};
+
+AppInfo::Private::Private()
+ : width(-1)
+ , height(-1)
+{
+}
+
+AppInfo::Private::Private(const Private &other)
+ : QSharedData(other)
+ , id(other.id)
+ , version(other.version)
+ , width(other.width)
+ , height(other.height)
+ , name(other.name)
+ , description(other.description)
+ , shortname(other.shortname)
+ , author(other.author)
+ , iconPath(other.iconPath)
+{
+}
+
+AppInfo::AppInfo()
+ : d(new Private)
+{
+}
+
+AppInfo::AppInfo(const AppInfo &other)
+ : d(other.d)
+{
+}
+
+AppInfo::~AppInfo()
+{
+}
+
+AppInfo &AppInfo::operator =(const AppInfo &other)
+{
+ d = other.d;
+ return *this;
+}
+
+QString AppInfo::id() const
+{
+ return d->id;
+}
+
+QString AppInfo::version() const
+{
+ return d->version;
+}
+
+int AppInfo::width() const
+{
+ return d->width;
+}
+
+int AppInfo::height() const
+{
+ return d->height;
+}
+
+QString AppInfo::name() const
+{
+ return d->name;
+}
+
+QString AppInfo::description() const
+{
+ return d->description;
+}
+
+QString AppInfo::shortname() const
+{
+ return d->shortname;
+}
+
+QString AppInfo::author() const
+{
+ return d->author;
+}
+
+QString AppInfo::iconPath() const
+{
+ return d->iconPath;
+}
+
+void AppInfo::read(const QJsonObject &json)
+{
+ d->id = json["id"].toString();
+ d->version = json["version"].toString();
+ d->width = json["width"].toInt();
+ d->height = json["height"].toInt();
+ d->name = json["name"].toString();
+ d->description = json["description"].toString();
+ d->shortname = json["shortname"].toString();
+ d->author = json["author"].toString();
+ d->iconPath = json["iconPath"].toString();
+}
+
+QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &appInfo)
+{
+ argument.beginStructure();
+ argument << appInfo.d->id;
+ argument << appInfo.d->version;
+ argument << appInfo.d->width;
+ argument << appInfo.d->height;
+ argument << appInfo.d->name;
+ argument << appInfo.d->description;
+ argument << appInfo.d->shortname;
+ argument << appInfo.d->author;
+ argument << appInfo.d->iconPath;
+ argument.endStructure();
+
+ return argument;
+}
+
+const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &appInfo)
+{
+ argument.beginStructure();
+ argument >> appInfo.d->id;
+ argument >> appInfo.d->version;
+ argument >> appInfo.d->width;
+ argument >> appInfo.d->height;
+ argument >> appInfo.d->name;
+ argument >> appInfo.d->description;
+ argument >> appInfo.d->shortname;
+ argument >> appInfo.d->author;
+ argument >> appInfo.d->iconPath;
+ argument.endStructure();
+ return argument;
+}