LEW21 / pydbus

Pythonic DBus library
GNU Lesser General Public License v2.1
330 stars 76 forks source link

Support for org.freedesktop.DBus.ObjectManager interface #55

Open ukBaz opened 7 years ago

ukBaz commented 7 years ago

It appears from a discussion over on the BlueZ mailing list that the DBus object passed to the RegisterAdvertisement method needs to have a DBus.ObjectManager interface.

Is this something that could be supported when objects are published?

For reference: The BlueZ advertising API: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/advertising-api.txt#n16

BlueZ mail list discussion: http://marc.info/?t=149402331300001&r=1&w=2

leogermond commented 7 years ago

That's something I'm interested in adding as well, so if I get to do it on my fork I'll keep you informed :)

patocarr commented 7 years ago

@ukBaz I believe the DBus.ObjectManager interface is also needed while registering a BlueZ GATT profile. I tried adding it to the published object but BlueZ doesn't seem to be pulling it, timing out.

The code I'm currently working on: https://gist.github.com/patocarr/af679f48e476ebf02dcfe1e21bcd040f

BlueZ documentation for GATT profiles: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt#n388

ukBaz commented 5 years ago

The learning from #89 is the the ObjectManager interface is not required for the BlueZ advertising interface. It is however specifically required for the new Mesh API: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/mesh-api.txt#n676 so the org.freedesktop.DBus.ObjectManager interface would still be good to add.

I have used the example in #80 and it does work.