diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-04-07 17:16:01 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-04-07 17:16:24 +0100 |
commit | 74072479a05dbf9208a5f92495e7eb32f471428c (patch) | |
tree | 68bcfacfada594fbbfb056607c9d7ba39c6c99ff /doc | |
parent | c99ead074a5c0917716c28c2ff1dc2e0c74a1b53 (diff) | |
parent | f15c6d66ca73d3fbee77118b94f1a5617e3577a2 (diff) | |
download | dbus-74072479a05dbf9208a5f92495e7eb32f471428c.tar.gz |
Merge branch 'arg0namespace-24317'
Reviewed-by: David Zeuthen <davidz@redhat.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=24317
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31818
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34870
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dbus-specification.xml | 118 |
1 files changed, 104 insertions, 14 deletions
diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml index ee5aac58..bb8ecd27 100644 --- a/doc/dbus-specification.xml +++ b/doc/dbus-specification.xml @@ -6,8 +6,8 @@ <article id="index"> <articleinfo> <title>D-Bus Specification</title> - <releaseinfo>Version 0.15</releaseinfo> - <date>3 November 2010</date> + <releaseinfo>Version 0.16</releaseinfo> + <date>(not finalized)</date> <authorgroup> <author> <firstname>Havoc</firstname> @@ -3722,6 +3722,43 @@ path match is path='/org/freedesktop/Hal/Manager'</entry> </row> <row> + <entry><literal>path_namespace</literal></entry> + <entry>An object path</entry> + <entry> + <para> + Matches messages which are sent from or to an + object for which the object path is either the + given value, or that value followed by one or + more path components. + </para> + + <para> + For example, + <literal>path_namespace='/com/example/foo'</literal> + would match signals sent by + <literal>/com/example/foo</literal> + or by + <literal>/com/example/foo/bar</literal>, + but not by + <literal>/com/example/foobar</literal>. + </para> + + <para> + Using both <literal>path</literal> and + <literal>path_namespace</literal> in the same match + rule is not allowed. + </para> + + <para> + <emphasis> + This match key was added in version 0.16 of the + D-Bus specification and implemented by the bus + daemon in dbus 1.5.0 and later. + </emphasis> + </para> + </entry> + </row> + <row> <entry><literal>destination</literal></entry> <entry>A unique name (see <xref linkend="term-unique-name"/>)</entry> <entry>Matches messages which are being sent to the given unique name. An @@ -3731,24 +3768,77 @@ <entry><literal>arg[0, 1, 2, 3, ...]</literal></entry> <entry>Any string</entry> <entry>Arg matches are special and are used for further restricting the - match based on the arguments in the body of a message. As of this time - only string arguments can be matched. An example of an argument match + match based on the arguments in the body of a message. Only arguments of type + STRING can be matched in this way. An example of an argument match would be arg3='Foo'. Only argument indexes from 0 to 63 should be accepted.</entry> </row> <row> <entry><literal>arg[0, 1, 2, 3, ...]path</literal></entry> <entry>Any string</entry> - <entry>Argument path matches provide a specialised form of wildcard - matching for path-like namespaces. As with normal argument matches, - if the argument is exactly equal to the string given in the match - rule then the rule is satisfied. Additionally, there is also a - match when either the string given in the match rule or the - appropriate message argument ends with '/' and is a prefix of the - other. An example argument path match is arg0path='/aa/bb/'. This - would match messages with first arguments of '/', '/aa/', - '/aa/bb/', '/aa/bb/cc/' and '/aa/bb/cc'. It would not match - messages with first arguments of '/aa/b', '/aa' or even '/aa/bb'.</entry> + <entry> + <para>Argument path matches provide a specialised form of wildcard matching for + path-like namespaces. They can match arguments whose type is either STRING or + OBJECT_PATH. As with normal argument matches, + if the argument is exactly equal to the string given in the match + rule then the rule is satisfied. Additionally, there is also a + match when either the string given in the match rule or the + appropriate message argument ends with '/' and is a prefix of the + other. An example argument path match is arg0path='/aa/bb/'. This + would match messages with first arguments of '/', '/aa/', + '/aa/bb/', '/aa/bb/cc/' and '/aa/bb/cc'. It would not match + messages with first arguments of '/aa/b', '/aa' or even '/aa/bb'.</para> + + <para>This is intended for monitoring “directories” in file system-like + hierarchies, as used in the <citetitle>dconf</citetitle> configuration + system. An application interested in all nodes in a particular hierarchy would + monitor <literal>arg0path='/ca/example/foo/'</literal>. Then the service could + emit a signal with zeroth argument <literal>"/ca/example/foo/bar"</literal> to + represent a modification to the “bar” property, or a signal with zeroth + argument <literal>"/ca/example/"</literal> to represent atomic modification of + many properties within that directory, and the interested application would be + notified in both cases.</para> + <para> + <emphasis> + This match key was added in version 0.12 of the + D-Bus specification, implemented for STRING + arguments by the bus daemon in dbus 1.2.0 and later, + and implemented for OBJECT_PATH arguments in dbus 1.5.0 + and later. + </emphasis> + </para> + </entry> + </row> + <row> + <entry><literal>arg0namespace</literal></entry> + <entry>Like a bus name, except that the string is not + required to contain a '.' (period)</entry> + <entry> + <para>Match messages whose first argument is of type STRING, and is a bus name + or interface name within the specified namespace. This is primarily intended + for watching name owner changes for a group of related bus names, rather than + for a single name or all name changes.</para> + + <para>Because every valid interface name is also a valid + bus name, this can also be used for messages whose + first argument is an interface name.</para> + + <para>For example, the match rule + <literal>member='NameOwnerChanged',arg0namespace='com.example.backend'</literal> + matches name owner changes for bus names such as + <literal>com.example.backend.foo</literal>, + <literal>com.example.backend.foo.bar</literal>, and + <literal>com.example.backend</literal> itself.</para> + + <para>See also <xref linkend='bus-messages-name-owner-changed'/>.</para> + <para> + <emphasis> + This match key was added in version 0.16 of the + D-Bus specification and implemented by the bus + daemon in dbus 1.5.0 and later. + </emphasis> + </para> + </entry> </row> </tbody> </tgroup> |