diff --git a/bin/dbus/dbusclient.cpp b/bin/dbus/dbusclient.cpp index f2cc0182f97e703f13679b60ba39861f71b38d86..d8bc7935e8fedd820cf71f854426d23dad053b2c 100644 --- a/bin/dbus/dbusclient.cpp +++ b/bin/dbus/dbusclient.cpp @@ -50,6 +50,8 @@ #include <cstdlib> #include <cstring> +static constexpr const char* const JAMI_DBUS_NAME = "cx.ring.Ring"; + class EventCallback : public DBus::Callback_Base<void, DBus::DefaultTimeout&> { @@ -74,7 +76,10 @@ DBusClient::DBusClient(int flags, bool persistent) DBus::default_dispatcher = dispatcher_.get(); 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}); configurationManager_.reset(new DBusConfigurationManager {sessionConnection});