summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2011-05-17 17:06:06 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2011-05-17 17:06:06 +0100
commit6213a3d8977c668a9a3dd2aaca211649ead60998 (patch)
tree2d7034ceee7b8fe9a344005451b51fdfad5330f9 /doc
parentfc87e251bc717b4fb58c15b77a5bbecfa94f9ad6 (diff)
downloaddbus-6213a3d8977c668a9a3dd2aaca211649ead60998.tar.gz
Describe best-practices for naming well-known bus names
Diffstat (limited to 'doc')
-rw-r--r--doc/dbus-specification.xml25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml
index 18caac18..40455139 100644
--- a/doc/dbus-specification.xml
+++ b/doc/dbus-specification.xml
@@ -1251,6 +1251,31 @@
Note that the hyphen ('-') character is allowed in bus names but
not in interface names.
</para>
+
+ <para>
+ Like <link linkend="message-protocol-names-interface">interface
+ names</link>, well-known bus names should start with the
+ reversed DNS domain name of the author of the interface (in
+ lower-case), and it is conventional for the rest of the well-known
+ bus name to consist of words run together, with initial
+ capital letters. As with interface names, including a version
+ number in well-known bus names is a good idea; it's possible to
+ have the well-known bus name for more than one version
+ simultaneously if backwards compatibility is required.
+ </para>
+
+ <para>
+ If a well-known bus name implies the presence of a "main" interface,
+ that "main" interface is often given the same name as
+ the well-known bus name, and situated at the corresponding object
+ path. For instance, if the owner of <literal>example.com</literal>
+ is developing a D-Bus API for a music player, they might define
+ that any application that takes the well-known name
+ <literal>com.example.MusicPlayer1</literal> should have an object
+ at the object path <literal>/com/example/MusicPlayer1</literal>
+ which implements the interface
+ <literal>com.example.MusicPlayer1</literal>.
+ </para>
</sect3>
<sect3 id="message-protocol-names-member">
<title>Member names</title>