Question on C code - any programmatic way of settingDBUS_BUS_SESSION address?
a.chaliapinas at infosana.com
Wed Apr 23 04:48:49 PDT 2008
> If you want to connect to a bus at a non-standard address, you shouldn't
> be using "the" shared session-bus connection as returned by dbus_bus_get.
> dbus_bus_get sets up and returns a shared connection - just because *you*
> want to connect to a non-standard address for the session bus doesn't mean
> that any other libraries or components in your process want to do the
Yes, I understand that. That's why using 'export
DBUS_SESSION_BUS_ADDRESS=<non-standard address>' works for all such
specifics components started separatedly via shell scripts. Those components
actually use dbus_bus_get_private call.
> For a bus at a non-standard location, instead of calling dbus_bus_get(),
> dbus_connection_open() (or possibly dbus_connection_open_private())
> by dbus_bus_register().
Well, my question was exactly related to that. Why do I need to deal with
some internals (dbus_connection_open, dbus_bus_register, etc.) instead of
having dbus_bus_get_private_by_address, which will do that all for me?
> If you really do want to manipulate the global state of your process
> (this is only appropriate if you are writing the program, rather than a
> library), manipulate the environment before any D-Bus API is called
> (e.g. in main() or in a wrapper script).
I'll try to see what could be done around that.
More information about the dbus