How to discover introspection toplevel objects

Tako Schotanus quintesse at
Tue Jan 24 14:40:26 PST 2006

I think you should too ;-)

Not sure if it is actually like that now, it has been a while since I 
tried but back then none of the freedesktop objects themselves 
implemented introspection.

What I wondered is: can we expect that for 1.0 all freedesktop objects 
implement introspection. And in the way that you can get at all the 
child objects too?

Because my soapbox-issue has always been to be able to do what you can 
do with dcop: just browse around to see what services exist and try them 

That's the way I found out I could "nudge" the screensaver to go away 
from a computer across the room if I wanted to see if a lengthy 
compile/download job had already finished. Nothing spectacular in itself 
but the fact that I had just "discovered" this feature myself without 
reading any documentation or looking at any example code really 
convinced me that dcop worked quite well. I would love to be able to 
something like that with DBus. And if developers can't be forced somehow 
to implement introspection the deault (freedesktop) objects should at 
least give the best example possible IMO.

Getting of my soapbox now *blush*


PS: If there's still some introspection-work left to be done, I wouldn't 
mind helping out where I can.

John (J5) Palmieri wrote:

>You should be able to call Introspect on the root object "/" on any
>service that exports Introspect.  Not sure if we actually implement it
>that way, but we should.
>On Tue, 2006-01-24 at 23:12 +0100, Kevin Krammer wrote:
>>On Tuesday 24 January 2006 23:05, John (J5) Palmieri wrote:
>>>On Tue, 2006-01-24 at 22:23 +0100, Kevin Krammer wrote:
>>>>once an application knows an introspectable object is can look into the
>>>>introspection data to find children.
>>>>However I didn't find any documentation, or maybe I missed the relevant
>>>>parts, on how to discover those "toplevel" objects.
>>>>So, how should an application proceed if it wants to introspect an
>>>>unknown peer application?
>>>Read the specification
>>>( There is a
>>>method on the bus called org.freedesktop.DBus.ListNames.
>>I am afraid this is a misunderstanding :)
>>ListNames returns a list of applications or connections on the bus, right?
>>I'll use an example:
>>ListNames includes "org.freedesktop.DBus" for the bus itself, correct?
>>Assuming that "/org/freedesktop/DBus" is introspectable (haven't checked) how 
>>would an application know about "/org/freedesktop/DBus"?
>>Is this a default object that always exists in any connected application?
>>dbus mailing list
>>dbus at

More information about the dbus mailing list