Re: bonobo-activation - a plan.



Hi Maciej,

On Thu, 18 Oct 2001, Maciej Stachowiak wrote:
> For GNOME 2.0, I was planning to make the activation server exit when
> idle for longer than a set amount of time, and get restarted on
> demand. So it is definitely not safe to assume it's always running.
> (The eventual public activation interface would be in-proc and
> therefore unaffected by this).

        We can only possibly exit, if we have no active registered objects
- which seems very likely: the panel etc. etc. that is unless you want to
store / hydrate all the IORs.

        Furthermore, the server takes about a second of CPU time to start
on my machine, so I think more impressive savings might be to look at
reducing the memory footprint rather than a lot of work to stop and start
it.

> Even if I were not planning this feature, it would add a race
> condition in the case where a Java app tries to do activation before a
> native GNOME app.

        Not if the Java stuff only works if the server is already running.

> I'd like to hear a workable design for how Java can get access to an
> activation server before rushing to add such an interface.

        Ultimately, the best way - as you point out is to get them to bind
to a C library with a stable interface. I would personaly prefer this to
be the bonobo_get_object interface - since that exposes a lot of power.

> Why is the operation called activateRemote instead of activate?
> selection_order is a string list, not a string.

        Well - it would be better to have a plain activate, and in the
simple case have neither flags nor a selection order; lots of activations
are by OAFIID - especialy of the type 'Get me the accessibility daemon'.

interface Activation : Unknown {

        Unknown activate (in string query) raises ...;
};

        But you are still left with intriguing questions about shlib
components in the remote case - they are not possible without heavy duty
client support code.

> > We can expand the interface later to make it more pretty, for
> > Gnome 2.2 :-)
>
> Expanding interfaces is not actually a compatible change, so we'd have
> to inherit from it, adding a bit of mess, or support both the old
> interface and a new one. I'm willing to live with that though.

        It's certainly a compatible change as long as people don't inherit
from the interface and since no-one implements it outside of
bonobo-activation this seems very reasonable. Clearly, implementing an
Activation2 interface inherited from it is also trivial and in some sense
'safer'.

        Anyway - for now Bill / Louie I think the best way to proceed - is
to dump the IOR of the accessibility daemon that you are most interested
in, into /tmp/orbit-$USER/reg.GNOME/Accessibility:1.0 or whatever, and
then just pull that out in the Java bindings.

        Regards,

                Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]