Re: [g-a-devel]Implementing support for state sets in at-spi



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]