From 2bc92a930d01f1c0d4b79f8f028ab45312e4f055 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 10 Jan 2011 12:28:31 +0100 Subject: * dbusbind.c (Fdbus_register_service): Raise an error in case of unexpected return values. (Fdbus_register_method): Remove connection initialization. --- src/dbusbind.c | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) (limited to 'src/dbusbind.c') diff --git a/src/dbusbind.c b/src/dbusbind.c index 2e0a71cad6..0c59c08f5b 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c @@ -1888,8 +1888,8 @@ Example: => :primary-owner. \(dbus-register-service -:session "org.freedesktop.TextEditor" -dbus-service-allow-replacement dbus-service-replace-existing) + :session "org.freedesktop.TextEditor" + dbus-service-allow-replacement dbus-service-replace-existing) => :already-owner. @@ -1939,18 +1939,20 @@ usage: (dbus-register-service BUS SERVICE &rest FLAGS) */) dbus_error_free (&derror); /* Return object. */ - switch (result) { - case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER: - return QCdbus_request_name_reply_primary_owner; - case DBUS_REQUEST_NAME_REPLY_IN_QUEUE: - return QCdbus_request_name_reply_in_queue; - case DBUS_REQUEST_NAME_REPLY_EXISTS: - return QCdbus_request_name_reply_exists; - case DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER: - return QCdbus_request_name_reply_already_owner; - default: - return Qnil; - } + switch (result) + { + case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER: + return QCdbus_request_name_reply_primary_owner; + case DBUS_REQUEST_NAME_REPLY_IN_QUEUE: + return QCdbus_request_name_reply_in_queue; + case DBUS_REQUEST_NAME_REPLY_EXISTS: + return QCdbus_request_name_reply_exists; + case DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER: + return QCdbus_request_name_reply_already_owner; + default: + /* This should not happen. */ + XD_SIGNAL2 (build_string ("Could not register service"), service); + } } DEFUN ("dbus-register-signal", Fdbus_register_signal, Sdbus_register_signal, @@ -2129,8 +2131,6 @@ discovering the still incomplete interface.*/) Lisp_Object dont_register_service) { Lisp_Object key, key1, value; - DBusConnection *connection; - int result; DBusError derror; Lisp_Object args[2] = { bus, service }; @@ -2144,11 +2144,8 @@ discovering the still incomplete interface.*/) /* TODO: We must check for a valid service name, otherwise there is a segmentation fault. */ - /* Open a connection to the bus. */ - connection = xd_initialize (bus, TRUE); - /* Request the name. */ - if (NILP(dont_register_service)) + if (NILP (dont_register_service)) Fdbus_register_service (2, args); /* Create a hash table entry. We use nil for the unique name, -- cgit v1.2.3