summaryrefslogtreecommitdiffstats
path: root/doc/dbus-faq.xml
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2006-08-20 21:41:42 +0000
committerHavoc Pennington <hp@redhat.com>2006-08-20 21:41:42 +0000
commit6fcd97c08459243a00bf0b790da434cee6dade17 (patch)
tree948293108ab75377e829549fe917e758c356f919 /doc/dbus-faq.xml
parentc0564157675cb3964fefe8f4aeb44fb266e80168 (diff)
2006-08-20 Havoc Pennington <hp@redhat.com>
* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to the docs
Diffstat (limited to 'doc/dbus-faq.xml')
-rw-r--r--doc/dbus-faq.xml45
1 files changed, 24 insertions, 21 deletions
diff --git a/doc/dbus-faq.xml b/doc/dbus-faq.xml
index 963db366..47072e9e 100644
--- a/doc/dbus-faq.xml
+++ b/doc/dbus-faq.xml
@@ -155,6 +155,26 @@
</question>
<answer>
<para>
+ It helps to keep these concepts separate in your mind:
+ <orderedlist>
+ <listitem>
+ <para>
+ Object/component system
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ GUI control/widget embedding interfaces
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Interprocess communication system or wire protocol
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
D-Bus is not a component system. "Component system" was originally
defined by COM, and was essentially a workaround for the limitations
of the C++ object system (adding introspection, runtime location of
@@ -177,7 +197,10 @@
in modern languages all objects are effectively "components."
</para>
<para>
- A third, orthogonal feature is interprocess communication or IPC.
+ So components are fancy objects, and some objects are GUI controls.
+ </para>
+ <para>
+ A third, unrelated feature is interprocess communication or IPC.
D-Bus is an IPC system. Given an object (or "component" if you must),
you can expose the functionality of that object over an IPC system.
Examples of IPC systems are DCOM, CORBA, SOAP, XML-RPC, and D-Bus.
@@ -190,26 +213,6 @@
then you can have an out-of-process or dynamically-loaded GUI control.
</para>
<para>
- Summarizing, there are three orthogonal things:
- <orderedlist>
- <listitem>
- <para>
- Object/component system
- </para>
- </listitem>
- <listitem>
- <para>
- Control embedding interfaces
- </para>
- </listitem>
- <listitem>
- <para>
- Interprocess communication system or wire protocol
- </para>
- </listitem>
- </orderedlist>
- </para>
- <para>
Another related concept is the <firstterm>plugin</firstterm> or
<firstterm>extension</firstterm>. Generic plugin systems such as the
<ulink url="http://eclipse.org">Eclipse</ulink> system are not so different