You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working with the BlueZ Bluetooth API which, for some operations, requires a callback object that is exported by the client connection. If I understand correctly, the only way to export an object in ruby-dbus is through a named service, which can only be retrieved from DBus::Connection#request_service. Unfortunately, since I'm working with an unprivileged connection to the system bus, my process does not have permission to request_service.
I noticed that SystemBus has a usable Service in @service, and if I call DBus::SystemBus.instance.instance_variable_get(:@service).export(my_object) my object is exported and receives method invocations as expected. However, I'm a little bit 😬 about relying on instance variables like that.
Is there a recommended way of doing this?
(For reference, line 152 of this file contains the Python equivalent of the code I need.)
The text was updated successfully, but these errors were encountered:
@zobar Interesting-- ran into same question when translating some BlueZ python DBus code into Ruby for a BLE peripheral application. I have control of the system (embedded Linux install-- I can create the DBus service permissions to create a named service), so it's not a show-stopper. But non-named service export would be nice to have in a clean way.
I'm working with the BlueZ Bluetooth API which, for some operations, requires a callback object that is exported by the client connection. If I understand correctly, the only way to export an object in ruby-dbus is through a named service, which can only be retrieved from
DBus::Connection#request_service
. Unfortunately, since I'm working with an unprivileged connection to the system bus, my process does not have permission torequest_service
.I noticed that SystemBus has a usable Service in
@service
, and if I callDBus::SystemBus.instance.instance_variable_get(:@service).export(my_object)
my object is exported and receives method invocations as expected. However, I'm a little bit 😬 about relying on instance variables like that.Is there a recommended way of doing this?
(For reference, line 152 of this file contains the Python equivalent of the code I need.)
The text was updated successfully, but these errors were encountered: