Introduction to D-BUS
Matthew Johnson
dbus at matthew.ath.cx
Tue Aug 29 00:49:18 PDT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Sat, 26 Aug 2006, Jeroen T. Vermeulen wrote:
> The latest draft can be found at:
>
> http://thaiopensource.org/development/suriyan/wiki/DbusNotes
>
> Remember, I'm new to dbus myself and I may have gotten things wrong. So
> please help improve this document by reading it, and telling me about
> anything that's not right or could be better!
>
- It's spelled "D-Bus" not "D-BUS"
- The Java binding should now be linked to
http://dbus.freedesktop.org/doc/dbus-java/ and the low-level
binding to
http://dbus.freedesktop.org/doc/dbus/libdbus-tutorial.html
- "D-BUS does not allow clients to invoke methods on objects that
those objects do not offer" this sounds as if the bus itself
restricts that. In reality the message will arrive at the
application regardless, and it is up to the application to decide
what to do with it. Most bindings will know what methods are valid
and automatically send an error, but you could always reply with
the same thing no matter what method was called, for example.
- " If you use the simple call-and-wait style (synchronous
invocation), any other messages that come in while you wait will be
queued up and delivered to your program when it's ready for them."
again, depends on the binding. The Java binding is reentrant; all
method calls are executed in a different thread. Actually this
means that all calls are asynchronous at the libdbus level, but at
the Java API level they are not.
- "An object's type remains unchanged over the object's lifetime, as
do the interfaces themselves: an object's set of methods and
interfaces is fixed." This is an entirely sensible thing to do, but
I don't think it's proscribed anywhere? Static languages like Java
make changing this hard, but more dynamic languages may not.
- "There is no overloading, as in some programming languages: every
member name must be unique within its interface" I don't think this
is true, certainly The Java binding supports it. It is as sensible
as allowing overloading on interface name imho (and easier to
implement in Java).
Most of these may be distinctions you don't want to go into in this
tutorial, I'm mainly checking you realize the difference and it's a
conscious choice, rather than a misunderstanding.
Matt
- --
Matthew Johnson
http://www.matthew.ath.cx/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Made with pgp4pine 1.76
iD8DBQFE8/GLpldmHVvob7kRAtBKAJ9UFFqk/NWKz3tH55xO5pbIz13+MQCgryPg
19Q+C43xGlzB1xtlkfLdztU=
=LBe1
-----END PGP SIGNATURE-----
More information about the dbus
mailing list