</question>
<answer>
<para>
- If you imagine a C++ program that implements a network
- service, then the bus name is the domain name
- of the computer running this C++ program, the object path
- is a C++ object instance pointer, and an interface is a C++
- class (a pure virtual or abstract class, to be exact).
+ If you imagine a C++ program that implements a network service, then
+ the bus name is the hostname of the computer running this C++ program,
+ the object path is a C++ object instance pointer, and an interface is
+ a C++ class (a pure virtual or abstract class, to be exact).
</para>
<para>
In Java terms, the object path is an object reference,
</para>
<para>
However, a text editor application could as easily own multiple bus
- names (for example, <literal>org.kde.KWrite</literal>), have multiple
- objects (maybe <literal>/org/kde/documents/4352</literal>),
- and each object could implement multiple interfaces,
- such as <literal>org.freedesktop.Introspectable</literal>,
- <literal>org.freedesktop.BasicTextField</literal>,
+ names (for example, <literal>org.kde.KWrite</literal> in addition to
+ generic <literal>TextEditor</literal>), have multiple objects (maybe
+ <literal>/org/kde/documents/4352</literal> where the number changes
+ according to the document), and each object could implement multiple
+ interfaces, such as <literal>org.freedesktop.Introspectable</literal>,
+ <literal>org.freedesktop.BasicTextField</literal>,
<literal>org.kde.RichTextDocument</literal>.
</para>
</answer>
communication" or "networking" in their stated purpose: <ulink
url="http://www.omg.org">CORBA</ulink>, <ulink
url="http://www.opengroup.org/dce/">DCE</ulink>, <ulink
- url="http://www.microsoft.com/com/">COM/DCOM</ulink>, <ulink
+ url="http://www.microsoft.com/com/">DCOM</ulink>, <ulink
url="http://developer.kde.org/documentation/library/kdeqt/dcop.html">DCOP</ulink>, <ulink
url="http://www.xmlrpc.com">XML-RPC</ulink>, <ulink
url="http://www.w3.org/TR/SOAP/">SOAP</ulink>, <ulink
using to write a D-BUS application. The exact code you write will be
different for GLib vs. Qt vs. Python applications, however.
</para>
+
+ <para>
+ Here is a diagram (<ulink url="diagram.png">png</ulink> <ulink
+ url="diagram.svg">svg</ulink>) that may help you visualize the concepts
+ that follow.
+ </para>
<sect2 id="objects">
<title>Objects and Object Paths</title>