launcher: remove unused DBus code artifacts 99/23699/2 8.99.5 icefish/8.99.5 icefish_8.99.5
authorMatt Ranostay <matt.ranostay@konsulko.com>
Mon, 27 Jan 2020 20:37:45 +0000 (12:37 -0800)
committerMatt Ranostay <matt.ranostay@konsulko.com>
Mon, 27 Jan 2020 23:10:03 +0000 (15:10 -0800)
All accesses to control launching applications are now done
via agl-service-homescreen/libhomescreen, and thus the unused
DBus interface can be removed.

Bug-AGL: SPEC-3137
Change-Id: I27f5afd89bd15eb50486e2546a730e40f016b05e
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
17 files changed:
interfaces/README.md [deleted file]
interfaces/afm_user_daemon.xml [deleted file]
interfaces/appframework.xml [deleted file]
interfaces/include/afm_user_daemon.hpp [deleted file]
interfaces/include/appframework.hpp [deleted file]
interfaces/interfaces.pri [deleted file]
interfaces/interfaces.pro [deleted file]
interfaces/src/appframework.cpp [deleted file]
launcher.pro
launcher/launcher.pro
launcher/src/appinfo.cpp
launcher/src/appinfo.h
launcher/src/applicationlauncher.cpp [deleted file]
launcher/src/applicationlauncher.h [deleted file]
launcher/src/applicationmodel.cpp
launcher/src/main.cpp
package/config.xml

