Re: [g-a-devel]Implementing support for state sets in at-spi
- From: Marc Mulcahy <marc mulcahy sun com>
- To: Bill Haneman <bill haneman sun com>, Michael Meeks <michael ximian com>
- Cc: accessibility mailing list <gnome-accessibility-devel gnome org>
- Subject: Re: [g-a-devel]Implementing support for state sets in at-spi
- Date: Mon, 11 Feb 2002 07:11:23 -0700
Yes, we only have to expose contains and equal. The problem is that when
implementing these in libspi, both sets of states need to be available to
libspi, and as michael points out, we're not guarantied that both state
sets live in the same process space.
Marc
At 10:55 AM 2/11/2002 +0000, Bill Haneman wrote:
Michael Meeks wrote:
>
> Hi Marc,
>
> On Fri, 2002-02-08 at 05:23, Marc Mulcahy wrote:
> > Any thoughts on how to best implement state sets in the at-spi?
>
> I imagine you'll need to provide a structure to allow the
passing of
> state across the CORBA divide. ie. a CORBA sequence that contains the
> states [ I imagine ], or some numeric value - depending on how it works;
> I forget.
>
> > Functions
> > like contains aren't difficult, but functions comparing two state sets,
> > such as compare, and isEqual look non-trivial. In the case of
isEqual, the
> > AtkStateSet would only be available for the stateset on which isequal is
> > called, since it can be retrieved with get_state_set_from_servant
(). The
> > stateset to be compared is passed in as an Accessibility_StateSet, and
> > there appears to be no way to retrieve the AtkStateSet from an
> > Accessibility_StateSet.
>
> There is a way to get an AtkStateSet from an Accessibility_StateSet
> via.
>
> bonobo_object (ORBit_get_servant (the_corba_stateset))
>
> _BUT_ this is never going to work in the remote case - and
since the
> whole stateset API is most useful remotely - it's not going to help at
> all to have a pure local case hack in there [ although for performance
> it might well be worth having a shortcut like that ].
>
> So - I imagine you need some IDL method or other to marshal the
thing
> to a sequence of some semi-private type, and then you'll need to compare
> them in isEqual.
>
> How does that sound ?
Like overkill ;-)
Actually I am not sure we need to marshal a special struct here.
At least it didn't appear to require that much API last time I
looked at it; I'll look again.
At least in many situations I think the StateSet can just be
an opaque object, only the "states" are exposed (and the methods,
contains, equals, etc.)
-Bill
> Regards,
>
> Michael.
>
> --
> mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
>
> _______________________________________________
> Gnome-accessibility-devel mailing list
> Gnome-accessibility-devel gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]