aboutsummaryrefslogtreecommitdiffstats
path: root/src/dbusbind.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbusbind.c')
-rw-r--r--src/dbusbind.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 227d4e647e9..52e08d8ee2a 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -2071,13 +2071,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
2071 && (SBYTES (service) > 0) 2071 && (SBYTES (service) > 0)
2072 && (strcmp (SSDATA (service), DBUS_SERVICE_DBUS) != 0) 2072 && (strcmp (SSDATA (service), DBUS_SERVICE_DBUS) != 0)
2073 && (strncmp (SSDATA (service), ":", 1) != 0)) 2073 && (strncmp (SSDATA (service), ":", 1) != 0))
2074 { 2074 uname = call2 (intern ("dbus-get-name-owner"), bus, service);
2075 uname = call2 (intern ("dbus-get-name-owner"), bus, service);
2076 /* When there is no unique name, we mark it with an empty
2077 string. */
2078 if (NILP (uname))
2079 uname = empty_unibyte_string;
2080 }
2081 else 2075 else
2082 uname = service; 2076 uname = service;
2083 2077
@@ -2145,7 +2139,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
2145 2139
2146 /* Create a hash table entry. */ 2140 /* Create a hash table entry. */
2147 key = list3 (bus, interface, signal); 2141 key = list3 (bus, interface, signal);
2148 key1 = list4 (uname, service, path, handler); 2142 key1 = list5 (uname, service, path, handler, build_string (rule));
2149 value = Fgethash (key, Vdbus_registered_objects_table, Qnil); 2143 value = Fgethash (key, Vdbus_registered_objects_table, Qnil);
2150 2144
2151 if (NILP (Fmember (key1, value))) 2145 if (NILP (Fmember (key1, value)))
@@ -2177,7 +2171,7 @@ When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is not
2177registered. This means that other D-Bus clients have no way of 2171registered. This means that other D-Bus clients have no way of
2178noticing the newly registered method. When interfaces are constructed 2172noticing the newly registered method. When interfaces are constructed
2179incrementally by adding single methods or properties at a time, 2173incrementally by adding single methods or properties at a time,
2180DONT-REGISTER-SERVICE can be use to prevent other clients from 2174DONT-REGISTER-SERVICE can be used to prevent other clients from
2181discovering the still incomplete interface.*/) 2175discovering the still incomplete interface.*/)
2182 (Lisp_Object bus, Lisp_Object service, Lisp_Object path, 2176 (Lisp_Object bus, Lisp_Object service, Lisp_Object path,
2183 Lisp_Object interface, Lisp_Object method, Lisp_Object handler, 2177 Lisp_Object interface, Lisp_Object method, Lisp_Object handler,
@@ -2319,6 +2313,9 @@ be called when a D-Bus message, which matches the key criteria,
2319arrives (methods and signals), or a cons cell containing the value of 2313arrives (methods and signals), or a cons cell containing the value of
2320the property. 2314the property.
2321 2315
2316For signals, there is also a fifth element RULE, which keeps the match
2317string the signal is registered with.
2318
2322In the second case, the key in the hash table is the list (BUS 2319In the second case, the key in the hash table is the list (BUS
2323SERIAL). BUS is either a Lisp symbol, `:system' or `:session', or a 2320SERIAL). BUS is either a Lisp symbol, `:system' or `:session', or a
2324string denoting the bus address. SERIAL is the serial number of the 2321string denoting the bus address. SERIAL is the serial number of the