diff --git a/interfaces/README.md b/interfaces/README.md
deleted file mode 100644 (file)
index 4a80a6c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-AGL launcher reference implementation
-
-
-Build with QtCreator 3.5.1
-
-AGL repo for source code:
-https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/launcher
-
-AGL repo for bitbake recipe:
-https://gerrit.automotivelinux.org/gerrit/apps/launcher
diff --git a/interfaces/afm_user_daemon.xml b/interfaces/afm_user_daemon.xml
deleted file mode 100644 (file)
index 17b7d63..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node path="/org/AGL/afm/user">
-  <interface name="org.AGL.afm.user">
-    <method name="runnables">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="detail">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="start">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="once">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="terminate">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="pause">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="resume">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="runners">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="state">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="install">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <method name="uninstall">
-      <arg name="in" type="s" direction="in"/>
-      <arg name="out" type="s" direction="out"/>
-    </method>
-    <signal name="changed">
-      <arg name="out" type="s" direction="out"/>
-    </signal>
-  </interface>
-</node>
diff --git a/interfaces/appframework.xml b/interfaces/appframework.xml
deleted file mode 100644 (file)
index ebc5088..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-<!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, 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. -->
-<node>
-       <!--
-         org.agl.appframework:
-         @short_description: The interface of the app framework binder.
-
-         The app framework has to provide some basic functionality like
-         getting a list of applications and start them. In further versions,
-         also pausing or stopping, .
-       -->
-       <interface name="org.agl.appframework">
-               <!--
-                 getAvailableApps:
-                 @apps: A list of applications that can be launched.
-
-                 The application info consists of:
-                 string id;
-                 string version;
-                 int width;
-                 int height;
-                 string name;
-                 string description;
-                 string shortname;
-                 string author;
-                 string iconPath;
-               -->
-               <method name="getAvailableApps">
-                       <arg name="apps" type="{ssiisssss}" direction="out"/>
-                       <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList&lt;AppInfo&gt;"/>
-               </method>
-               <!--
-                 launchApp:
-                 @name: The name of the application that shall be launched.
-                 @pid: Returns the pid of the process.
-
-                 Use the id of the application info to launch the app.
-               -->
-               <method name="launchApp">
-                       <arg name="name" type="s" direction="in"/>
-                       <arg name="pid" type="i" direction="out"/>
-               </method>
-       </interface>
-</node>
-
diff --git a/interfaces/include/afm_user_daemon.hpp b/interfaces/include/afm_user_daemon.hpp
deleted file mode 100644 (file)
index b9a5321..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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 AFM_USER_DAEMON_HPP
-#define AFM_USER_DAEMON_HPP
-
-
-#endif // AFM_USER_DAEMON_HPP
diff --git a/interfaces/include/appframework.hpp b/interfaces/include/appframework.hpp
deleted file mode 100644 (file)
index 98ec317..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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/interfaces.pri b/interfaces/interfaces.pri
deleted file mode 100644 (file)
index 07b9e6a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2016 The Qt Company Ltd.
-# 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.
-
-INCLUDEPATH += $$PWD $$OUT_PWD/../interfaces/
-
-LIBS += -L$$OUT_PWD/../interfaces/ -linterfaces
diff --git a/interfaces/interfaces.pro b/interfaces/interfaces.pro
deleted file mode 100644 (file)
index 281eeb8..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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.
-
-TEMPLATE = lib
-TARGET = interfaces
-QT = dbus
-CONFIG += staticlib
-
-HEADERS += \
-    include/appframework.hpp
-
-SOURCES += \
-    src/appframework.cpp
-
-XMLSOURCES = \
-    afm_user_daemon.xml \
-    appframework.xml
-
-gen_adaptor_cpp.input = XMLSOURCES
-gen_adaptor_cpp.commands = \
-    qdbusxml2cpp -i include/${QMAKE_FILE_IN_BASE}.hpp -m -a ${QMAKE_FILE_IN_BASE}_adaptor ${QMAKE_FILE_IN}; \
-    moc $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adaptor.h -o $$OUT_PWD/${QMAKE_FILE_IN_BASE}_adaptor.moc
-gen_adaptor_cpp.output = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
-gen_adaptor_cpp.variable_out = SOURCES
-gen_adaptor_cpp.clean = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
-
-gen_proxy_cpp.input = XMLSOURCES
-gen_proxy_cpp.commands = \
-    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
-gen_proxy_cpp.clean = ${QMAKE_FILE_IN_BASE}_proxy.cpp
-
-gen_adaptor_h.input = XMLSOURCES
-gen_adaptor_h.commands = @echo Fake making the header for ${QMAKE_FILE_IN}
-gen_adaptor_h.depends = ${QMAKE_FILE_IN_BASE}_adaptor.cpp
-gen_adaptor_h.output = ${QMAKE_FILE_IN_BASE}_adaptor.h
-gen_adaptor_h.clean = ${QMAKE_FILE_IN_BASE}_adaptor.h
-
-gen_proxy_h.input = XMLSOURCES
-gen_proxy_h.commands = @echo Fake making the header for ${QMAKE_FILE_IN}
-gen_proxy_h.depends = ${QMAKE_FILE_IN_BASE}_proxy.cpp
-gen_proxy_h.output = ${QMAKE_FILE_IN_BASE}_proxy.h
-gen_proxy_h.clean = ${QMAKE_FILE_IN_BASE}_proxy.h
-
-QMAKE_EXTRA_COMPILERS += gen_adaptor_cpp gen_proxy_cpp gen_adaptor_h gen_proxy_h
-
-DISTFILES +=
diff --git a/interfaces/src/appframework.cpp b/interfaces/src/appframework.cpp
deleted file mode 100644 (file)
index 7420642..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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;
-}
index e142b63..b68702e 100644 (file)
@@ -16,9 +16,8 @@ TEMPLATE = subdirs
 
 load(configure)
 
-SUBDIRS = interfaces \
+SUBDIRS = \
     launcher \
     package
 
-launcher.depends = interfaces
 package.depends += launcher
index e16e9ce..63c6704 100644 (file)
 
 TEMPLATE = app
 TARGET = launcher
-QT = qml quick dbus websockets
+QT = qml quick websockets
 CONFIG += c++11 link_pkgconfig
 DESTDIR = $${OUT_PWD}/../package/root/bin
 PKGCONFIG += qlibwindowmanager libhomescreen
 
-include(../interfaces/interfaces.pri)
-
 SOURCES += \
     src/main.cpp \
     src/applicationmodel.cpp \
     src/appinfo.cpp \
-    src/applicationlauncher.cpp \
     src/homescreenhandler.cpp
 
 HEADERS  += \
-    src/applicationlauncher.h \
     src/applicationmodel.h \
     src/appinfo.h \
     src/homescreenhandler.h
index c55d94c..78c48ed 100644 (file)
@@ -142,36 +142,3 @@ void AppInfo::read(const QJsonObject &json)
     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;
-}
index 052c5df..e1b97e6 100644 (file)
@@ -19,8 +19,8 @@
 #ifndef APPINFO_H
 #define APPINFO_H
 
+#include <QObject>
 #include <QtCore/QSharedDataPointer>
