Thiago Macieira thiago at
Tue Apr 21 07:40:46 BST 2009

Thomas Lübking wrote:
>Am Tuesday 21 April 2009 schrieb Thiago Macieira:
>> Thomas Lübking wrote:
>> >of course you could check all services whether they provide certain
>> > objects providing certain functions, but that's
>> >a) heuristic
>> >b) not necessarily efficient...
>> c) not possible
>a) "object" was meant := "path" (sorry, my fault)
>you'd have to recurse parse
> org.freedesktop.DBus.Introspectable.Introspect

Exactly. That's why it's not possible.

Not all services implement introspection. Of those that do, some don't 
implement it correctly. Yet that's a valid situation. And some services 
don't reply at all to D-Bus (think of kioslaves), so you'll have 25-second 
timeouts in your script.

Unless you're reacting to user input (qdbus, qdbusviewer, a path completer 
in a shell or an editor, etc.), introspecting the D-Bus hierarchy is never 

If you need to find a given service, either put it in the service name, or 
emit a signal and wait for all your clients to reply.

  Thiago Macieira  -  thiago (AT) - thiago (AT)
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the kde-core-devel mailing list