2009/4/23 Ted Gould : > 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 >> interface? > > 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 :-) [1] 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 mapping. -- Cheers, Mikkel [1]: 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 :-)