summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-bus.c
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2007-09-20 13:04:38 -0400
committerRyan Lortie <desrt@desrt.ca>2007-09-20 13:04:38 -0400
commitf6ec4a80abbfd4e4f4969747c39e625b2689df08 (patch)
tree1500ff660a14b0ffd1d5f797d42e8fc322e1933c /dbus/dbus-bus.c
parent8c6b0ab3f7e437362112eeaf83a566475b85d27c (diff)
Add argument path matching support. Bug #11066.
2007-09-20 Ryan Lortie <desrt@desrt.ca> * dbus/signals.c (struct DBusMatchRule, bus_match_rule_new, bus_match_rule_set_arg, bus_match_rule_parse_arg_match, match_rule_matches): Add support for parsing and matching on arg0path='/some/path' type rules. * dbus/signals.h (bus_match_rule_set_arg): change to take const DBusString instead of const char * for the string to match against. * dbus/dbus-bus.c: add a quick note to dbus_bus_add_match documentation about the path matching. * doc/dbus-specification.xml: add a more detailed description of the changes here.
Diffstat (limited to 'dbus/dbus-bus.c')
-rw-r--r--dbus/dbus-bus.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/dbus/dbus-bus.c b/dbus/dbus-bus.c
index fd569c2b..c7f43e8c 100644
--- a/dbus/dbus-bus.c
+++ b/dbus/dbus-bus.c
@@ -1424,6 +1424,13 @@ send_no_return_values (DBusConnection *connection,
*
* Currently there is no way to match against non-string arguments.
*
+ * A specialised form of wildcard matching on arguments is
+ * supported for path-like namespaces. If your argument match has
+ * a 'path' suffix (eg: "arg0path='/some/path/'") then it is
+ * considered a match if the argument exactly matches the given
+ * string or if one of them ends in a '/' and is a prefix of the
+ * other.
+ *
* Matching on interface is tricky because method call
* messages only optionally specify the interface.
* If a message omits the interface, then it will NOT match