<div dir="ltr">Hi,<div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 30, 2015 at 7:29 PM, Tony Asleson <span dir="ltr"><<a href="mailto:tasleson@redhat.com" target="_blank">tasleson@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From the specification[1] for GetManagedObjects:<br>
<br>
The return value of this method is a dict whose keys are object paths.<br>
All returned object paths are children of the object path implementing<br>
this interface, i.e. their object paths start with the ObjectManager's<br>
object path plus '/'.<br>
<br>
Each value is a dict whose keys are interfaces names. Each value in this<br>
inner dict is the same dict that would be returned by the<br>
org.freedesktop.DBus.Properties.GetAll() method for that combination of<br>
object path and interface. If an interface has no properties, the empty<br>
dict is returned.<br>
<br>
I'm confused, because when I look at udisks2 for example I see that for<br>
an arbitrary block device eg.<br>
<br>
/org/freedesktop/UDisks2/block_devices/dm_2d0<br>
<br>
I get one interface: org.freedesktop.UDisks2.Block from GetManagedObjects<br>
<br>
However, this object actually implements the following interfaces<br>
according to the introspection data:<br>
<br>
org.freedesktop.UDisks2.Block<br>
org.freedesktop.DBus.Properties<br>
org.freedesktop.DBus.Peer<br>
org.freedesktop.DBus.Introspectable<br>
<br>
<br>
Why doesn't the return data from GetManagedObjects include the<br>
interfaces: Properties, Peer and Introspectable with an empty dict?<br></blockquote><div><br></div><div>Because those are standard interfaces that any object should implement (the ones you use ObjectManager for, anyway) and including them would take up precious space in the GetManagedObjects() reply message (and neither of them have any properties anyway). I guess we should amend the spec to say that implementations need not include these standard interfaces.</div><div><br></div><div>    David</div></div><br></div></div>