Enable automcatic startup of Homescreen app
authorBocklage, Jens <Jens_Bocklage@mentor.com>
Thu, 24 Nov 2016 13:02:04 +0000 (14:02 +0100)
committerBocklage, Jens <Jens_Bocklage@mentor.com>
Thu, 24 Nov 2016 13:29:34 +0000 (14:29 +0100)
HomeScreen and its depending apps are started by default using systemd
user session.

Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
HomeScreen/conf/HomeScreen.service
HomeScreenAppFrameworkBinderAGL/conf/HomeScreenAppFrameworkBinderAGL.service
InputEventManager/conf/InputEventManager.service
InputEventManager/src/inputeventmanager.h
WindowManager/conf/WindowManager.service
WindowManager/src/windowmanager.cpp

index a343d1e..5a4a042 100644 (file)
@@ -1,16 +1,18 @@
 [Unit]
 Description=AGL reference HomeScreen
-After=WindowManager.service InputEventManager.service HomeScreenAppFrameworkBinderAGL.service
+Requires=dbus.service afm-user-daemon.service InputEventManager.service HomeScreenAppFrameworkBinderAGL.service
+After=dbus.service afm-user-daemon.service InputEventManager.service HomeScreenAppFrameworkBinderAGL.service
+ConditionKernelCommandLine=!agl.nogfx
 
 [Service]
-Type=dbus                                
+User=root
+Type=dbus
 BusName=org.agl.homescreen
+ExecStartPre=/bin/systemctl --user is-active WindowManager
 ExecStart=/usr/AGL/HomeScreen/HomeScreen
-Environment=QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION="ivi-shell" LD_PRELOAD=/usr/lib/libEGL.so 
+Environment=QT_IVI_SURFACE_ID=1000 QT_WAYLAND_SHELL_INTEGRATION=ivi-shell LD_PRELOAD=/usr/lib/libEGL.so
 Restart=on-failure
-RestartSec=5
-
+RestartSec=1
 
 [Install]
 WantedBy=default.target
-
index 8375912..79fc5d9 100644 (file)
@@ -1,14 +1,15 @@
 [Unit]
 Description=AGL App Framework Binder for HomeScreen
+Requires=dbus.service afm-user-daemon.service
+After=afm-user-daemon.service
 
 [Service]
-Type=dbus                                
-BusName=org.agl.appframework
-ExecStart=/usr/AGL/HomeScreenAppFrameworkBinderAGL/HomeScreenAppFrameworkBinderAGL
+User=root
+Type=dbus
+BusName=org.agl.homescreenappframeworkbinder
+ExecStart=/usr/AGL/HomeScreen/HomeScreenAppFrameworkBinderAGL
 Restart=on-failure
 RestartSec=5
 
-
 [Install]
 WantedBy=default.target
-
index 4db78bb..a234e31 100644 (file)
@@ -1,14 +1,15 @@
 [Unit]
 Description=AGL Input Event Manager
+Requires=dbus.service
+After=dbus.service
 
 [Service]
-Type=dbus                                
-BusName=org.agl.inputevent
-ExecStart=/usr/AGL/InputEventManager/InputEventManager
+User=root
+Type=dbus
+BusName=org.agl.inputeventmanager
+ExecStart=/usr/AGL/HomeScreen/InputEventManager
 Restart=on-failure
 RestartSec=5
 
-
 [Install]
 WantedBy=default.target
-
index 075895c..5cba888 100644 (file)
@@ -40,7 +40,7 @@ private:
     InputeventAdaptor *mp_inputEventAdaptor;
     org::agl::homescreen *mp_dBusHomeScreenProxy;
 
-    //from inputevent_adaptor.h
+    //from inputevent_adapter.h
 public Q_SLOTS: // METHODS
     void hardKeyPressed(int key);
 
index b44e14e..ffc3602 100644 (file)
@@ -1,15 +1,15 @@
 [Unit]
 Description=AGL Window Manager
-After=weston.service
+Requires=dbus.service
 
 [Service]
-Type=dbus                                
+User=root
+Type=dbus
 BusName=org.agl.windowmanager
-ExecStart=/usr/AGL/WindowManager/WindowManager
+ExecStart=/usr/AGL/HomeScreen/WindowManager
 Restart=on-failure
-RestartSec=5
-
+RestartSec=1
+StandardOutput=tty
 
 [Install]
 WantedBy=default.target
-
index 65ad5cf..a03bab6 100644 (file)
@@ -15,8 +15,7 @@
  */
 
 #include "windowmanager.hpp"
-#include <wayland-client.h>
-#include <QFile>
+
 
 //////////////////////////////////////////
 // THIS IS STILL UNDER HEAVY DEVELOPMENT!
@@ -48,12 +47,6 @@ WindowManager::WindowManager(QObject *parent) :
     m_currentLayout(-1)
 {
     qDebug("-=[WindowManager]=-");
-    // publish windowmanager interface
-    mp_windowManagerAdaptor = new WindowmanagerAdaptor((QObject*)this);
-
-    QDBusConnection dbus = QDBusConnection::sessionBus();
-    dbus.registerObject("/windowmanager", this);
-    dbus.registerService("org.agl.windowmanager");
 }
 
 void WindowManager::start()
@@ -65,6 +58,11 @@ void WindowManager::start()
 
     err = ilm_init();
     qDebug("ilm_init = %d", err);
+    if(ILM_SUCCESS != err)
+    {
+        qDebug("failed! Exiting!");
+        exit(-1);
+    }
 
     myThis = this;
     err =  ilm_registerNotification(WindowManager::notificationFunc_static, this);
@@ -74,6 +72,13 @@ void WindowManager::start()
     createNewLayer(WINDOWMANAGER_LAYER_APPLICATIONS);
     createNewLayer(WINDOWMANAGER_LAYER_HOMESCREEN);
 #endif
+
+    QDBusConnection dbus = QDBusConnection::sessionBus();
+    dbus.registerObject("/windowmanager", this);
+    dbus.registerService("org.agl.windowmanager");
+
+    // publish windowmanager interface
+    mp_windowManagerAdaptor = new WindowmanagerAdaptor((QObject*)this);
 }
 
 WindowManager::~WindowManager()