diff --git a/daemon/src/dbus/instance-introspec.xml b/daemon/src/dbus/instance-introspec.xml index f564d54cc1ed7bb941af0b35fb063928cd2a9f88..ad343b217d058add616f04bddb94fc6be10ba60b 100644 --- a/daemon/src/dbus/instance-introspec.xml +++ b/daemon/src/dbus/instance-introspec.xml @@ -2,32 +2,12 @@ <node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.Instance"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p> + <p></p> </tp:docstring> - <method name="Register" tp:name-for-bindings="Register"> + <method name="Quit" tp:name-for-bindings="Quit"> <tp:docstring> - Register a new client to the core. Increments the registration count. - </tp:docstring> - <arg type="i" name="pid" direction="in"> - <tp:docstring> - The pid of the client process - </tp:docstring> - </arg> - <arg type="s" name="name" direction="in"> - <tp:docstring> - The name of the client - </tp:docstring> - </arg> - </method> - <method name="Unregister" tp:name-for-bindings="Unregister"> - <tp:docstring> - Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. - </tp:docstring> - <arg type="i" name="pid" direction="in"> - <tp:docstring> - The pid of the client process - </tp:docstring> - </arg> + Properly quits the core. + </tp:docstring> </method> </interface> </node> diff --git a/daemon/src/dbus/instance.cpp b/daemon/src/dbus/instance.cpp index 266b1b86cf97309032bd2a0ee10e7b4b343cd3ed..8f45db1dbe01d5a1f485194d434b6418e24cc0b3 100644 --- a/daemon/src/dbus/instance.cpp +++ b/daemon/src/dbus/instance.cpp @@ -34,24 +34,11 @@ Instance::Instance (DBus::Connection& connection) : DBus::ObjectAdaptor (connection, "/org/sflphone/SFLphone/Instance") { - count = 0; } void -Instance::Register (const int32_t& pid UNUSED, - const std::string& name UNUSED) +Instance::Quit(void) { - count++; -} - - -void -Instance::Unregister (const int32_t& pid UNUSED) -{ - count --; - - if (count <= 0) { - Manager::instance().terminate(); - Manager::instance().getDbusManager()->exit(); - } + Manager::instance().terminate(); + Manager::instance().getDbusManager()->exit(); } diff --git a/daemon/src/dbus/instance.h b/daemon/src/dbus/instance.h index 0258d7fdcd8f16be390979a524f83350bbe0a57c..7bed4504b959812587716ab754b4198df8a193f6 100644 --- a/daemon/src/dbus/instance.h +++ b/daemon/src/dbus/instance.h @@ -52,16 +52,10 @@ class Instance public DBus::IntrospectableAdaptor, public DBus::ObjectAdaptor { - private: - int count; - public: Instance (DBus::Connection& connection); - static const char* SERVER_PATH; - void Register (const int32_t& pid, const std::string& name); - void Unregister (const int32_t& pid); - int32_t getRegistrationCount (void); + void Quit(void); }; diff --git a/gnome/src/actions.c b/gnome/src/actions.c index 84e3bb0a36cfc631135eda6f0505bc3c046bf4a5..e84346e4dbd96a642c37e798ed9f0fcc8b7f595d 100644 --- a/gnome/src/actions.c +++ b/gnome/src/actions.c @@ -184,7 +184,7 @@ sflphone_quit () // Save the history sflphone_save_history (); - dbus_unregister (getpid()); + dbus_quit(); dbus_clean (); calllist_clean (current_calls); calllist_clean (contacts); @@ -315,7 +315,7 @@ void sflphone_fill_account_list (void) gboolean sflphone_init (GError **error) { - if (!dbus_connect (error) || !dbus_register (getpid (), "Gtk+ Client", error)) + if (!dbus_connect (error)) return FALSE; abook_init(); diff --git a/gnome/src/dbus/dbus.c b/gnome/src/dbus/dbus.c index 0873e07ded24502c922acb5dfda93a1f78828e6c..ff6356868b94ee4187699a532a4597bd7a6edcbb 100644 --- a/gnome/src/dbus/dbus.c +++ b/gnome/src/dbus/dbus.c @@ -1098,18 +1098,12 @@ dbus_start_tone (const int start, const guint type) } } -gboolean -dbus_register (int pid, gchar *name, GError **error) -{ - return org_sflphone_SFLphone_Instance_register (instanceProxy, pid, name, error); -} - void -dbus_unregister (int pid) +dbus_quit(void) { GError *error = NULL; - org_sflphone_SFLphone_Instance_unregister (instanceProxy, pid, &error); + org_sflphone_SFLphone_Instance_quit(instanceProxy, &error); if (error) { ERROR ("Failed to call unregister() on instanceProxy: %s", diff --git a/gnome/src/dbus/dbus.h b/gnome/src/dbus/dbus.h index 1eaebc4edec4a78a1925ec183367bd05fd77580b..157e4ae8d338eeb4616d30b3dc9a731700197c1c 100644 --- a/gnome/src/dbus/dbus.h +++ b/gnome/src/dbus/dbus.h @@ -359,20 +359,10 @@ void dbus_set_audio_manager (const gchar *api); */ void dbus_start_tone (const int start , const guint type); -/** - * Instance - Send registration request to dbus service. - * Manage the instances of clients connected to the server - * @param pid The pid of the processus client - * @param name The string description of the client. Here : GTK+ Client - * @param error return location for a GError or NULL - */ -gboolean dbus_register (int pid, gchar * name, GError **error); - /** * Instance - Send unregistration request to dbus services - * @param pid The pid of the processus */ -void dbus_unregister (int pid); +void dbus_quit(void); void dbus_set_sip_address (const gchar* address); diff --git a/gnome/src/dbus/instance-introspec.xml b/gnome/src/dbus/instance-introspec.xml index f564d54cc1ed7bb941af0b35fb063928cd2a9f88..ad343b217d058add616f04bddb94fc6be10ba60b 100644 --- a/gnome/src/dbus/instance-introspec.xml +++ b/gnome/src/dbus/instance-introspec.xml @@ -2,32 +2,12 @@ <node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.sflphone.SFLphone.Instance"> <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p> + <p></p> </tp:docstring> - <method name="Register" tp:name-for-bindings="Register"> + <method name="Quit" tp:name-for-bindings="Quit"> <tp:docstring> - Register a new client to the core. Increments the registration count. - </tp:docstring> - <arg type="i" name="pid" direction="in"> - <tp:docstring> - The pid of the client process - </tp:docstring> - </arg> - <arg type="s" name="name" direction="in"> - <tp:docstring> - The name of the client - </tp:docstring> - </arg> - </method> - <method name="Unregister" tp:name-for-bindings="Unregister"> - <tp:docstring> - Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits. - </tp:docstring> - <arg type="i" name="pid" direction="in"> - <tp:docstring> - The pid of the client process - </tp:docstring> - </arg> + Properly quits the core. + </tp:docstring> </method> </interface> </node>