Re: bonobo-activation - a plan.
- From: Michael Meeks <michael ximian com>
- To: Maciej Stachowiak <mjs eazel com>
- Cc: Bill Haneman <bill haneman sun com>, <Louise Miller sun com>, <gnome-components-list gnome org>
- Subject: Re: bonobo-activation - a plan.
- Date: Thu, 18 Oct 2001 20:48:55 -0400 (EDT)
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]