Re: [g-a-devel] [Accessibility-atspi] AT-SPI and D-Bus



Hi Gunnar,

On Fri, 2006-08-04 at 14:59 +0200, Gunnar Schmi Dt wrote:
> 1. Usually use the Qt event loop and only call the glib mainloop if you 
> know that something in ATK needs to be processed.

	Yes - that sucks ;-)

> 2. Let Qt 4.x run in the glib mainloop.

	This is the way to do it.

> This way you only have one main loop, so that you do not need to know when 
> to call the glib mainloop. Instead there are other problems. If what I 
> heard is correct, then there is no way in glib to disable a timer, and it 
> is an expensive operation to create or destroy a given timer.

	Hmm - sounds strange to me.

>  The problem with that is that Qt makes heavy use of QTimers (which
> _can_ be disabled, so that they do no longer fire events), so there
> you have performance problems.

	Is there really a profile that actually shows any performance problem
here ? premature optimisation is the root of many evils.

	However - if there genuinely is a problem here, then of course - it's
rather trivial to write a new GSource that implements a disable-able
timer :-) Having written several I'd be happy to help - though naturally
it'd be useful to understand the real problem. Of course if you're using
the rather cheesy g_timer_add API you'll have issues ;-)

	Of course, I'd love to see Qt using the glib mainloop to improve
integration between the desktops in the long run across the board.

	So - onto the separate issue of what transport is used (yes atk implies
the glib mainloop for event emission); it's also likely that we need to
abstract / push some toolkit locking down into glib / atk to get a
robust solution for all (at some stage).

	Anyhow - this aside - I guess it's best for KDE to implement the atk
APIs, and do the mainloop integration - and ignore the CORBA piece until
it goes away :-) It shouldn't be difficult to bridge Qt to the GObject
interfaces I think.

	As for the suitability of D-BUS, however unsuitable ORBit2 may, or may
not be - D-BUS is (at present) far less suitable.

	eg. the introspection mechanism (as I understand it) would instantly
cripple ORCA (and all dynamically bound AT's) wrt. perfomance; the lack
of a clear 'Object' concept for anonymous objects, not having an IDL
compiler, poor glib bindings, hopeless deployment / standardization
status etc. - the list goes on ;-) [ and yes, I like D-BUS as much as
the next guy, but it's just not ready yet ].

	HTH,

		Michael.

-- 
 michael meeks novell com  <><, Pseudo Engineer, itinerant idiot





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