aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Albinus <[email protected]>2011-09-24 13:36:53 +0200
committerMichael Albinus <[email protected]>2011-09-24 13:36:53 +0200
commita3de0cbd6de04250fb1a55d27bb1a1b7e61f31f1 (patch)
treec8df28ac4c93d7c67963d16b389104e84b9c6064 /src
parent512a289dc6648b489456fa5f514f2bc8dafb4039 (diff)
* dbusbind.c (Fdbus_register_signal): Add match rule to
Vdbus_registered_objects_table. (Bug#9581) (Fdbus_register_method, Vdbus_registered_objects_table): Fix docstring.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/dbusbind.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7435254b49..be80149139 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2011-09-24 Michael Albinus <[email protected]>
+
+ * dbusbind.c (Fdbus_register_signal): Add match rule to
+ Vdbus_registered_objects_table. (Bug#9581)
+ (Fdbus_register_method, Vdbus_registered_objects_table): Fix
+ docstring.
+
2011-09-24 Jim Meyering <[email protected]>
do not ignore write error for any output size
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 227d4e647e..14c1621e0e 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -2145,7 +2145,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
/* Create a hash table entry. */
key = list3 (bus, interface, signal);
- key1 = list4 (uname, service, path, handler);
+ key1 = list5 (uname, service, path, handler, build_string (rule));
value = Fgethash (key, Vdbus_registered_objects_table, Qnil);
if (NILP (Fmember (key1, value)))
@@ -2177,7 +2177,7 @@ 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
+DONT-REGISTER-SERVICE can be used 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,
@@ -2319,6 +2319,9 @@ be called when a D-Bus message, which matches the key criteria,
arrives (methods and signals), or a cons cell containing the value of
the property.
+For signals, there is also a fifth element RULE, which keeps the match
+string the signal is registered with.
+
In the second case, the key in the hash table is the list (BUS
SERIAL). BUS is either a Lisp symbol, `:system' or `:session', or a
string denoting the bus address. SERIAL is the serial number of the