X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fapplicationlauncher.cpp;h=917ecafa8dae4e61ac4034cfdbbecec40ef05d05;hb=745f1d9e86e8cbd83c5ae84aba2513341da5ad7a;hp=5a1e2d6fd2ddf652859196f2db44cbc40810c9ad;hpb=85392e71f90a0322fdc08359ef1d829cdcf67381;p=apps%2Fhomescreen.git diff --git a/homescreen/src/applicationlauncher.cpp b/homescreen/src/applicationlauncher.cpp index 5a1e2d6..917ecaf 100644 --- a/homescreen/src/applicationlauncher.cpp +++ b/homescreen/src/applicationlauncher.cpp @@ -18,13 +18,9 @@ #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) +ApplicationLauncher::ApplicationLauncher(const QString &conn_str, QObject *parent) : QObject(parent) , m_launching(false) , m_timeout(new QTimer(this)) @@ -43,6 +39,12 @@ ApplicationLauncher::ApplicationLauncher(QObject *parent) connect(this, &ApplicationLauncher::currentChanged, [&]() { setLaunching(false); }); + + m_launching = false; + m_launcher = new Launcher(conn_str, parent); + + if (m_launcher->setup_pws_connection() != 0) + HMI_DEBUG("HomeScreen","ApplicationLauncher failed to set-up connection to afm-system-daemon"); } int ApplicationLauncher::launch(const QString &application) @@ -50,7 +52,10 @@ int ApplicationLauncher::launch(const QString &application) int result = -1; HMI_DEBUG("HomeScreen","ApplicationLauncher launch %s.", application.toStdString().c_str()); - result = afm_user_daemon_proxy->start(application).value().toInt(); + fprintf(stdout, "ApplicationLauncher::launch with %s\n", application.toStdString().c_str()); + if (m_launcher->connection_is_set()) + result = m_launcher->start(application); + HMI_DEBUG("HomeScreen","ApplicationLauncher pid: %d.", result); if (result > 1) { @@ -60,6 +65,12 @@ int ApplicationLauncher::launch(const QString &application) return result; } +bool ApplicationLauncher::is_running(const QString &application) +{ + if (m_launcher->connection_is_set()) + return m_launcher->is_running(application); +} + bool ApplicationLauncher::isLaunching() const { return m_launching;