Where to start
John (J5) Palmieri
johnp at redhat.com
Sat Mar 26 05:56:01 PST 2005
On Sat, 2005-03-26 at 13:25 +0000, Tony Houghton wrote:
> I'm writing my program as a main application and a separate config
> applet. The capplet needs to be able to send messages to multiple
> instances of the main application.
> I know gconf would make that easier
> on the face of it, but using my own storage scheme makes it easier to
> manage the storage of arbitrary named profiles. Also, the main program
> needs to be able to start the capplet or, if it's running already, send
> it a message to start configuring a set of options.
You can use dbus activation to start services.
> I guess I need to run my own dbus service, but how? Is it as simple as
> calling dbus_g_proxy_new_for_name in each instance of the application
> and in the capplet, and calling dbus_g_proxy_send automatically sends
> the message to all other programs with a proxy for the same name?
What version of d-bus are you using? The glib bindings have changed
tremendously in CVS.
> Or do I have to explicitly start the service name? I can't see how to do
> that. And if I do, is it OK just to start it in the capplet, while the
> main instances only have to register their proxy once and can still
> continue to receive messages OK, no matter if the service is stopped and
This is a complicated issue. For your use I would suspect that you
would request a name for your capplet and not for your multiple instance
app since d-bus names are unique on a bus. You would then have you app
subscribe to signals from the capplet.
If you are going to use the dbus from CVS or the one I should be
releasing soon (0.32) which I highly recommend there should be some
sample glib binding code in the tarball.
More information about the dbus