From 85f8f62da6bb26d7033310af9d3260b073efe4bf Mon Sep 17 00:00:00 2001 From: Olivier Andrieu Date: Fri, 24 Sep 2004 10:43:36 +0000 Subject: * doc/dbus-specification.xml: document ServiceOwnerChanged signal. * bus/driver.c, bus/driver.h, bus/services.c: Use ServiceOwnerChanged signal instead of ServiceCreated and ServiceDeleted. * bus/dispatch.c: update testcase for the new signal. --- bus/services.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'bus/services.c') diff --git a/bus/services.c b/bus/services.c index f5ef4cc2..0ba3225d 100644 --- a/bus/services.c +++ b/bus/services.c @@ -164,7 +164,10 @@ bus_registry_ensure (BusRegistry *registry, return NULL; } - if (!bus_driver_send_service_created (service->name, transaction, error)) + if (!bus_driver_send_service_owner_changed (service->name, + NULL, + bus_connection_get_name (owner_if_created), + transaction, error)) { bus_service_unref (service); return NULL; @@ -726,20 +729,31 @@ bus_service_remove_owner (BusService *service, } else if (_dbus_list_length_is_one (&service->owners)) { - if (!bus_driver_send_service_deleted (service->name, - transaction, error)) + if (!bus_driver_send_service_owner_changed (service->name, + bus_connection_get_name (owner), + NULL, + transaction, error)) return FALSE; } else { DBusList *link; + DBusConnection *new_owner; link = _dbus_list_get_first_link (&service->owners); _dbus_assert (link != NULL); link = _dbus_list_get_next_link (&service->owners, link); _dbus_assert (link != NULL); + new_owner = link->data; + + if (!bus_driver_send_service_owner_changed (service->name, + bus_connection_get_name (owner), + bus_connection_get_name (new_owner), + transaction, error)) + return FALSE; + /* This will be our new owner */ - if (!bus_driver_send_service_acquired (link->data, + if (!bus_driver_send_service_acquired (new_owner, service->name, transaction, error)) -- cgit