unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jan Moringen <jan.moringen@uni-bielefeld.de>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: emacs-devel@gnu.org
Subject: Re: DBus methods without name grabbing
Date: Tue, 04 Jan 2011 03:42:52 +0100	[thread overview]
Message-ID: <7758_1294108975_ZZh0g0_f99~qx.00_1294108972.8785.33.camel@gunhead> (raw)
In-Reply-To: <87lj32kuyz.fsf@gmx.de>

[-- Attachment #1: Type: text/plain, Size: 1837 bytes --]

Hi Michael,

thanks for the helpful reply.

An updated patch is attached.

There seems to be some oddities concerning the ChangeLog, I don't know
where these come from.

> In general, I agree with your proposal. I have some few comments:
> 
> - The optional parameter in `dbus-register-method' and
>   `dbus-register-property' shall be called `dont-register-service'. This
>   would fit the dbus terminology we use so far.

Done.

> - We might introduce a new function `dbus-register-service' (in dbusbind.c).
>   It could offer optional argument flags, a list of the supported flags
>   of "org.freedesktop.DBus.RequestName"
>   (DBUS_NAME_FLAG_ALLOW_REPLACEMENT, DBUS_NAME_FLAG_REPLACE_EXISTING,
>   DBUS_NAME_FLAG_DO_NOT_QUEUE). This function shall be called in
>   `dbus-register-method' and `dbus-register-property' when
>   `dont-register-service' is nil. Btw, the function
>   `dbus-unregister-service' exists already ...

I would rather tackle this change in a separate patch later.

> - It would be great, if you could add also changed doc strings, changed
>   dbus.texi, ChangeLog and etc/NEWS entries.

Done.

> > === modified file 'src/dbusbind.c'
> > --- src/dbusbind.c	2010-10-01 13:56:33 +0000
> > +++ src/dbusbind.c	2010-10-03 02:17:34 +0000
> > @@ -1983,10 +1983,16 @@
> >  
> >    /* Request the known name from the bus.  We can ignore the result,
> >       it is set to -1 if there is an error - kind of redundancy.  */
> > -  dbus_error_init (&derror);
> > -  result = dbus_bus_request_name (connection, SDATA (service), 0, &derror);
> > -  if (dbus_error_is_set (&derror))
> > -    XD_ERROR (derror);
> > +  if (!dont_request_name || NILP (dont_request_name))
> 
> dont_request_name is a Lisp object, it is nil when not used in the
> call. You shall use
> 
> if (NILP (dont_request_name))

Done.

Kind regards,
Jan


[-- Attachment #2: dbus-dont-register-service.patch --]
[-- Type: text/x-patch, Size: 16782 bytes --]

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: jan.moringen@uni-bielefeld.de-20110104023841-\
#   k6faivnl513kq9ng
# target_branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
# testament_sha1: f899596030b46b47165b0dff53cb9e67f28ceaff
# timestamp: 2011-01-04 03:40:18 +0100
# base_revision_id: yamaoka@jpl.org-20110104022415-mkhshvn1pqc40zw6
# 
# Begin patch
=== modified file 'doc/misc/dbus.texi'
--- doc/misc/dbus.texi	2010-11-10 08:41:53 +0000
+++ doc/misc/dbus.texi	2011-01-04 02:38:41 +0000
@@ -1264,7 +1264,7 @@
 string.
 @end deffn
 
-@defun dbus-register-method bus service path interface method handler
+@defun dbus-register-method bus service path interface method handler dont-register-service
 With this function, an application registers @var{method} on the D-Bus
 @var{bus}.
 
@@ -1272,10 +1272,11 @@
 @code{:session}.
 
 @var{service} is the D-Bus service name of the D-Bus object
-@var{method} is registered for.  It must be a known name.
+@var{method} is registered for.  It must be a known name (See
+discussion of @var{dont-register-service} below).
 
-@var{path} is the D-Bus object path @var{service} is
-registered.
+@var{path} is the D-Bus object path @var{service} is registered (See
+discussion of @var{dont-register-service} below).
 
 @var{interface} is the interface offered by @var{service}.  It must
 provide @var{method}.
@@ -1294,6 +1295,13 @@
 In case @var{handler} shall return a reply message with an empty
 argument list, @var{handler} must return the symbol @code{:ignore}.
 
+When @var{dont-register-service} is non-nil, the known name
+@var{service} is not registered.  This means that other D-Bus clients
+have no way of noticing the newly registered method.  When interfaces
+are constructed incrementally by adding single methods or properties
+at a time, @var{dont-register-service} can be use to prevent other
+clients from discovering the still incomplete interface.
+
 The default D-Bus timeout when waiting for a message reply is 25
 seconds.  This value could be even smaller, depending on the calling
 client.  Therefore, @var{handler} shall not last longer than

=== modified file 'etc/NEWS'
--- etc/NEWS	2011-01-03 01:18:33 +0000
+++ etc/NEWS	2011-01-04 02:38:41 +0000
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2010, 2011  Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -556,7 +556,7 @@
 
 *** It is possible now, to access alternative buses than the default
 system or session bus.
-
+*** dbus-register-{method,property} do not necessarily register names anymore
 ** Tramp
 
 *** There exists a new inline access method "ksu" (kerberized su).
@@ -713,8 +713,8 @@
 
 *** If Emacs is compiled with libxml2 support (which is the default),
 two new Emacs Lisp-level functions are defined:
-`libxml-parse-html-region' (which will parse "real world" HTML)
-and `libxml-parse-xml-region' (which parses XML).  Both return an
+`xml-parse-html-string-internal' (which will parse "real world" HTML)
+and `xml-parse-string-internal' (which parses XML).  Both return an
 Emacs Lisp parse tree.
 
 FIXME: These should be front-ended by xml.el.

=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2011-01-03 20:50:05 +0000
+++ lisp/ChangeLog	2011-01-04 02:38:41 +0000
@@ -1,3 +1,8 @@
+2011-01-04  Jan Moringen  <jan.moringen@uni-bielefeld.de>
+
+	* net/dbus.el (dbus-register-property): Added optional parameter
+	dont-register-service.  Updated docstring accordingly.
+
 2011-01-02  Eli Zaretskii  <eliz@gnu.org>
 
 	* term/w32-win.el (dynamic-library-alist): Set up correctly for
@@ -114,13 +119,6 @@
 	* mail/mail-utils.el (mail-mbox-from): Handle From: headers with
 	multiple addresses.  (Bug#7760)
 
-2011-01-01  Ken Manheimer  <ken.manheimer@gmail.com>
-
-	allout.el (allout-auto-fill): Do not infinitely recurse - use
-	do-auto-fill if everything points back to allout-auto-fill.
-	(allout-mode-deactivate-hook): Declare obsolete, in favor of
-	standard-formed minor-mode deactivate hook, allout-mode-off-hook.
-
 2010-12-31  Michael Albinus  <michael.albinus@gmx.de>
 
 	* net/tramp-sh.el (tramp-methods): Add recursive options to "scpc"
@@ -190,21 +188,6 @@
 	pretty-printed, so that it is mergeable by line-based text merging,
 	as suggested by Iain Dalton <iain.dalton {_AT_} gmail.com>.
 
-2010-12-28  Ken Manheimer  <ken.manheimer@gmail.com>
-
-	allout.el (allout-v18/19-file-var-hack): Obsolete, remove.
-	(allout-mode): Argument "toggle" => "force".
-	Refine the docstring.
-	Remove special provisions for reactivation, besides the 'force'
-	argument.
-	Consolidate layout provisions coce directly into the activation
-	condition branch, now that we've removed those provisions.
-	(allout-unload-function): Explicitly activate the mode before
-	deactivating, if it's initially deactivated.
-	(allout-set-buffer-multibyte): Properly prevent byte-compiler
-	warnings for version of function used only where
-	set-buffer-multibyte is unavailable.
-
 2010-12-28  Chong Yidong  <cyd@stupidchicken.com>
 
 	* tool-bar.el (tool-bar-setup): Remove :enable conditions, which

=== modified file 'lisp/net/dbus.el'
--- lisp/net/dbus.el	2010-11-03 03:49:04 +0000
+++ lisp/net/dbus.el	2011-01-04 02:38:41 +0000
@@ -868,21 +868,23 @@
 	(add-to-list 'result (cons (car dict) (caadr dict)) 'append)))))
 
 (defun dbus-register-property
-  (bus service path interface property access value &optional emits-signal)
+  (bus service path interface property access value
+   &optional emits-signal dont-register-service)
   "Register property PROPERTY on the D-Bus BUS.
 
 BUS is either a Lisp symbol, `:system' or `:session', or a string
 denoting the bus address.
 
 SERVICE is the D-Bus service name of the D-Bus.  It must be a
-known name.
+known name (See discussion of DONT-REGISTER-SERVICE below).
 
-PATH is the D-Bus object path SERVICE is registered.  INTERFACE
-is the name of the interface used at PATH, PROPERTY is the name
-of the property of INTERFACE.  ACCESS indicates, whether the
-property can be changed by other services via D-Bus.  It must be
-either the symbol `:read' or `:readwrite'.  VALUE is the initial
-value of the property, it can be of any valid type (see
+PATH is the D-Bus object path SERVICE is registered (See
+discussion of DONT-REGISTER-SERVICE below).  INTERFACE is the
+name of the interface used at PATH, PROPERTY is the name of the
+property of INTERFACE.  ACCESS indicates, whether the property
+can be changed by other services via D-Bus.  It must be either
+the symbol `:read' or `:readwrite'.  VALUE is the initial value
+of the property, it can be of any valid type (see
 `dbus-call-method' for details).
 
 If PROPERTY already exists on PATH, it will be overwritten.  For
@@ -894,12 +896,20 @@
 PATH, including a default handler for the \"Get\", \"GetAll\" and
 \"Set\" methods of this interface.  When EMITS-SIGNAL is non-nil,
 the signal \"PropertiesChanged\" is sent when the property is
-changed by `dbus-set-property'."
+changed by `dbus-set-property'. 
+
+When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is
+not registered.  This means that other D-Bus clients have no way
+of noticing the newly registered property.  When interfaces are
+constructed incrementally by adding single methods or properties
+at a time, DONT-REGISTER-SERVICE can be use to prevent other
+clients from discovering the still incomplete interface."
   (unless (member access '(:read :readwrite))
     (signal 'dbus-error (list "Access type invalid" access)))
 
   ;; Register SERVICE.
-  (unless (member service (dbus-list-names bus))
+  (unless (or dont-register-service
+	      (member service (dbus-list-names bus)))
     (dbus-call-method
      bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus
      "RequestName" service 0))
@@ -907,11 +917,14 @@
   ;; Add the handler.  We use `dbus-service-emacs' as service name, in
   ;; order to let unregister SERVICE despite of this default handler.
   (dbus-register-method
-   bus service path dbus-interface-properties "Get" 'dbus-property-handler)
-  (dbus-register-method
-   bus service path dbus-interface-properties "GetAll" 'dbus-property-handler)
-  (dbus-register-method
-   bus service path dbus-interface-properties "Set" 'dbus-property-handler)
+   bus service path dbus-interface-properties "Get" 'dbus-property-handler
+   dont-register-service)
+  (dbus-register-method
+   bus service path dbus-interface-properties "GetAll" 'dbus-property-handler
+   dont-register-service)
+  (dbus-register-method
+   bus service path dbus-interface-properties "Set" 'dbus-property-handler
+   dont-register-service)
 
   ;; Send the PropertiesChanged signal.
   (when emits-signal

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-01-03 19:35:59 +0000
+++ src/ChangeLog	2011-01-04 02:38:41 +0000
@@ -1,7 +1,7 @@
-2011-01-03  Eli Zaretskii  <eliz@gnu.org>
+2011-01-04  Jan Moringen  <jan.moringen@uni-bielefeld.de>
 
-	* image.c (png_jmpbuf): Remove definition.
-	(my_png_error, png_load): Don't use png_jmpbuf.
+	* dbusbind.c (dbus-register-method): Added optional parameter
+	dont-register-service.  Updated docstring accordingly.
 
 2011-01-02  Eli Zaretskii  <eliz@gnu.org>
 

=== modified file 'src/dbusbind.c'
--- src/dbusbind.c	2010-11-10 09:08:05 +0000
+++ src/dbusbind.c	2011-01-04 02:38:41 +0000
@@ -1983,21 +1983,30 @@
 }
 
 DEFUN ("dbus-register-method", Fdbus_register_method, Sdbus_register_method,
-       6, 6, 0,
+       6, 7, 0,
        doc: /* Register for method METHOD on the D-Bus BUS.
 
 BUS is either a Lisp symbol, `:system' or `:session', or a string
 denoting the bus address.
 
 SERVICE is the D-Bus service name of the D-Bus object METHOD is
-registered for.  It must be a known name.
-
-PATH is the D-Bus object path SERVICE is registered.  INTERFACE is the
-interface offered by SERVICE.  It must provide METHOD.  HANDLER is a
-Lisp function to be called when a method call is received.  It must
-accept the input arguments of METHOD.  The return value of HANDLER is
-used for composing the returning D-Bus message.  */)
-  (Lisp_Object bus, Lisp_Object service, Lisp_Object path, Lisp_Object interface, Lisp_Object method, Lisp_Object handler)
+registered for.  It must be a known name (See discussion of
+DONT-REGISTER-SERVICE below).
+
+PATH is the D-Bus object path SERVICE is registered (See discussion of
+DONT-REGISTER-SERVICE below).  INTERFACE is the interface offered by
+SERVICE.  It must provide METHOD.  HANDLER is a Lisp function to be
+called when a method call is received.  It must accept the input
+arguments of METHOD.  The return value of HANDLER is used for
+composing the returning D-Bus message.
+
+When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is not
+registered.  This means that other D-Bus clients have no way of
+noticing the newly registered method.  When interfaces are constructed
+incrementally by adding single methods or properties at a time,
+DONT-REGISTER-SERVICE can be use to prevent other clients from
+discovering the still incomplete interface.*/)
+  (Lisp_Object bus, Lisp_Object service, Lisp_Object path, Lisp_Object interface, Lisp_Object method, Lisp_Object handler, Lisp_Object dont_register_service)
 {
   Lisp_Object key, key1, value;
   DBusConnection *connection;
@@ -2019,10 +2028,16 @@
 
   /* Request the known name from the bus.  We can ignore the result,
      it is set to -1 if there is an error - kind of redundancy.  */
-  dbus_error_init (&derror);
-  result = dbus_bus_request_name (connection, SDATA (service), 0, &derror);
-  if (dbus_error_is_set (&derror))
-    XD_ERROR (derror);
+  if (NILP (dont_register_service))
+    {
+      dbus_error_init (&derror);
+      result = dbus_bus_request_name (connection, SDATA (service), 0, &derror);
+      if (dbus_error_is_set (&derror))
+	XD_ERROR (derror);
+
+      /* Cleanup.  */
+      dbus_error_free (&derror);
+    }
 
   /* Create a hash table entry.  We use nil for the unique name,
      because the method might be called from anybody.  */
@@ -2033,9 +2048,6 @@
   if (NILP (Fmember (key1, value)))
     Fputhash (key, Fcons (key1, value), Vdbus_registered_objects_table);
 
-  /* Cleanup.  */
-  dbus_error_free (&derror);
-
   /* Return object.  */
   return list2 (key, list3 (service, path, handler));
 }

# Begin bundle
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
h8641BlGB26NMyyaf+LuSKcKEhTJ/5Ng

  reply	other threads:[~2011-01-04  2:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-02 21:06 DBus methods without name grabbing Jan Moringen
2011-01-03 12:55 ` Michael Albinus
2011-01-04  2:42   ` Jan Moringen [this message]
2011-01-04 10:10     ` Michael Albinus
2011-01-04 10:29       ` Jan Moringen
2011-01-04 13:09         ` Michael Albinus
2011-01-05  4:17       ` Jan Moringen
2011-01-05 11:45         ` Michael Albinus
2011-01-08  5:48           ` Jan Moringen
2011-01-09  9:42             ` Michael Albinus
2011-01-09 16:08               ` Jan Moringen
2011-01-10 11:40                 ` Michael Albinus
     [not found]       ` <1294201048.2508.1.camel@gunhead>
2011-01-05 10:46         ` Jan Moringen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='7758_1294108975_ZZh0g0_f99~qx.00_1294108972.8785.33.camel@gunhead' \
    --to=jan.moringen@uni-bielefeld.de \
    --cc=emacs-devel@gnu.org \
    --cc=michael.albinus@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).