Re: SPI portability

mongoose magic shiman com wrote:
>   Looking at the SPI C bindings, SPI seems abstract enough to work with
> almost any GUI, except for one line I noticed:
> void
> SPI_event_main (boolean isGNOMEApp);
> what is this function meant to do? Is SPI going to be tied to Gnome in
> someway?

The only reason for this function (which is subject to change) is to
facilitate writing AT using the Gnome/GTK event loop.  It integrates
the SPI's event delivery loop with the Gnome GUI event loop.  If AT is
either not using Gnome, or handling Gnome UI events in a separate
thread, the boolean should be set to FALSE.  There is no other
dependency on Gnome, though it may be that the "standard" shared
object C bindings link to a couple of Gnome libraries.  Certainly if
that is the case there could (and probably should) be equivalent
packages of the shared library that omitted that link (and would thus
not offer the SPI_event_main(TRUE) variant of the event loop API
above, but otherwise would be identical).

> If the SPI is designed to work with any GUI then ATs would only have to be
> written to access one interface, SPI. It looks as though SPI is based off
> of JAA, a very different interface, so couldn't this be plausible? Thanks.

That's the goal, AT only has to access the SPI, and all accessible
applications deliver accessibility to that interface (directly or via
"bridges"), regardless of their UI toolkit.

For instance, accessibility for legacy Motif apps could be delivered
via a "Motif Accessibility Bridge" which wrote to the SPI.  Even more
expedient would be implementing ATK interfaces on behalf of Motif
widgets, which then could directly re-use the IPC "bridge" code (which
we are calling the "Gnome Bridge" for short).  The disadvantage, which
might be minor depending on one's point of view, is that the
accessibility code for Motif would need to link to Gnome's glib


> _______________________________________________
> gnome-accessibility-list mailing list
> gnome-accessibility-list gnome org

Bill Haneman
Gnome Accessibility / Batik SVG Toolkit
Sun Microsystems Ireland

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