559a93ca7738dfe98e7ffcb4605ce3d3206d64fd
[apps/homescreen.git] / homescreen / src / applicationlauncher.cpp
1 /*
2  * Copyright (C) 2016 The Qt Company Ltd.
3  * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #include "applicationlauncher.h"
19
20 #include "afm_user_daemon_proxy.h"
21
22 #include <QtCore/QDebug>
23
24 extern org::AGL::afm::user *afm_user_daemon_proxy;
25
26 ApplicationLauncher::ApplicationLauncher(QObject *parent)
27     : QObject(parent)
28 {
29 }
30
31 int ApplicationLauncher::launch(const QString &application)
32 {
33     int result = -1;
34     qDebug() << "launch" << application;
35
36     result = afm_user_daemon_proxy->start(application).value().toInt();
37     qDebug() << "pid:" << result;
38
39     if (result > 1) {
40         setCurrent(application);
41     }
42
43     return result;
44 }
45
46 QString ApplicationLauncher::current() const
47 {
48     return m_current;
49 }
50
51 void ApplicationLauncher::setCurrent(const QString &current)
52 {
53     if (m_current == current) return;
54     m_current = current;
55     emit currentChanged(current);
56 }