Mikkel Kamstrup Erlandsen
mikkel.kamstrup at gmail.com
Thu Apr 23 22:29:01 PDT 2009
2009/4/23 Ted Gould <ted at gould.cx>:
> On Mon, 2009-04-20 at 23:11 +0200, Olivier Goffart wrote:
>> Doesnn't the fact that this service is required show a flaw in dbus itself.
>> Is there a way to ask dbus all the running client that provides a given
> I know nothing of DBus other than the user libraries, but is this
> possible? I think it would be a great feature if added. Can someone
> who really knows DBus comment?
Ok, I am not sure I "really know DBus", but I read the spec half a
year ago :-) 
No it is not possible to do what Olivier suggested, and it is not a
design flaw, but more a general misunderstanding about what DBus is.
This misunderstanding is well understandable given the introspection
tools that are around, like D-Feet etc (which are great btw!).
DBus is a "messaging system", not an "RPC system" even though we most
often use it as the latter. The bus daemon only see connections and
messages. The application interfaces are nothing but namespacing
prepended to method names and object paths also just message metadata
to allow client side filtering/routing of messages (if we forget about
DBus match rules for sec at least).
It is the libraries like dbus-glib + the (unreliable) introspection
XML which gives us what seems to be an RPC system with an object
: Actually I strongly recommend reading the DBus spec. It gives a
lot of insight compared to the little time it takes. Good bang for the
buck in there :-)
More information about the xdg