-#include <QtDBus/QDBusArgument>
 
 class AppInfo
 {
@@ -54,9 +54,6 @@ public:
 
     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;
diff --git a/launcher/src/applicationlauncher.cpp b/launcher/src/applicationlauncher.cpp
deleted file mode 100644 (file)
index 19ea2e3..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2016 The Qt Company Ltd.
- * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
- * Copyright (c) 2018 TOYOTA MOTOR CORPORATION
- *
- * 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 "applicationlauncher.h"
-
-#include "afm_user_daemon_proxy.h"
-
-#include "hmi-debug.h"
-
-extern org::AGL::afm::user *afm_user_daemon_proxy;
-
-ApplicationLauncher::ApplicationLauncher(QObject *parent)
-    : QObject(parent)
-    , m_launching(false)
-    , m_timeout(new QTimer(this))
-{
-    m_timeout->setInterval(3000);
-    m_timeout->setSingleShot(true);
-    connect(m_timeout, &QTimer::timeout, [&]() {
-        setLaunching(false);
-    });
-    connect(this, &ApplicationLauncher::launchingChanged, [&](bool launching) {
-        if (launching)
-            m_timeout->start();
-        else
-            m_timeout->stop();
-    });
-    connect(this, &ApplicationLauncher::currentChanged, [&]() {
-        setLaunching(false);
-    });
-}
-
-int ApplicationLauncher::launch(const QString &application)
-{
-    int result = -1;
-    HMI_DEBUG("launch","ApplicationLauncher launch %s.", application.toStdString().c_str());
-
-    result = afm_user_daemon_proxy->start(application).value().toInt();
-    HMI_DEBUG("launch","ApplicationLauncher pid: %d.", result);
-
-    if (result > 1) {
-        setLaunching(true);
-    }
-
-    return result;
-}
-
-bool ApplicationLauncher::isLaunching() const
-{
-    return m_launching;
-}
-
-void ApplicationLauncher::setLaunching(bool launching)
-{
-    if (m_launching == launching) return;
-    m_launching = launching;
-    launchingChanged(launching);
-}
-
-QString ApplicationLauncher::current() const
-{
-    return m_current;
-}
-
-void ApplicationLauncher::setCurrent(const QString &current)
-{
-    if (m_current == current) return;
-    m_current = current;
-    emit currentChanged(current);
-}
diff --git a/launcher/src/applicationlauncher.h b/launcher/src/applicationlauncher.h
deleted file mode 100644 (file)
index d205994..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2016 The Qt Company Ltd.
- * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
- * Copyright (c) 2018 TOYOTA MOTOR CORPORATION
- *
- * 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 APPLICATIONLAUNCHER_H
-#define APPLICATIONLAUNCHER_H
-
-#include <QtCore/QObject>
-
-class QTimer;
-
-class ApplicationLauncher : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(bool launching READ isLaunching NOTIFY launchingChanged)
-    Q_PROPERTY(QString current READ current WRITE setCurrent NOTIFY currentChanged)
-public:
-    explicit ApplicationLauncher(QObject *parent = NULL);
-
-    bool isLaunching() const;
-    QString current() const;
-
-signals:
-    void newAppRequestsToBeVisible(int pid);
-    void launchingChanged(bool launching);
-    void currentChanged(const QString &current);
-
-public slots:
-    int launch(const QString &application);
-    void setCurrent(const QString &current);
-
-private:
-    void setLaunching(bool launching);
-
-private:
-    bool m_launching;
-    QString m_current;
-    QTimer *m_timeout;
-};
-
-#endif // APPLICATIONLAUNCHER_H
index 261e43e..42982d5 100644 (file)
 #include "applicationmodel.h"
 #include "appinfo.h"
 
-#include "hmi-debug.h"
-
-#include <QtDBus/QDBusInterface>
-#include <QtDBus/QDBusReply>
+#include <QtCore/QFile>
+#include <QtCore/QJsonObject>
+#include <QtCore/QJsonDocument>
+#include <QtCore/QJsonArray>
 
