diff options
author | Michael Schuldt <michael.schuldt@bmw-carit.de> | 2011-09-08 12:54:56 +0200 |
---|---|---|
committer | Michael Schuldt <michael.schuldt@bmw-carit.de> | 2011-09-08 13:11:37 +0200 |
commit | 2d45eabb19347b2b9b05f5fadff8b07ef4c1ad27 (patch) | |
tree | c92503c933ff3cad4e4da62faba0b7d2e2d9bbf6 /LayerManagerPlugins | |
parent | 91bc3465d9409756718b10f7be8087acd890241f (diff) | |
download | layer_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.cpp | 17 |
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) |