Modified cache API to include index and child count rather than children
authorMike Gorse <mgorse@suse.com>
Fri, 19 Jun 2015 01:04:31 +0000 (20:04 -0500)
committerMike Gorse <mgorse@suse.com>
Fri, 14 Aug 2015 23:49:46 +0000 (18:49 -0500)
commitb2c8c4c7230742b683db3d69a608950fede76b6c
treeacea76d5c73eef71648309da4ff71d16d5d88ce6
parent2a9c0f5464ccf0b24c803c6a619f83d797362bde
Modified cache API to include index and child count rather than children

The original cache API was problematic for QT AT-SPI because it forces
enumeration of all children, preventing lazy instantiation of objects.
The API now sends the object's index in parent and child count (or -1 if
not known / children should not be cached) rather than an array of
children.
Also made cache of children a GPtrArray rather than a GList, since it
may contain holes.  If an object has not yet been instantiated for a
particular child, then its value will be set to NULL, and
atspi_accessible_get_child_at_index will make a dbus call to fetch the
child, at which point it will be cached.

https://bugzilla.gnome.org/show_bug.cgi?id=650090
atspi/atspi-accessible.c
atspi/atspi-accessible.h
atspi/atspi-event-listener.c
atspi/atspi-misc.c
idl/cache.didl
xml/Cache.xml