-#include "afm_user_daemon_proxy.h"
-
-extern org::AGL::afm::user *afm_user_daemon_proxy;
+#include "hmi-debug.h"
 
 class ApplicationModel::Private
 {
index e550948..5a44cc7 100644 (file)
@@ -17,6 +17,7 @@
 
 #include <QGuiApplication>
 #include <QCommandLineParser>
+#include <QtCore/QUrlQuery>
 #include <QtGui/QGuiApplication>
 #include <QtQml/QQmlApplicationEngine>
 #include <QtQml/QQmlContext>
 #include <QThread>
 
 #include <qlibwindowmanager.h>
-#include "applicationlauncher.h"
 #include "applicationmodel.h"
 #include "appinfo.h"
-#include "afm_user_daemon_proxy.h"
 #include "homescreenhandler.h"
 #include "hmi-debug.h"
 
-// XXX: We want this DBus connection to be shared across the different
-// QML objects, is there another way to do this, a nice way, perhaps?
-org::AGL::afm::user *afm_user_daemon_proxy;
-
-namespace {
-
-struct Cleanup {
-    static inline void cleanup(org::AGL::afm::user *p) {
-        delete p;
-        afm_user_daemon_proxy = Q_NULLPTR;
-    }
-};
-
-}
-
 int main(int argc, char *argv[])
 {
     QString myname = QString("launcher");
     QGuiApplication a(argc, argv);
 
-    // use launch process
-    QScopedPointer<org::AGL::afm::user, Cleanup> afm_user_daemon_proxy(new org::AGL::afm::user("org.AGL.afm.user",
-                                                                                               "/org/AGL/afm/user",
-                                                                                               QDBusConnection::sessionBus(),
-                                                                                               0));
-    ::afm_user_daemon_proxy = afm_user_daemon_proxy.data();
-
     QCoreApplication::setOrganizationDomain("LinuxFoundation");
     QCoreApplication::setOrganizationName("AutomotiveGradeLinux");
     QCoreApplication::setApplicationName(myname);
@@ -85,11 +62,6 @@ int main(int argc, char *argv[])
     // import C++ class to QML
     qmlRegisterType<ApplicationModel>("AppModel", 1, 0, "ApplicationModel");
 
-    // DBus
-    qDBusRegisterMetaType<AppInfo>();
-    qDBusRegisterMetaType<QList<AppInfo> >();
-
-    ApplicationLauncher *launcher = new ApplicationLauncher();
     QLibWindowmanager* layoutHandler = new QLibWindowmanager();
     if(layoutHandler->init(port,token) != 0){
         exit(EXIT_FAILURE);
@@ -105,17 +77,6 @@ int main(int argc, char *argv[])
         layoutHandler->endDraw(myname);
     });
 
-    layoutHandler->set_event_handler(QLibWindowmanager::Event_Visible, [layoutHandler, launcher](json_object *object) {
-        QString label = QString(json_object_get_string(        json_object_object_get(object, "drawing_name") ));
-        qDebug() << label;
-        QMetaObject::invokeMethod(launcher, "setCurrent", Qt::QueuedConnection, Q_ARG(QString, label == "HomeScreen" ? "Home" : label));
-    });
-
-    layoutHandler->set_event_handler(QLibWindowmanager::Event_Invisible, [layoutHandler, launcher](json_object *object) {
-        const char* label = json_object_get_string(    json_object_object_get(object, "drawing_name") );
-        HMI_DEBUG("launch", "surface %s Event_Invisible", label);
-    });
-
     HomescreenHandler* homescreenHandler = new HomescreenHandler();
     homescreenHandler->init(port, token.toStdString().c_str(), layoutHandler, myname);
 
@@ -143,7 +104,6 @@ int main(int argc, char *argv[])
     QQmlApplicationEngine engine;
     engine.rootContext()->setContextProperty(QStringLiteral("layoutHandler"), layoutHandler);
     engine.rootContext()->setContextProperty(QStringLiteral("homescreenHandler"), homescreenHandler);
-    engine.rootContext()->setContextProperty(QStringLiteral("launcher"), launcher);
     engine.rootContext()->setContextProperty(QStringLiteral("screenInfo"), &screenInfo);
     engine.load(QUrl(QStringLiteral("qrc:/Launcher.qml")));
     homescreenHandler->getRunnables();
index 36de348..0bd4e51 100644 (file)
@@ -13,7 +13,6 @@
   <feature name="urn:AGL:widget:required-permission">
     <param name="urn:AGL:permission::public:no-htdocs" value="required" />
     <param name="urn:AGL:permission::system:run-by-default" value="required" />
-    <param name="http://tizen.org/privilege/internal/dbus" value="required" />
     <param name="urn:AGL:permission::public:display" value="required" />
   </feature>
 </widget>