Question on service activation
Havoc Pennington
hp at redhat.com
Fri Feb 23 06:32:29 PST 2007
Kevin Krammer wrote:
> That's why this thread is quite long already.
> A model like this needs to have a way to ensure that the owner of the name is
> the preferred email client.
>
> If none is running that is a given, since the bus will only activate the
> preferred one.
> However, there needs to be a way for either the email client to check whether
> it is allowed to request the name or to deny the request for anyone else.
>
> Thiago already said that the latter can only be achieved by requesting the
> names very early on in a desktop's startup sequence.
>
> We could go for the explicit check though, unless this interferes with the
> activation procedure.
I would suggest we worry first and primarily about launching the right
org.fd.EMail provider if none is running, which is the big glaring problem.
As a corner case we can figure out some way to have the right app "win"
if you launch two email apps. I can think of a number of ways to do
this, it seems like we should choose one that's simplest and that's
compatible with the nicest way to solve the big problem of launching the
right provider when none is running.
One approach might be to have all apps own at least two names; one
that's intended to be specific to the app (such as org.gnome.Evolution)
and one or more that might be shared/well-known (such as org.fd.EMail).
We could use the app-specific one to refer to the specific app; for
example, the preferred email provider could be "the .service file that
also lists org.gnome.Evolution" - then we could have some kind of policy
that prefers the owner of org.gnome.Evolution when deciding how to
handle a RequestName for org.fd.EMail.
A minor detail of this would be adding support for multiple bus names in
the same .service file
In any case, the main issue will be a volunteer to code this up and go
through a few iterations of the patch ;-)
Havoc
More information about the dbus
mailing list