diff options
author | Olivier Andrieu <oliv__a@users.sourceforge.net> | 2004-09-24 10:43:36 +0000 |
---|---|---|
committer | Olivier Andrieu <oliv__a@users.sourceforge.net> | 2004-09-24 10:43:36 +0000 |
commit | 85f8f62da6bb26d7033310af9d3260b073efe4bf (patch) | |
tree | 9b4bc616ed867cba0e8b48873c9b9e91cd326bbb /bus/services.c | |
parent | 64b63e84b7f08695bf194a05aadd074600c8e622 (diff) |
* 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.
Diffstat (limited to 'bus/services.c')
-rw-r--r-- | bus/services.c | 22 |
1 files changed, 18 insertions, 4 deletions
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)) |