diff options
author | Jon Trowbridge <trow@ximian.com> | 2004-08-26 17:26:06 +0000 |
---|---|---|
committer | Jon Trowbridge <trow@ximian.com> | 2004-08-26 17:26:06 +0000 |
commit | 2091cdd4e1c58318ac75533e2ea4a92292e1783c (patch) | |
tree | 85b55a61fd22ea4db27b1b41e78c959e575db440 /bus/driver.c | |
parent | b78d222083d1a1186743e2bb3aded49b5a950fe2 (diff) |
2004-08-26 Jon Trowbridge <trow@ximian.com>
* bus/driver.c (bus_driver_handle_service_exists): Respond with
TRUE if we are inquiring about the existence of the built-in
org.freedesktop.DBus service.
Diffstat (limited to 'bus/driver.c')
-rw-r--r-- | bus/driver.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/bus/driver.c b/bus/driver.c index 9923f121..90659cd2 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -511,6 +511,7 @@ bus_driver_handle_service_exists (DBusConnection *connection, DBusMessage *reply; DBusString service_name; BusService *service; + dbus_bool_t service_exists; char *name; dbus_bool_t retval; BusRegistry *registry; @@ -525,10 +526,18 @@ bus_driver_handle_service_exists (DBusConnection *connection, return FALSE; retval = FALSE; + + if (strcmp (name, DBUS_SERVICE_ORG_FREEDESKTOP_DBUS) == 0) + { + service_exists = TRUE; + } + else + { + _dbus_string_init_const (&service_name, name); + service = bus_registry_lookup (registry, &service_name); + service_exists = service != NULL; + } - _dbus_string_init_const (&service_name, name); - service = bus_registry_lookup (registry, &service_name); - reply = dbus_message_new_method_return (message); if (reply == NULL) { @@ -537,7 +546,7 @@ bus_driver_handle_service_exists (DBusConnection *connection, } if (!dbus_message_append_args (reply, - DBUS_TYPE_BOOLEAN, service != NULL, + DBUS_TYPE_BOOLEAN, service_exists, 0)) { BUS_SET_OOM (error); |