[D-Bus] how do you cleanly register an object to a service?



  • So I'm trying to registering an object to a service "abc,def,ghi" I've created to the path "/alpha/beta/gamma". Calling QDBusConnection()::sessionBus().registerObject("/alpha/beta/gamma", this); works but ....

    Result of calling .registerObject("/alpha/beta/gamma", this); What I actually desire
    Service "abc.def.ghi" Service "abc.def.ghi"
    * / * /alpha/beta/gamma
    - * org.freedesktop.DBus.Introspectable - * abc.def.ghi
    - * org.freedesktop.DBus.Peer - * org.freedesktop.DBus.Introspectable
    * /alpha - * org.freedesktop.DBus.Peer
    - * org.freedesktop.DBusIntrospectable - * org.freedesktop.DBus.Properties
    - * org.freedesktop.DBus.Peer
    * /alpha/beta
    - * org.freedesktop.DBus.Introspectable
    - * org.freedesktop.DBus.Peer
    * /alpha/beta/gamma
    - * abc.def.ghi
    - * org.freedesktop.DBus.Introspectable
    - * org.freedesktop.DBus.Peer
    - * org.freedesktop.DBus.Properties

    Note how excessive my current result is and how cluttered it looks. I don't see any other services registered that have this structural issue and don't have any need for the intermediate parts of the path. I need to keep that path as other services will be relying on the naming convention. Is there any way to fix this?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.