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