Hi Andrew,
On 01/22/2016 08:59 PM, Andrew Zaborowski wrote:
> org.freedesktop.* service implementations don't seem to report any
> interfaces on non-object paths in the tree, neither does bluez.
> http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-introspectable
> doesn't say much about this so this is up for discussion.
> ---
> ell/dbus-service.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
You're correct, most org.freedesktop implementations don't do this.
However, its a bit bizarre to me that this behavior exists. Just think
about it, you're calling Introspect on an object and that object doesn't
say it supports Introspect.
e.g.
dbus-send --session --dest=org.PulseAudio1 --type=method_call
--print-reply / org.freedesktop.DBus.Introspectable.Introspect
method return sender=:1.15 -> dest=:1.69 reply_serial=2
string "
"
The Qt implementations seem to always include Introspect. Maybe because
they add a bunch of extra interfaces by default. E.g.:
dbus-send --session --dest=org.ofono.phonesim --type=method_call
--print-reply /some/deep org.freedesktop.DBus.Introspectable.Introspect
method return sender=:1.73 -> dest=:1.76 reply_serial=2
string "
"
In the end I think having it is more correct than not, but I'm fine
going either way.
Regards,
-Denis