Discovering services

Matthew Johnson dbus at matthew.ath.cx
Sat Jul 8 08:51:57 PDT 2006


On Sat, 8 Jul 2006, Tako Schotanus wrote:

FWIW, I agree with most of the conclusions of this thread. Additional
comments below...

> But if this is how DBus interfaces should be designed that's okay with me, 
> but is that described somewhere? Because I think we should make it obvious 
> that interfaces are _not_ allowed to change. I'm not sure we should be making 
> such a statement though, there might be use-cases, but yes it would mean that 
> a static language would not be able to generate a proxy beforehand to 
> communicate with such a service.

One of the points of DBus is to allow cross-language communication. You
may be writing your server and client both with QT, but someone else's
client might not be. I think DBus should really strongly enforce only
doing things which can be done in any of the bindings. For example, the
Java bindings allow serialisation of custom objects to the bus, but this
is done by converting them to several DBus types so that they can be
called from anywhere and not as a byte stream which requires Java to
reconstruct.

> PS: Don't you get the same race conditions when objects switch interfaces at 
> runtime? Or just with objects disappearing?

Should objects be able to gain and lose interfaces at run time? it's an
interesting question. The Java client bindings have one proxy per
interface so it doesn't matter, but the server you export an object
which can't change interfaces at run time.

Matt

-- 
Matthew Johnson
http://www.matthew.ath.cx/


More information about the dbus mailing list