summaryrefslogtreecommitdiff
path: root/LayerManagerPlugins
diff options
context:
space:
mode:
authorMichael Schuldt <michael.schuldt@bmw-carit.de>2011-09-08 12:54:56 +0200
committerMichael Schuldt <michael.schuldt@bmw-carit.de>2011-09-08 13:11:37 +0200
commit2d45eabb19347b2b9b05f5fadff8b07ef4c1ad27 (patch)
treec92503c933ff3cad4e4da62faba0b7d2e2d9bbf6 /LayerManagerPlugins
parent91bc3465d9409756718b10f7be8087acd890241f (diff)
downloadlayer_management-2d45eabb19347b2b9b05f5fadff8b07ef4c1ad27.tar.gz
Introducing changing used bus via environment variable.
Enable LM_USE_SESSION_BUS via export LM_USE_SESSION_BUS=enable to use DBUS_BUS_SESSION instead of DBUS_BUS_SYSTEM
Diffstat (limited to 'LayerManagerPlugins')
-rw-r--r--LayerManagerPlugins/Communicators/DBUSCommunicator/src/DBUSMessageHandler.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/LayerManagerPlugins/Communicators/DBUSCommunicator/src/DBUSMessageHandler.cpp b/LayerManagerPlugins/Communicators/DBUSCommunicator/src/DBUSMessageHandler.cpp
index 15dbad9..2c0a54a 100644
--- a/LayerManagerPlugins/Communicators/DBUSCommunicator/src/DBUSMessageHandler.cpp
+++ b/LayerManagerPlugins/Communicators/DBUSCommunicator/src/DBUSMessageHandler.cpp
@@ -2,6 +2,7 @@
#include "DBUSMessageHandler.h"
#include "DBUSConfiguration.h"
#include <stdlib.h>
+#include <string.h>
#include "Log.h"
DBUSMessageHandler::DBUSMessageHandler()
@@ -13,7 +14,18 @@ DBUSMessageHandler::DBUSMessageHandler()
dbus_error_init(&m_err);
// connect to the bus and check for errors
- m_pConnection = dbus_bus_get(DBUS_BUS_SYSTEM, &m_err);
+ char* useSessionBus = getenv("LM_USE_SESSION_BUS");
+ if ( NULL != useSessionBus && strcmp(useSessionBus,"enable") == 0 )
+ {
+ LOG_INFO("DBUSCommunicator", "Using Session Bus");
+ m_pConnection = dbus_bus_get(DBUS_BUS_SESSION, &m_err);
+ }
+ else
+ {
+ LOG_INFO("DBUSCommunicator", "Using System Bus");
+ m_pConnection = dbus_bus_get(DBUS_BUS_SYSTEM, &m_err);
+ }
+
if (dbus_error_is_set(&m_err))
{
LOG_ERROR("DBUSCommunicator","Connection error");
@@ -50,7 +62,8 @@ DBUSMessageHandler::~DBUSMessageHandler()
{
LOG_ERROR("DBUSCommunicator","there was an dbus error");
}
- LOG_INFO("ask about owner name",0);
+ dbus_connection_unregister_object_path(m_pConnection,DBUS_SERVICE_OBJECT_PATH);
+ LOG_INFO("DBUSCommunicator","Ask about owner name");
dbus_bus_name_has_owner(m_pConnection, DBUS_SERVICE_PREFIX, &err);
errorset = dbus_error_is_set(&err);
if (errorset)