Skip to content
Snippets Groups Projects
Commit e3cf52c5 authored by Sébastien Blin's avatar Sébastien Blin Committed by Adrien Béraud
Browse files

dbus: only authorize one daemon per DBUS_SESSION_BUS_ADDRESS

If two daemons are necessary, "DBUS_SESSION_BUS_ADDRESS=xxx ./dring"
is enough. Or use another session.

Change-Id: I8e8b5db50cf2b372b44e4ae643ee3a6643ca5142
parent b475437a
Branches
No related tags found
No related merge requests found
...@@ -50,6 +50,8 @@ ...@@ -50,6 +50,8 @@
#include <cstdlib> #include <cstdlib>
#include <cstring> #include <cstring>
static constexpr const char* const JAMI_DBUS_NAME = "cx.ring.Ring";
class EventCallback : class EventCallback :
public DBus::Callback_Base<void, DBus::DefaultTimeout&> public DBus::Callback_Base<void, DBus::DefaultTimeout&>
{ {
...@@ -74,7 +76,10 @@ DBusClient::DBusClient(int flags, bool persistent) ...@@ -74,7 +76,10 @@ DBusClient::DBusClient(int flags, bool persistent)
DBus::default_dispatcher = dispatcher_.get(); DBus::default_dispatcher = dispatcher_.get();
DBus::Connection sessionConnection {DBus::Connection::SessionBus()}; DBus::Connection sessionConnection {DBus::Connection::SessionBus()};
sessionConnection.request_name("cx.ring.Ring"); if (sessionConnection.has_name(JAMI_DBUS_NAME)) {
throw std::runtime_error {"Another daemon is detected"};
}
sessionConnection.request_name(JAMI_DBUS_NAME);
callManager_.reset(new DBusCallManager {sessionConnection}); callManager_.reset(new DBusCallManager {sessionConnection});
configurationManager_.reset(new DBusConfigurationManager {sessionConnection}); configurationManager_.reset(new DBusConfigurationManager {sessionConnection});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment