Mercurial > emacs
diff src/dbusbind.c @ 112185:318f49ef9a11
* dbusbind.c (Fdbus_register_service): Raise an error in case of
unexpected return values.
(Fdbus_register_method): Remove connection initialization.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Mon, 10 Jan 2011 12:28:31 +0100 |
parents | e79369283aa1 |
children | ef719132ddfa |
line wrap: on
line diff
--- a/src/dbusbind.c Mon Jan 10 12:21:01 2011 +0100 +++ b/src/dbusbind.c Mon Jan 10 12:28:31 2011 +0100 @@ -1888,8 +1888,8 @@ => :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 @@ 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 @@ 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 @@ /* 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,