Understanding the AT-SPI D-BUS protocol



Hi there,

Is there any doc/spec somewhere that would document the whole AT-SPI
protocol in terms of D-BUS, and who's expecting to send/receive what ?

I'm particularly interested in the org.a11y.atspi.Event.Object
interface, and I have only gathered inconsistent data for now, eg.
for the ChildrenChanged signal:

* the interface is not exposed to the D-BUS Introspection API, so we need
  to find in another place the metadata to make sense out of it
* the XML, whether in at-spi-core2 or gtk4 trees, declares a signature
  or "(suuv)"
* a gtk2/gtk3 the desktop (org.a11y.atspi.Registry /org/a11y/atspi/accessible/root)
  emits ChildrenChanged with signature "siiv(so)", the "(so)" part refering to the
  desktop
* a gtk2/gtk3 non-desktop org.a11y.atspi.Accessible emits ChildrenChanged
  with signature "siiva{sv}", with the "a{sv}" part usually empty.  What can
  we expect to find there ?
* in Qt there is some code to emit ChildrenChanged, but it looks like it
  was never called in any version.  I've started to work on a patch to
  activate this, and notice the existing code emits the "siiv(so)" version.
* in gtk4 the code, having migrated from atk, is simpler and is there,
  but it seems not to trigger.

Any clues as to what general direction should be used to patch what needs
to be would be appreciated :)

Best regards,
-- 
Yann


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