2009-07-06 Mark Doffman <mark.doffman@codethink.co.uk>
authorMark Doffman <mdoff@altair-voyager.(none)>
Mon, 6 Jul 2009 15:37:48 +0000 (16:37 +0100)
committerMark Doffman <mdoff@altair-voyager.(none)>
Mon, 6 Jul 2009 15:37:48 +0000 (16:37 +0100)
        Re-organize the build configuration to use an external registryd,
        dbind and droute libraries from at-spi2-core.

131 files changed:
Makefile.am
atk-adaptor/Makefile.am
atk-adaptor/accessible-adaptor.c
atk-adaptor/accessible-marshaller.c
atk-adaptor/action-adaptor.c
atk-adaptor/application-adaptor.c
atk-adaptor/bridge.c
atk-adaptor/collection-adaptor.c
atk-adaptor/component-adaptor.c
atk-adaptor/document-adaptor.c
atk-adaptor/editabletext-adaptor.c
atk-adaptor/event.c
atk-adaptor/event.h
atk-adaptor/hyperlink-adaptor.c
atk-adaptor/hypertext-adaptor.c
atk-adaptor/image-adaptor.c
atk-adaptor/relation-adaptor.c
atk-adaptor/selection-adaptor.c
atk-adaptor/table-adaptor.c
atk-adaptor/text-adaptor.c
atk-adaptor/tree-adaptor.c
atk-adaptor/value-adaptor.c
common/Makefile.am [moved from spi-common/Makefile.am with 100% similarity]
common/bitarray.h [moved from spi-common/bitarray.h with 100% similarity]
common/event-types.h [moved from spi-common/event-types.h with 100% similarity]
common/generated-types.h [moved from spi-common/generated-types.h with 100% similarity]
common/keymasks.h [moved from spi-common/keymasks.h with 100% similarity]
common/spi-dbus.c [moved from spi-common/spi-dbus.c with 100% similarity]
common/spi-dbus.h [moved from spi-common/spi-dbus.h with 99% similarity]
common/spi-stateset.c [moved from spi-common/spi-stateset.c with 100% similarity]
common/spi-stateset.h [moved from spi-common/spi-stateset.h with 100% similarity]
common/spi-types.h [moved from spi-common/spi-types.h with 93% similarity]
configure.ac
cspi/Makefile.am
cspi/spi-accessible.c
cspi/spi-listener.h
cspi/spi-private.h
cspi/spi.h
dbind-config.h.in [deleted file]
dbind/Makefile.am [deleted file]
dbind/dbind-any.c [deleted file]
dbind/dbind-any.h [deleted file]
dbind/dbind.c [deleted file]
dbind/dbind.h [deleted file]
dbind/dbtest.c [deleted file]
droute/Makefile.am [deleted file]
droute/droute-pairhash.c [deleted file]
droute/droute-pairhash.h [deleted file]
droute/droute-test.c [deleted file]
droute/droute-variant.c [deleted file]
droute/droute-variant.h [deleted file]
droute/droute.c [deleted file]
droute/droute.h [deleted file]
droute/test.interface.One [deleted file]
droute/test.interface.Two [deleted file]
idl/Accessibility.idl [deleted file]
idl/Accessibility_Accessible.idl [deleted file]
idl/Accessibility_Action.idl [deleted file]
idl/Accessibility_Application.idl [deleted file]
idl/Accessibility_Collection.idl [deleted file]
idl/Accessibility_Component.idl [deleted file]
idl/Accessibility_Desktop.idl [deleted file]
idl/Accessibility_Document.idl [deleted file]
idl/Accessibility_EditableText.idl [deleted file]
idl/Accessibility_Event.idl [deleted file]
idl/Accessibility_Hyperlink.idl [deleted file]
idl/Accessibility_Hypertext.idl [deleted file]
idl/Accessibility_Image.idl [deleted file]
idl/Accessibility_LoginHelper.idl [deleted file]
idl/Accessibility_Registry.idl [deleted file]
idl/Accessibility_Relation.idl [deleted file]
idl/Accessibility_Role.idl [deleted file]
idl/Accessibility_Selection.idl [deleted file]
idl/Accessibility_Selector.idl [deleted file]
idl/Accessibility_State.idl [deleted file]
idl/Accessibility_StreamableContent.idl [deleted file]
idl/Accessibility_Table.idl [deleted file]
idl/Accessibility_Text.idl [deleted file]
idl/Accessibility_Value.idl [deleted file]
idl/Makefile.am [deleted file]
libloginhelper-1.0.pc.in [deleted file]
login-helper/Makefile.am [deleted file]
login-helper/login-helper.c [deleted file]
login-helper/login-helper.h [deleted file]
pkgconfig/Makefile.am [new file with mode: 0644]
pkgconfig/cspi-1.0-uninstalled.pc.in [moved from cspi-1.0-uninstalled.pc.in with 77% similarity]
pkgconfig/cspi-1.0.pc.in [moved from cspi-1.0.pc.in with 92% similarity]
registryd/Makefile.am [deleted file]
registryd/deviceeventcontroller.c [deleted file]
registryd/deviceeventcontroller.h [deleted file]
registryd/reentrant-list.c [deleted file]
registryd/reentrant-list.h [deleted file]
registryd/registry-main.c [deleted file]
registryd/registry.c [deleted file]
registryd/registry.h [deleted file]
registryd/testregistry.py [deleted file]
registryd/ucs2keysym.c [deleted file]
tests/cspi/Makefile.am
tests/cspi/keysynth-test.c
tools/Makefile.am [deleted file]
tools/c-constants-generator.xsl [deleted file]
tools/doc-generator.xsl [deleted file]
tools/identity.xsl [deleted file]
tools/spec-to-introspect.xsl [deleted file]
xml/Accessibility.xml [deleted file]
xml/Makefile.am [deleted file]
xml/introspection/README [deleted file]
xml/org.freedesktop.atspi.Accessible.xml [deleted file]
xml/org.freedesktop.atspi.Action.xml [deleted file]
xml/org.freedesktop.atspi.Application.xml [deleted file]
xml/org.freedesktop.atspi.Collection.xml [deleted file]
xml/org.freedesktop.atspi.Component.xml [deleted file]
xml/org.freedesktop.atspi.Desktop.xml [deleted file]
xml/org.freedesktop.atspi.DeviceEvent.xml [deleted file]
xml/org.freedesktop.atspi.DeviceEventController.xml [deleted file]
xml/org.freedesktop.atspi.DeviceEventListener.xml [deleted file]
xml/org.freedesktop.atspi.Document.xml [deleted file]
xml/org.freedesktop.atspi.EditableText.xml [deleted file]
xml/org.freedesktop.atspi.Event.xml [deleted file]
xml/org.freedesktop.atspi.Hyperlink.xml [deleted file]
xml/org.freedesktop.atspi.Hypertext.xml [deleted file]
xml/org.freedesktop.atspi.Image.xml [deleted file]
xml/org.freedesktop.atspi.Registry.xml [deleted file]
xml/org.freedesktop.atspi.Relation.xml [deleted file]
xml/org.freedesktop.atspi.Role.xml [deleted file]
xml/org.freedesktop.atspi.Selection.xml [deleted file]
xml/org.freedesktop.atspi.State.xml [deleted file]
xml/org.freedesktop.atspi.Table.xml [deleted file]
xml/org.freedesktop.atspi.Text.xml [deleted file]
xml/org.freedesktop.atspi.Tree.xml [deleted file]
xml/org.freedesktop.atspi.Value.xml [deleted file]

index 3525ebe..99b87a8 100644 (file)
@@ -1,9 +1 @@
-SUBDIRS=xml tools dbind droute spi-common atk-adaptor registryd cspi pyatspi login-helper tests
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = cspi-1.0.pc libloginhelper-1.0.pc
-
-EXTRA_DIST = \
-       cspi-1.0.pc.in \
-       cspi-1.0-uninstalled.pc.in \
-       libloginhelper-1.0.pc.in
+SUBDIRS=common atk-adaptor cspi pyatspi tests
index 2ae7a74..23438b3 100644 (file)
@@ -1,10 +1,11 @@
 gtkmoduledir = $(libdir)/$(GTK_MODULE_DIR)
 gtkmodule_LTLIBRARIES = libspiatk.la
 
-libspiatk_la_CFLAGS = $(DBUS_GLIB_CFLAGS)\
-                     $(ATK_CFLAGS)\
-                     -I$(top_srcdir)\
-                     -I$(top_srcdir)/atk-adaptor/adaptors\
+libspiatk_la_CFLAGS = $(DBUS_GLIB_CFLAGS)                 \
+                     $(ATK_CFLAGS)                       \
+                     $(DBIND_CFLAGS)                     \
+                     $(DROUTE_CFLAGS)                    \
+                     -I$(top_srcdir)                     \
                      -DATSPI_INTROSPECTION_PATH=\"$(pkgdatadir)/$(DEFAULT_ATSPI_INTROSPECTION_PATH)\"
 
 libspiatk_la_LDFLAGS = -no-undefined       \
@@ -14,8 +15,9 @@ libspiatk_la_LDFLAGS = -no-undefined       \
 
 libspiatk_la_LIBADD = $(DBUS_GLIB_LIBS)                        \
                      $(ATK_LIBS)                       \
-                     $(top_builddir)/droute/libdroute.la\
-                     $(top_builddir)/spi-common/libspicommon.la
+                     $(DBIND_LIBS)                     \
+                     $(DROUTE_LIBS)                    \
+                     $(top_builddir)/common/libspicommon.la
 
 libspiatk_la_SOURCES =         \
        accessible-adaptor.c    \
index 5029acc..4f03140 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 #include "accessible-marshaller.h"
 #include "accessible-register.h"
 
index d8d069f..80fc86b 100644 (file)
@@ -20,7 +20,7 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 #include "accessible-register.h"
 #include "accessible-marshaller.h"
index b26a768..bb00541 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_nActions (DBusMessageIter *iter, void *user_data)
index cf6b689..2faefcd 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_toolkitName (DBusMessageIter * iter,
index eb2fa75..5d04aee 100644 (file)
@@ -39,7 +39,7 @@
 #include "accessible-register.h"
 #include "adaptors.h"
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 /*
  * Provides the path for the introspection directory.
index 2826feb..444c1e1 100644 (file)
@@ -30,8 +30,8 @@
 #include "accessible-register.h"
 #include "accessible-marshaller.h"
 
-#include "spi-common/bitarray.h"
-#include "spi-common/spi-dbus.h"
+#include "common/bitarray.h"
+#include "common/spi-dbus.h"
 
 typedef struct _MatchRulePrivate MatchRulePrivate;
 struct _MatchRulePrivate
index 7e96ef9..5f0e104 100644 (file)
@@ -26,7 +26,7 @@
 #include <droute/droute.h>
 
 #include "accessible-marshaller.h"
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static DBusMessage *
 impl_contains (DBusConnection * bus, DBusMessage * message, void *user_data)
index 449368f..badd38a 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static DBusMessage *
 impl_getLocale (DBusConnection *bus,
index 417b24d..d088154 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static DBusMessage *
 impl_setTextContents (DBusConnection * bus, DBusMessage * message,
index 3d1250e..2039b63 100644 (file)
@@ -30,7 +30,7 @@
 #include "bridge.h"
 #include "accessible-register.h"
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static GArray *listener_ids = NULL;
 
index d62f9ce..ecd3fd9 100644 (file)
@@ -25,7 +25,7 @@
 #ifndef EVENT_H
 #define EVENT_H
 
-#include <spi-common/spi-types.h>
+#include <common/spi-types.h>
 
 void spi_atk_register_event_listeners   (void);
 void spi_atk_deregister_event_listeners (void);
index 98ae486..34d51a7 100644 (file)
@@ -26,7 +26,7 @@
 #include <droute/droute.h>
 
 #include "accessible-marshaller.h"
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_nAnchors (DBusMessageIter * iter, void *user_data)
index 09a6d65..af3334e 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static DBusMessage *
 impl_getNLinks (DBusConnection * bus, DBusMessage * message, void *user_data)
index 966ec38..500ea23 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_imageDescription (DBusMessageIter * iter,
index 12edc7a..57267cb 100644 (file)
@@ -29,8 +29,8 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-types.h"
-#include "spi-common/spi-dbus.h"
+#include "common/spi-types.h"
+#include "common/spi-dbus.h"
 
 static gboolean
 spi_init_relation_type_table (Accessibility_RelationType *types)
index 5e1c4ab..31b4c84 100644 (file)
@@ -25,7 +25,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 #include "accessible-marshaller.h"
 
 static dbus_bool_t
index 7ba03f2..4356e71 100644 (file)
@@ -26,7 +26,7 @@
 #include <droute/droute.h>
 
 #include "accessible-marshaller.h"
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_nRows (DBusMessageIter * iter, void *user_data)
index 323f687..de91f6b 100644 (file)
@@ -27,7 +27,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_characterCount (DBusMessageIter * iter,
index 78ba624..c3c6c11 100644 (file)
@@ -31,7 +31,7 @@
 #include "bridge.h"
 #include "accessible-register.h"
 #include "accessible-marshaller.h"
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 /*---------------------------------------------------------------------------*/
 
index 68631de..6ca6f5d 100644 (file)
@@ -27,7 +27,7 @@
 #include <atk/atk.h>
 #include <droute/droute.h>
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 
 static dbus_bool_t
 impl_get_minimumValue (DBusMessageIter * iter,
similarity index 100%
rename from spi-common/Makefile.am
rename to common/Makefile.am
similarity index 100%
rename from spi-common/bitarray.h
rename to common/bitarray.h
similarity index 100%
rename from spi-common/keymasks.h
rename to common/keymasks.h
similarity index 100%
rename from spi-common/spi-dbus.c
rename to common/spi-dbus.c
similarity index 99%
rename from spi-common/spi-dbus.h
rename to common/spi-dbus.h
index 85a5877..4393980 100644 (file)
@@ -25,7 +25,7 @@
 #define SPI_DBUS_H_
 
 #include <glib.h>
-#include <spi-common/spi-types.h>
+#include <common/spi-types.h>
 
 #define DBG(a,b) if(_dbg>=(a))b
 
similarity index 93%
rename from spi-common/spi-types.h
rename to common/spi-types.h
index 2758310..1293a5c 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef SPI_TYPES_H_
 #define SPI_TYPES_H_
 
-#include <spi-common/generated-types.h>
-#include <spi-common/event-types.h>
+#include <common/generated-types.h>
+#include <common/event-types.h>
 
 #endif /* SPI_TYPES_H_ */
index d56aeff..06add87 100644 (file)
@@ -1,24 +1,20 @@
 
-AC_INIT([at-spi], [1.9.0], [accessibility-atspi@lists.linux-foundation.org])
+AC_INIT([at-spi-atk], [2.0.0], [accessibility-atspi@lists.linux-foundation.org])
 AC_CONFIG_AUX_DIR(config)
 
-AT_SPI_MAJOR_VERSION=1
-AT_SPI_MINOR_VERSION=23
-AT_SPI_MICRO_VERSION=3
-AT_SPI_INTERFACE_AGE=0
-AT_SPI_BINARY_AGE=0
-AT_SPI_VERSION="$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION.$AT_SPI_MICRO_VERSION"
-AC_SUBST(AT_SPI_MAJOR_VERSION)
-AC_SUBST(AT_SPI_MINOR_VERSION)
-AC_SUBST(AT_SPI_MICRO_VERSION)
-AC_SUBST(AT_SPI_INTERFACE_AGE)
-AC_SUBST(AT_SPI_BINARY_AGE)
+AT_SPI_ATK_MAJOR_VERSION=2
+AT_SPI_ATK_MINOR_VERSION=0
+AT_SPI_ATK_MICRO_VERSION=0
+AT_SPI_ATK_INTERFACE_AGE=0
+AT_SPI_ATK_BINARY_AGE=0
+AT_SPI_ATK_VERSION="$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION"
+AC_SUBST(AT_SPI_ATK_VERSION)
 
 # libtool versioning
 LT_RELEASE=$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION
-LT_CURRENT=10
-LT_REVISION=11
-LT_AGE=10
+LT_CURRENT=0
+LT_REVISION=0
+LT_AGE=0
 LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
 AC_SUBST(LT_VERSION_INFO)
 AC_SUBST(LT_RELEASE)
@@ -28,31 +24,26 @@ AC_SUBST(LT_AGE)
 
 AM_INIT_AUTOMAKE([-Wall foreign])
 
-dnl translation of any at-spi strings: used only for .server
-dnl IT_PROG_INTLTOOL([0.35.0])
-
 AC_PROG_CC
 AM_PATH_PYTHON(2.4)
 AM_DISABLE_STATIC
 AM_PROG_LIBTOOL
 PKG_PROG_PKG_CONFIG
 
-GETTEXT_PACKAGE="${PACKAGE}"
-AC_SUBST(GETTEXT_PACKAGE)
-dnl internationalization support; uncomment if translatable strings are reintroduced
-AM_GLIB_GNU_GETTEXT
-
-# AM_GLIB_GNU_GETTEXT above subst. $DATADIRNAME
-# this is the directory where the *.{mo,gmo} files are installed
-localedir='${prefix}/${DATADIRNAME}/locale'
-AC_SUBST(localedir)
-
 AC_CONFIG_HEADERS([config.h])
 
 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0])
 AC_SUBST(DBUS_LIBS)
 AC_SUBST(DBUS_CFLAGS)
 
+PKG_CHECK_MODULES(DROUTE, [droute-0.1 >= 0.1])
+AC_SUBST(DROUTE_LIBS)
+AC_SUBST(DROUTE_CFLAGS)
+
+PKG_CHECK_MODULES(DBIND, [dbind-0.1 >= 0.1])
+AC_SUBST(DBIND_LIBS)
+AC_SUBST(DBIND_CFLAGS)
+
 PKG_CHECK_MODULES(GLIB, [glib-2.0])
 AC_SUBST(GLIB_LIBS)
 AC_SUBST(GLIB_CFLAGS)
@@ -61,10 +52,6 @@ PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= 0.7.0])
 AC_SUBST(DBUS_GLIB_LIBS)
 AC_SUBST(DBUS_GLIB_CFLAGS)
 
-PKG_CHECK_MODULES(LIB_XML, [libxml-2.0 >= 2.0.0])
-AC_SUBST(LIB_XML_LIBS)
-AC_SUBST(LIB_XML_CFLAGS)
-
 PKG_CHECK_MODULES(GOBJ, [gobject-2.0 >= 2.0.0])
 AC_SUBST(GOBJ_LIBS)
 AC_SUBST(GOBJ_CFLAGS)
@@ -73,6 +60,10 @@ PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0])
 AC_SUBST(GMODULE_LIBS)
 AC_SUBST(GMODULE_CFLAGS)
 
+PKG_CHECK_MODULES(LIB_XML, [libxml-2.0 >= 2.0.0])
+AC_SUBST(LIB_XML_LIBS)
+AC_SUBST(LIB_XML_CFLAGS)
+
 PKG_CHECK_MODULES(ATK, [atk >= 1.17.0])
 AC_SUBST(ATK_LIBS)
 AC_SUBST(ATK_CFLAGS)
@@ -81,65 +72,8 @@ PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.10.0])
 AC_SUBST(GTK_LIBS)
 AC_SUBST(GTK_CFLAGS)
 
-PKG_CHECK_MODULES(GDK, [gdk-2.0 >= 2.0.0])
-AC_SUBST(GDK_LIBS)
-AC_SUBST(GDK_CFLAGS)
-
 AC_PATH_XTRA
 
-if test x$no_x = xyes ; then
-       AC_MSG_ERROR([X development libraries not found])
-else
-       X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
-fi
-AC_SUBST(X_LIBS)
-
-#LIBS="$LIBS $X_LIBS"
-AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTST_LIBS=-lXtst,[
-       AC_MSG_ERROR([Couldn't find the Xtst library. Check config.log])],
-       -lX11 -lXext)
-AC_SUBST(XTST_LIBS)
-
-have_xkb=
-AC_CHECK_LIB(X11, XkbQueryExtension, have_xkb="maybe")
-if test "x$have_xkb" = "xmaybe"; then 
-       AC_CHECK_HEADER(X11/XKBlib.h, have_xkb=yes)
-fi
-if test "x$have_xkb" = "xyes"; then
-       AC_MSG_RESULT(yes)
-       AC_DEFINE([HAVE_XKB], [], Xkb is present)
-fi
-
-have_xinput=
-AC_CHECK_LIB(Xi, XOpenDevice, XINPUT_LIBS=-lXi,,-lXext)
-if test "x$XINPUT_LIBS" = x; then
-       AC_MSG_ERROR(Couldn't find the XInput library. Check config.log for details)
-fi                            
-AC_CHECK_HEADER(X11/extensions/XInput.h, have_xinput=yes)
-AC_SUBST(XINPUT_LIBS)
-
-AC_ARG_ENABLE(xevie, [--enable-xevie  Build with XEViE support [default=yes]], enable_xevie="$enableval", enable_xevie=yes)
-
-if test x$enable_xevie = xyes ; then
-       have_xevie=
-       AC_CHECK_LIB(Xext, XevieStart, have_xevie="yes")
-
-       if test "x$have_xevie" = "xyes"; then
-               XEVIE_LIBS="-lXext"
-               AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
-       else
-          AC_CHECK_LIB(Xevie, XevieQueryVersion, have_xevie="maybe",,-lXevie -lXext)
-          if test "x$have_xevie" = "xmaybe"; then
-             AC_CHECK_HEADER(X11/extensions/Xevie.h, have_xevie=yes, [], [#include <X11/Xlib.h>])
-             if test "x$have_xevie" = "xyes"; then
-                     XEVIE_LIBS="-lXext -lXevie"              
-                     AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
-             fi
-          fi   
-       fi
-       AC_SUBST(XEVIE_LIBS)
-fi
-
 AC_ARG_VAR([DEFAULT_ATSPI_INTROSPECTION_PATH],
           [Set the default path for the install ofDBus introspection XML
            relative to the pkgdatadir.])
@@ -153,45 +87,24 @@ if test -z "$GTK_MODULE_DIR"; then
          GTK_MODULE_DIR=gtk-2.0/modules
 fi
 
-dnl find sizes & alignments
-orig_CPPFLAGS=$CPPFLAGS
-CPPFLAGS="$CPPFLAGS $DBUS_CFLAGS"
-DBIND_CHECK_ALIGNOF(char)
-DBIND_CHECK_ALIGNOF(dbus_bool_t)
-DBIND_CHECK_ALIGNOF(dbus_int16_t)
-DBIND_CHECK_ALIGNOF(dbus_int32_t)
-DBIND_CHECK_ALIGNOF(dbus_int64_t)
-DBIND_CHECK_ALIGNOF(double)
-DBIND_CHECK_ALIGNOF(dbind_pointer)
-DBIND_CHECK_ALIGNOF(dbind_struct)
-CPPFLAGS=$orig_CPPFLAGS 
-
 #libtool option to strip symbols starting with cspi
-#
 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^cspi]].*"'
 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
 
 AC_CONFIG_FILES([Makefile
-                libloginhelper-1.0.pc
-                cspi-1.0.pc
-                cspi-1.0-uninstalled.pc
-                xml/Makefile
+                pkgconfig/cspi-1.0.pc
+                pkgconfig/cspi-1.0-uninstalled.pc
                 tests/Makefile
-                tools/Makefile
-                droute/Makefile
-                spi-common/Makefile
-                registryd/Makefile
+                common/Makefile
                 atk-adaptor/Makefile
-                login-helper/Makefile
                 tests/dummyatk/Makefile
                 tests/data/Makefile
                 tests/pyatspi/Makefile
                 tests/pyatspi/pasytest/Makefile
                 tests/apps/Makefile
                 tests/cspi/Makefile
-                dbind/Makefile
                 cspi/Makefile
                 pyatspi/Makefile
-                dbind-config.h])
+               ])
 
 AC_OUTPUT
index 1cb9033..6d76a36 100644 (file)
@@ -2,10 +2,14 @@ lib_LTLIBRARIES = libcspi.la
 
 libcspi_la_LDFLAGS = @LDFLAGS@ @LT_VERSION_INFO@ @LIBTOOL_EXPORT_OPTIONS@ -no-undefined
 
-libcspi_la_CFLAGS = $(DBUS_GLIB_CFLAGS) $(ATK_CFLAGS) -I$(top_srcdir)
+libcspi_la_CFLAGS = $(DBUS_GLIB_CFLAGS) \
+                    $(ATK_CFLAGS)       \
+                   $(DBIND_CFLAGS)     \
+                   $(DROUTE_CFLAGS)    \
+                    -I$(top_srcdir)
 
-LDADD = $(DBUS_GLIB_LIBS)                      \
-                     $(top_builddir)/spi-common/libspicommon.la
+LDADD = $(DBUS_GLIB_LIBS)              \
+        $(top_builddir)/common/libspicommon.la
 
 libcspidir = $(includedir)/at-spi-1.0/cspi
 libcspi_HEADERS =              \
@@ -36,7 +40,8 @@ libcspi_la_SOURCES =          \
        spi-value.c \
        spi-private.h
 
-libcspi_la_LIBADD =            \
-       $(top_builddir)/spi-common/libspicommon.la \
-                     $(top_builddir)/dbind/libdbind.la\
-       $(LIBCSPI_LIBS) $(X_LIBS)
+libcspi_la_LIBADD =                    \
+       $(top_builddir)/common/libspicommon.la \
+       $(LIBCSPI_LIBS)                 \
+        $(DBIND_LIBS)                  \
+        $(X_LIBS)
index 345be4f..7908dea 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 #include <stdlib.h> /* for malloc */
-#include "spi-common/spi-stateset.h"
+#include "common/spi-stateset.h"
 #include <cspi/spi-private.h>
 
 static const char *role_names [] =
index 862a646..19846c4 100644 (file)
@@ -26,7 +26,7 @@
 
 #include <cspi/spi-impl.h>
 #include <glib-object.h>
-#include "spi-common/spi-types.h"
+#include "common/spi-types.h"
 
 #ifdef  __cplusplus
 extern "C" {
index c7197cb..795d08d 100644 (file)
 
 /* Private internal implementation details of at-spi. */
 
-#include "spi-common/spi-dbus.h"
+#include "common/spi-dbus.h"
 #include "cspi/spi.h"
 #include "string.h"
 #include "cspi/cspi-lowlevel.h"
 #include "cspi/spi-listener.h"
 #include "dbind/dbind.h"
 #include <glib-object.h>
-#include "spi-common/spi-stateset.h"
+#include "common/spi-stateset.h"
 
 typedef struct _CSpiApplication CSpiApplication;
 struct _CSpiApplication
index 4441e95..9d25828 100644 (file)
@@ -25,7 +25,7 @@
 #define _SPI_H
 
 #include <glib.h>
-#include <spi-common/spi-types.h>
+#include <common/spi-types.h>
 #include <cspi/spi-impl.h>
 /*
  * Definitions for AccessibleRole, AccessibleState,
@@ -39,7 +39,7 @@
 /*
  * Auxiliary typedefs and mask definitions
  */
-#include <spi-common/keymasks.h>
+#include <common/keymasks.h>
 
 #ifdef  __cplusplus
 extern "C" {
diff --git a/dbind-config.h.in b/dbind-config.h.in
deleted file mode 100644 (file)
index 3da421e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#define DBIND_ALIGNOF_CHAR          @DBIND_ALIGNOF_CHAR@
-#define DBIND_ALIGNOF_DBIND_POINTER @DBIND_ALIGNOF_DBIND_POINTER@
-#define DBIND_ALIGNOF_DBIND_STRUCT  @DBIND_ALIGNOF_DBIND_STRUCT@
-#define DBIND_ALIGNOF_DBUS_BOOL_T   @DBIND_ALIGNOF_DBUS_BOOL_T@
-#define DBIND_ALIGNOF_DBUS_INT16_T  @DBIND_ALIGNOF_DBUS_INT16_T@
-#define DBIND_ALIGNOF_DBUS_INT32_T  @DBIND_ALIGNOF_DBUS_INT32_T@
-#define DBIND_ALIGNOF_DBUS_INT64_T  @DBIND_ALIGNOF_DBUS_INT64_T@
-#define DBIND_ALIGNOF_DOUBLE        @DBIND_ALIGNOF_DOUBLE@
diff --git a/dbind/Makefile.am b/dbind/Makefile.am
deleted file mode 100644 (file)
index cc2849e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-lib_LTLIBRARIES = libdbind.la
-
-AM_CPPFLAGS = \
-       -DG_LOG_DOMAIN=\"dbind\" \
-       -I$(top_srcdir) \
-       $(WARN_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(GLIB_CFLAGS)
-
-libdbindinclude_HEADERS = \
-       dbind-any.h \
-       dbind.h
-libdbindincludedir=$(includedir)/dbind-0.1
-
-libdbind_la_SOURCES = \
-       dbind.c \
-       dbind-any.c
-libdbind_la_LIBADD = $(DBUS_LIBS) $(GLIB_LIBS)
-
-TESTS = dbtest
-
-check_PROGRAMS = dbtest
-dbtest_SOURCES = dbtest.c
-dbtest_LDFLAGS = libdbind.la
diff --git a/dbind/dbind-any.c b/dbind/dbind-any.c
deleted file mode 100644 (file)
index 0d0ecf9..0000000
+++ /dev/null
@@ -1,546 +0,0 @@
-/* type driven marshalling */
-#include <stdio.h>
-#include <glib.h>
-
-#include "config.h"
-#include "dbind-config.h"
-#include "dbind-any.h"
-
-#undef DEBUG
-
-/*  Align a value upward to a boundary, expressed as a number of bytes.
- *  E.g. align to an 8-byte boundary with argument of 8.
- *
- *   (this + boundary - 1)
- *          &
- *    ~(boundary - 1)
- */
-#define ALIGN_VALUE(this, boundary) \
-  (( ((gulong)(this)) + (((gulong)(boundary)) -1)) & (~(((gulong)(boundary))-1)))
-
-#define ALIGN_ADDRESS(this, boundary) \
-  ((gpointer)ALIGN_VALUE(this, boundary))
-
-#define PTR_PLUS(ptr, offset) \
-        ((gpointer) (((guchar *)(ptr)) + (offset)))
-
-#define DBIND_POD_CASES \
-         DBUS_TYPE_BYTE: \
-    case DBUS_TYPE_INT16: \
-    case DBUS_TYPE_UINT16: \
-    case DBUS_TYPE_INT32: \
-    case DBUS_TYPE_UINT32: \
-    case DBUS_TYPE_BOOLEAN: \
-    case DBUS_TYPE_INT64: \
-    case DBUS_TYPE_UINT64: \
-    case DBUS_TYPE_DOUBLE
-
-/*---------------------------------------------------------------------------*/
-
-static void
-warn_braces ()
-{
-    fprintf (stderr, "Error: dbus flags structures & dicts with braces rather than "
-             " an explicit type member of 'struct'\n");
-}
-
-/*---------------------------------------------------------------------------*/
-
-static unsigned int
-dbind_find_c_alignment_r (char **type)
-{
-    unsigned int retval = 1;
-
-    char t = **type;
-    (*type)++;
-
-#ifdef DEBUG
-    fprintf (stderr, "\tfind align for %c (0x%x)\n", t, t);
-#endif
-
-        switch (t) {
-    case DBUS_TYPE_BYTE:
-        return DBIND_ALIGNOF_CHAR;
-    case DBUS_TYPE_BOOLEAN:
-        return DBIND_ALIGNOF_DBUS_BOOL_T;
-    case DBUS_TYPE_INT16:
-    case DBUS_TYPE_UINT16:
-        return DBIND_ALIGNOF_DBUS_INT16_T;
-    case DBUS_TYPE_INT32:
-    case DBUS_TYPE_UINT32:
-        return DBIND_ALIGNOF_DBUS_INT32_T;
-    case DBUS_TYPE_INT64:
-    case DBUS_TYPE_UINT64:
-        return DBIND_ALIGNOF_DBUS_INT64_T;
-    case DBUS_TYPE_DOUBLE:
-        return DBIND_ALIGNOF_DOUBLE;
-    /* ptr types */
-    case DBUS_TYPE_STRING:
-    case DBUS_TYPE_OBJECT_PATH:
-    case DBUS_TYPE_SIGNATURE:
-    case DBUS_TYPE_ARRAY:
-        return DBIND_ALIGNOF_DBIND_POINTER;
-    case DBUS_STRUCT_BEGIN_CHAR:
-#if DBIND_ALIGNOF_DBIND_STRUCT > 1
-                retval = MAX (retval, DBIND_ALIGNOF_DBIND_STRUCT);
-#endif
-        while (**type != DBUS_STRUCT_END_CHAR) {
-            int elem_align = dbind_find_c_alignment_r (type);
-                        retval = MAX (retval, elem_align);
-        }
-        (*type)++;
-        return retval;
-    case DBUS_TYPE_STRUCT:
-    case DBUS_TYPE_DICT_ENTRY:
-        warn_braces ();
-        return DBIND_ALIGNOF_DBIND_POINTER;
-    case '\0':
-        g_assert_not_reached();
-        break;
-    default:
-                return 1;
-  }
-}
-
-/*---------------------------------------------------------------------------*/
-
-/* gather immediate allocation information for this type */
-static size_t
-dbind_gather_alloc_info_r (char **type)
-{
-  char t = **type;
-  (*type)++;
-  if (t == DBUS_TYPE_ARRAY)
-    {
-      switch (**type)
-        {
-          case DBUS_STRUCT_BEGIN_CHAR:
-              while (**type != DBUS_STRUCT_END_CHAR && **type != '\0') (*type)++;
-              if (**type != '\0') (*type)++;
-              break;
-          case '\0':
-              break;
-          default:
-              (*type)++;
-              break;
-        }
-    }
-
-  switch (t) {
-    case DBUS_TYPE_BYTE:
-        return sizeof (char);
-    case DBUS_TYPE_BOOLEAN:
-        return sizeof (dbus_bool_t);
-    case DBUS_TYPE_INT16:
-    case DBUS_TYPE_UINT16:
-        return sizeof (dbus_int16_t);
-    case DBUS_TYPE_INT32:
-    case DBUS_TYPE_UINT32:
-        return sizeof (dbus_int32_t);
-    case DBUS_TYPE_INT64:
-    case DBUS_TYPE_UINT64:
-        return sizeof (dbus_int64_t);
-    case DBUS_TYPE_DOUBLE:
-        return sizeof (double);
-    /* ptr types */
-    case DBUS_TYPE_STRING:
-    case DBUS_TYPE_OBJECT_PATH:
-    case DBUS_TYPE_SIGNATURE:
-    case DBUS_TYPE_ARRAY:
-        return sizeof (void *);
-    case DBUS_STRUCT_BEGIN_CHAR: {
-                int sum = 0, stralign;
-
-        stralign = dbind_find_c_alignment (*type - 1);
-
-        while (**type != DBUS_STRUCT_END_CHAR) {
-                        sum = ALIGN_VALUE (sum, dbind_find_c_alignment (*type));
-                        sum += dbind_gather_alloc_info_r (type);
-        }
-                sum = ALIGN_VALUE (sum, stralign);
-
-        g_assert (**type == DBUS_STRUCT_END_CHAR);
-        (*type)++;
-
-                return sum;
-    }
-    case DBUS_TYPE_STRUCT:
-    case DBUS_TYPE_DICT_ENTRY:
-        warn_braces ();
-    default:
-        return 0;
-  }
-}
-
-static size_t
-dbind_gather_alloc_info (char *type)
-{
-  return dbind_gather_alloc_info_r (&type);
-}
-
-/*---------------------------------------------------------------------------*/
-
-static void
-dbind_any_free_r (char **type, void **data)
-{
-#ifdef DEBUG
-    fprintf (stderr, "any free '%c' to %p\n", **type, *data);
-#endif
-
-    switch (**type) {
-    case DBIND_POD_CASES:
-        *data = ((guchar *)*data) + dbind_gather_alloc_info (*type);
-        (*type)++;
-        break;
-    case DBUS_TYPE_STRING:
-    case DBUS_TYPE_OBJECT_PATH:
-    case DBUS_TYPE_SIGNATURE:
-#ifdef DEBUG
-        fprintf (stderr, "string free %p\n", **(void ***)data);
-#endif
-        g_free (**(void ***)data);
-        *data = ((guchar *)*data) + dbind_gather_alloc_info (*type);
-        (*type)++;
-        break;
-    case DBUS_TYPE_ARRAY: {
-        int i;
-        GArray *vals = **(void ***)data;
-        size_t elem_size, elem_align;
-        char *saved_child_type;
-
-        (*type)++;
-        saved_child_type = *type;
-
-        elem_size = dbind_gather_alloc_info (*type);
-        elem_align = dbind_find_c_alignment_r (type); 
-
-        for (i = 0; i < vals->len; i++) {
-            void *ptr = vals->data + elem_size * i;
-            *type = saved_child_type; /* rewind type info */
-            ptr = ALIGN_ADDRESS (ptr, elem_align);
-            dbind_any_free_r (type, &ptr);
-        }
-        g_array_free (vals, TRUE);
-        break;
-    }
-    case DBUS_STRUCT_BEGIN_CHAR: {
-                gconstpointer data0 = *data;
-                int offset = 0, stralign;
-
-        stralign = dbind_find_c_alignment (*type);
-        (*type)++;
-
-        offset = 0 ;
-        while (**type != DBUS_STRUCT_END_CHAR) {
-            char *subt = *type;
-                        offset = ALIGN_VALUE (offset, dbind_find_c_alignment (*type));
-                        *data = PTR_PLUS (data0, offset);
-            dbind_any_free_r (type, data);
-            offset += dbind_gather_alloc_info (subt);
-        }
-
-                offset = ALIGN_VALUE (offset, stralign);
-                *data = PTR_PLUS (data0, offset);
-
-        g_assert (**type == DBUS_STRUCT_END_CHAR);
-        (*type)++;
-
-        break;
-    }
-    case DBUS_TYPE_STRUCT:
-    case DBUS_TYPE_DICT_ENTRY:
-        warn_braces ();
-        break;
-    }
-}
-
-/*---------------------------------------------------------------------------*/
-
-void
-dbind_any_marshal (DBusMessageIter *iter,
-                   char           **type,
-                   void           **data)
-{
-    size_t len;
-
-#ifdef DEBUG
-    fprintf (stderr, "any marshal '%c' to %p\n", **type, *data);
-#endif
-
-    switch (**type) {
-    case DBIND_POD_CASES:
-    case DBUS_TYPE_STRING:
-    case DBUS_TYPE_OBJECT_PATH:
-    case DBUS_TYPE_SIGNATURE:
-        len = dbind_gather_alloc_info (*type);
-        dbus_message_iter_append_basic (iter, **type, *data);
-        *data = ((guchar *)*data) + len;
-        (*type)++;
-        break;
-    case DBUS_TYPE_ARRAY: {
-        int i;
-        GArray *vals = **(void ***)data;
-        size_t elem_size, elem_align;
-        DBusMessageIter sub;
-        char *saved_child_type, *child_type_string;
-
-        (*type)++;
-        saved_child_type = *type;
-
-        elem_size = dbind_gather_alloc_info (*type);
-        elem_align = dbind_find_c_alignment_r (type); 
-
-        /* wow this part of the API sucks too ... */
-        child_type_string = g_strndup (saved_child_type, *type - saved_child_type);
-        /* fprintf (stderr, "array child type '%s'\n", child_type_string); */
-        dbus_message_iter_open_container (iter, DBUS_TYPE_ARRAY,
-                                          child_type_string, &sub);
-        for (i = 0; i < vals->len; i++) {
-            void *ptr = vals->data + elem_size * i;
-            *type = saved_child_type; /* rewind type info */
-            ptr = ALIGN_ADDRESS (ptr, elem_align);
-            dbind_any_marshal (&sub, type, &ptr);
-        }
-
-        dbus_message_iter_close_container (iter, &sub);
-        g_free (child_type_string);
-        break;
-    }
-    case DBUS_STRUCT_BEGIN_CHAR: {
-                gconstpointer data0 = *data;
-                int offset = 0, stralign;
-        DBusMessageIter sub;
-
-        stralign = dbind_find_c_alignment (*type);
-
-        (*type)++;
-
-        dbus_message_iter_open_container (iter, DBUS_TYPE_STRUCT, NULL, &sub);
-
-        offset = 0 ;
-        while (**type != DBUS_STRUCT_END_CHAR) {
-            char *subt = *type;
-                        offset = ALIGN_VALUE (offset, dbind_find_c_alignment (*type));
-                        *data = PTR_PLUS (data0, offset);
-            dbind_any_marshal (&sub, type, data);
-            offset += dbind_gather_alloc_info (subt);
-        }
-
-                offset = ALIGN_VALUE (offset, stralign);
-                *data = PTR_PLUS (data0, offset);
-
-        dbus_message_iter_close_container (iter, &sub);
-
-        g_assert (**type == DBUS_STRUCT_END_CHAR);
-        (*type)++;
-
-        break;
-    }
-    case DBUS_TYPE_STRUCT:
-    case DBUS_TYPE_DICT_ENTRY:
-        warn_braces ();
-        break;
-    }
-}
-
-/*---------------------------------------------------------------------------*/
-
-void
-dbind_any_marshal_va (DBusMessageIter *iter,
-                      char           **arg_types,
-                      va_list          args)
-{
-    char *p = *arg_types;
-    {
-        /* special case base-types since we need to walk the stack worse-luck */
-        for (;*p != '\0' && *p != '=';) {
-            int intarg;
-            void *ptrarg;
-            double doublearg;
-            dbus_int64_t int64arg;
-            void *arg = NULL;
-
-            switch (*p) {
-            case DBUS_TYPE_BYTE:
-            case DBUS_TYPE_BOOLEAN:
-            case DBUS_TYPE_INT16:
-            case DBUS_TYPE_UINT16:
-            case DBUS_TYPE_INT32:
-            case DBUS_TYPE_UINT32:
-                intarg = va_arg (args, int);
-                arg = &intarg;
-                break;
-            case DBUS_TYPE_INT64:
-            case DBUS_TYPE_UINT64:
-                int64arg = va_arg (args, dbus_int64_t);
-                arg = &int64arg;
-                break;
-            case DBUS_TYPE_DOUBLE:
-                doublearg = va_arg (args, double);
-                arg = &doublearg;
-                break;
-            /* ptr types */
-            case DBUS_TYPE_STRING:
-            case DBUS_TYPE_OBJECT_PATH:
-            case DBUS_TYPE_SIGNATURE:
-            case DBUS_TYPE_ARRAY:
-            case DBUS_TYPE_DICT_ENTRY:
-                ptrarg = va_arg (args, void *);
-                arg = &ptrarg;
-                break;
-            case DBUS_STRUCT_BEGIN_CHAR:
-                ptrarg = va_arg (args, void *);
-                arg = ptrarg;
-                break;
-
-            case DBUS_TYPE_VARIANT:
-                fprintf (stderr, "No variant support yet - very toolkit specific\n");
-                ptrarg = va_arg (args, void *);
-                arg = &ptrarg;
-                break;
-            default:
-                fprintf (stderr, "Unknown / invalid arg type %c\n", *p);
-                break;
-            }
-            if (arg != NULL)
-                dbind_any_marshal (iter, &p, &arg);
-            }
-    }
-}
-
-/*---------------------------------------------------------------------------*/
-
-void
-dbind_any_demarshal (DBusMessageIter *iter,
-                     char           **type,
-                     void           **data)
-{
-    size_t len;
-
-#ifdef DEBUG
-    fprintf (stderr, "any demarshal '%c' to %p\n", **type, *data);
-#endif
-
-    switch (**type) {
-    case DBIND_POD_CASES:
-        len = dbind_gather_alloc_info (*type);
-        dbus_message_iter_get_basic (iter, *data);
-        *data = ((guchar *)*data) + len;
-        (*type)++;
-        break;
-    case DBUS_TYPE_STRING:
-    case DBUS_TYPE_OBJECT_PATH:
-    case DBUS_TYPE_SIGNATURE:
-        len = dbind_gather_alloc_info (*type);
-        dbus_message_iter_get_basic (iter, *data);
-#ifdef DEBUG
-        fprintf (stderr, "dup string '%s' (%p)\n", **(void ***)data, **(void ***)data);
-#endif
-        **(void ***)data = g_strdup (**(void ***)data);
-        *data = ((guchar *)*data) + len;
-        (*type)++;
-        break;
-    case DBUS_TYPE_ARRAY: {
-        GArray *vals;
-        DBusMessageIter child;
-        size_t elem_size, elem_align;
-        char *stored_child_type;
-        int i;
-
-        (*type)++;
-        stored_child_type = *type;
-
-        elem_size = dbind_gather_alloc_info (*type);
-        elem_align = dbind_find_c_alignment_r (type);
-        vals = g_array_new (FALSE, FALSE, elem_size);
-        (**(void ***)data) = vals;
-        *data = ((guchar *)*data) + sizeof (void *);
-
-        i = 0;
-        dbus_message_iter_recurse (iter, &child);
-        while (dbus_message_iter_get_arg_type (&child) != DBUS_TYPE_INVALID) {
-            void *ptr;
-            char *subt = stored_child_type;
-            g_array_set_size (vals, i + 1);
-            ptr = vals->data + elem_size * i;
-            ptr = ALIGN_ADDRESS (ptr, elem_align);
-            dbind_any_demarshal (&child, &subt, &ptr);
-            i++;
-        };
-        break;
-    }
-    case DBUS_STRUCT_BEGIN_CHAR: {
-                gconstpointer data0 = *data;
-                int offset = 0, stralign;
-        DBusMessageIter child;
-
-        stralign = dbind_find_c_alignment (*type);
-
-        (*type)++;
-
-        dbus_message_iter_recurse (iter, &child);
-
-        while (**type != DBUS_STRUCT_END_CHAR) {
-            char *subt = *type;
-                        offset = ALIGN_VALUE (offset, dbind_find_c_alignment (*type));
-                        *data = PTR_PLUS (data0, offset);
-            dbind_any_demarshal (&child, type, data);
-            offset += dbind_gather_alloc_info (subt);
-        }
-
-                offset = ALIGN_VALUE (offset, stralign);
-                *data = PTR_PLUS (data0, offset);
-
-        g_assert (**type == DBUS_STRUCT_END_CHAR);
-        (*type)++;
-
-        break;
-    }
-    case DBUS_TYPE_STRUCT:
-    case DBUS_TYPE_DICT_ENTRY:
-        warn_braces ();
-        break;
-    }
-    dbus_message_iter_next (iter);
-}
-
-/*---------------------------------------------------------------------------*/
-
-void
-dbind_any_demarshal_va (DBusMessageIter *iter,
-                        char           **arg_types,
-                        va_list          args)
-{
-    char *p = *arg_types;
-    for (;*p != '\0';) {
-        void *arg = va_arg (args, void *);
-        dbind_any_demarshal (iter, &p, &arg);
-    }
-}
-
-/*---------------------------------------------------------------------------*/
-
-/* nice deep free ... */
-void
-dbind_any_free (char *type,
-                void *ptr)
-{
-    dbind_any_free_r (&type, &ptr);
-}
-
-/* should this be the default normalization ? */
-void
-dbind_any_free_ptr (char *type, void *ptr)
-{
-    dbind_any_free (type, &ptr);
-}
-
-/*---------------------------------------------------------------------------*/
-
-unsigned int
-dbind_find_c_alignment (char *type)
-{
-    return dbind_find_c_alignment_r (&type);
-}
-
-/*END------------------------------------------------------------------------*/
diff --git a/dbind/dbind-any.h b/dbind/dbind-any.h
deleted file mode 100644 (file)
index 975b244..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _DBIND_ANY_H_
-#define _DBIND_ANY_H_
-
-#define DBUS_API_SUBJECT_TO_CHANGE
-#include <dbus/dbus.h>
-
-unsigned int dbind_find_c_alignment (char *type);
-
-void   dbind_any_marshal       (DBusMessageIter *iter,
-                                char           **type,
-                                void           **val);
-
-void   dbind_any_marshal_va    (DBusMessageIter *iter,
-                                char           **arg_types,
-                                va_list          args);
-
-void   dbind_any_demarshal     (DBusMessageIter *iter,
-                                char           **type,
-                                void           **val);
-
-void   dbind_any_demarshal_va  (DBusMessageIter *iter,
-                                char           **arg_types,
-                                va_list          args);
-
-void   dbind_any_free          (char            *type,
-                                void            *ptr_to_ptr);
-
-void   dbind_any_free_ptr      (char            *type,
-                                void            *ptr);
-
-#endif /* _DBIND_ANY_H_ */
diff --git a/dbind/dbind.c b/dbind/dbind.c
deleted file mode 100644 (file)
index 512133d..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <glib.h>
-
-#include "config.h"
-#include "dbind/dbind.h"
-
-/*
- * FIXME: compare types - to ensure they match &
- *        do dynamic padding of structures etc.
- */
-
-/*---------------------------------------------------------------------------*/
-
-static void
-set_reply (DBusPendingCall *pending, void *user_data)
-{
-    void **replyptr = (void **)user_data;
-
-    *replyptr = dbus_pending_call_steal_reply (pending);
-}
-
-static DBusMessage *
-send_and_allow_reentry (DBusConnection *bus, DBusMessage *message, DBusError *error)
-{
-    DBusPendingCall *pending;
-    DBusMessage *reply = NULL;
-
-    if (!dbus_connection_send_with_reply (bus, message, &pending, -1))
-    {
-        return NULL;
-    }
-    dbus_pending_call_set_notify (pending, set_reply, (void *)&reply, NULL);
-    while (!reply)
-    {
-      if (!dbus_connection_read_write_dispatch (bus, -1)) return NULL;
-    }
-    return reply;
-}
-
-dbus_bool_t
-dbind_method_call_reentrant_va (DBusConnection *cnx,
-                                const char     *bus_name,
-                                const char     *path,
-                                const char     *interface,
-                                const char     *method,
-                                DBusError      *opt_error,
-                                const char     *arg_types,
-                                va_list         args)
-{
-    dbus_bool_t success = FALSE;
-    DBusMessage *msg = NULL, *reply = NULL;
-    DBusMessageIter iter;
-    DBusError *err, real_err;
-    const char *p;
-
-    if (opt_error)
-        err = opt_error;
-    else {
-        dbus_error_init (&real_err);
-        err = &real_err;
-    }
-
-    msg = dbus_message_new_method_call (bus_name, path, interface, method);
-    if (!msg)
-        goto out;
-
-    p = arg_types;
-    dbus_message_iter_init_append (msg, &iter);
-    dbind_any_marshal_va (&iter, &p, args);
-
-    reply = send_and_allow_reentry (cnx, msg, err);
-    if (!reply)
-        goto out;
-
-    if (dbus_message_get_type (reply) == DBUS_MESSAGE_TYPE_ERROR)
-    {
-      const char *name = dbus_message_get_error_name (reply);
-      dbus_set_error (err, name, g_strdup (""));
-      goto out;
-    }
-    /* demarshal */
-    if (p[0] == '=' && p[1] == '>')
-    {
-        DBusMessageIter iter;
-        p += 2;
-        dbus_message_iter_init (reply, &iter);
-        dbind_any_demarshal_va (&iter, &p, args);
-    }
-
-    success = TRUE;
-out:
-    if (msg)
-        dbus_message_unref (msg);
-
-    if (reply)
-        dbus_message_unref (reply);
-
-    if (err == &real_err)
-        dbus_error_free (err);
-
-    return success;
-}
-
-/**
- * dbind_method_call_reentrant:
- *
- * @cnx:       A D-Bus Connection used to make the method call.
- * @bus_name:  The D-Bus bus name of the program where the method call should
- *             be made.
- * @path:      The D-Bus object path that should handle the method.
- * @interface: The D-Bus interface used to scope the method name.
- * @method:    Method to be invoked.
- * @opt_error: D-Bus error.
- * @arg_types: Variable length arguments interleaving D-Bus argument types
- *             and pointers to argument data.
- *
- * Makes a D-Bus method call using the supplied location data, method name and
- * argument data.This function is re-entrant. It continuously reads from the D-Bus
- * bus and dispatches messages until a reply has been recieved.
- **/
-dbus_bool_t
-dbind_method_call_reentrant (DBusConnection *cnx,
-                             const char     *bus_name,
-                             const char     *path,
-                             const char     *interface,
-                             const char     *method,
-                             DBusError      *opt_error,
-                             const char     *arg_types,
-                             ...)
-{
-    dbus_bool_t success = FALSE;
-    va_list args;
-
-    va_start (args, arg_types);
-    success = dbind_method_call_reentrant_va (cnx,
-                                              bus_name,
-                                              path,
-                                              interface,
-                                              method,
-                                              opt_error,
-                                              arg_types,
-                                              args);
-    va_end (args);
-
-    return success;
-}
-
-/*---------------------------------------------------------------------------*/
-
-/**
- * dbind_emit_signal:
- *
- * @cnx:       A D-Bus Connection used to make the method call.
- * @path:      The D-Bus object path that this signal is emitted from.
- * @interface: The D-Bus interface used to scope the method name.
- * @signal:    Name of signal to emit.
- * @opt_error: D-Bus error.
- * @arg_types: Variable length arguments interleaving D-Bus argument types
- *             and pointers to argument data.
- *
- * Emits a D-Bus signal  using the supplied signal name and argument data.
- **/
-dbus_bool_t
-dbind_emit_signal (DBusConnection *cnx,
-                   const char     *path,
-                   const char     *interface,
-                   const char     *signal,
-                   DBusError      *opt_error,
-                   const char     *arg_types,
-                   ...)
-{
-    dbus_bool_t success = FALSE;
-    DBusMessage *msg = NULL;
-    DBusMessageIter iter;
-    DBusError *err, real_err;
-    char *p;
-    va_list args;
-
-    va_start (args, arg_types);
-
-    if (opt_error)
-        err = opt_error;
-    else {
-        dbus_error_init (&real_err);
-        err = &real_err;
-    }
-
-    msg = dbus_message_new_signal (path, interface, signal);
-    if (!msg)
-        goto out;
-
-    dbus_message_iter_init (msg, &iter);
-    dbind_any_marshal_va (&iter, &p, args);
-
-    if (!dbus_connection_send (cnx, msg, NULL))
-       goto out;
-
-    success = TRUE;
-out:
-    va_end (args);
-
-    if (msg)
-        dbus_message_unref (msg);
-
-    if (err == &real_err)
-        dbus_error_free (err);
-
-    return success;
-}
-
-/*END------------------------------------------------------------------------*/
diff --git a/dbind/dbind.h b/dbind/dbind.h
deleted file mode 100644 (file)
index c3e1d56..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _DBIND_H_
-#define _DBIND_H_
-
-#define DBUS_API_SUBJECT_TO_CHANGE
-#include <dbus/dbus.h>
-#include <dbind/dbind-any.h>
-
-dbus_bool_t
-dbind_method_call_reentrant_va (DBusConnection *cnx,
-                                const char     *bus_name,
-                                const char     *path,
-                                const char     *interface,
-                                const char     *method,
-                                DBusError      *opt_error,
-                                const char     *arg_types,
-                                va_list         args);
-
-dbus_bool_t
-dbind_method_call_reentrant (DBusConnection *cnx,
-                             const char     *bus_name,
-                             const char     *path,
-                             const char     *interface,
-                             const char     *method,
-                             DBusError      *opt_error,
-                             const char     *arg_types,
-                             ...);
-
-dbus_bool_t
-dbind_emit_signal (DBusConnection *cnx,
-                   const char     *path,
-                   const char     *interface,
-                   const char     *signal,
-                   DBusError      *opt_error,
-                   const char     *arg_types,
-                   ...);
-
-#endif /* _DBIND_H_ */
diff --git a/dbind/dbtest.c b/dbind/dbtest.c
deleted file mode 100644 (file)
index d00486a..0000000
+++ /dev/null
@@ -1,403 +0,0 @@
-#include <stdio.h>
-#include <glib.h>
-#include <string.h>
-#include <dbind/dbind.h>
-
-/* Wow! dbus is unpleasant to use */
-
-#define DESKICE_PATH      "/Novell/ICEDesktop/Daemon"
-#define DESKICE_NAMESPACE "Novell.ICEDesktop.Daemon"
-
-void marshal (DBusMessage *msg, char *type, void *ptr)
-{
-    DBusMessageIter iter;
-
-    dbus_message_iter_init_append (msg, &iter);
-    dbind_any_marshal (&iter, &type, &ptr);
-}
-
-void demarshal (DBusMessage *msg, char *type, void *ptr)
-{
-    DBusMessageIter iter;
-
-    if (!dbus_message_iter_init (msg, &iter))
-        fprintf (stderr, "no data in msg\n");
-    else
-        dbind_any_demarshal (&iter, &type, &ptr);
-}
-
-#if 0
-dbus_bool_t  dbus_message_marshal   (DBusMessage  *msg,
-                                     char        **marshalled_data_p,
-                                     int          *len_p);
-
-void dump_msg (DBusMessage *msg)
-{
-    char *data = NULL;
-    int   len, i, j;
-
-    dbus_message_marshal (msg, &data, &len);
-    for (i = 0; i < (len+15)/16; i++) {
-        fprintf (stderr, "%4.d | ", i * 16);
-        for (j = 0; j < 16; j++) {
-            unsigned char c = (i*16+j <= len) ? data[i*16+j] : 0;
-            fprintf (stderr, "0x%.2x ", c);
-        }
-        fprintf (stderr, " | ");
-        for (j = 0; j < 16; j++) {
-            char c = (i*16+j <= len) ? data[i*16+j] : '\0';
-            fprintf (stderr, "%c", g_ascii_isprint (c) ? c : '.');
-        }
-    }
-}
-#endif
-
-void test_simple ()
-{
-    dbus_int32_t v1, v2;
-    DBusMessage *msg;
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    v1 = 42;
-    marshal (msg, "i", &v1);
-    demarshal (msg, "i", &v2);
-    g_assert (v2 == 42);
-    g_assert (v1 == v2);
-
-    dbind_any_free ("i", &v2); /* nop */
-    dbus_message_unref (msg);
-
-    fprintf (stderr, "simple ok\n");
-}
-
-void test_array ()
-{
-    GArray *a1, *a2;
-    DBusMessage *msg;
-
-    /* pod types */
-    a1 = g_array_new (FALSE, FALSE, sizeof (dbus_int32_t));
-    g_array_set_size (a1, 4);
-    g_array_index (a1, dbus_int32_t, 0) = 42;
-    g_array_index (a1, dbus_int32_t, 1) = 17;
-    g_array_index (a1, dbus_int32_t, 2) = 26;
-    g_array_index (a1, dbus_int32_t, 3) = 38;
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    marshal (msg, "ai", &a1);
-    demarshal (msg, "ai", &a2);
-
-    g_assert (a2 != NULL);
-    g_assert (a2->len == 4);
-    g_assert (g_array_index (a2, dbus_int32_t, 0) == 42);
-    g_assert (g_array_index (a2, dbus_int32_t, 1) == 17);
-    g_assert (g_array_index (a2, dbus_int32_t, 2) == 26);
-    g_assert (g_array_index (a2, dbus_int32_t, 3) == 38);
-    g_array_free (a1, TRUE);
-
-    dbind_any_free ("ai", &a2);
-    dbus_message_unref (msg);
-
-    fprintf (stderr, "array ok\n");
-}
-
-/* this taught me that the struct type is a mis-nomer, 
-   it is generated by brackets */
-void test_struct_native ()
-{
-    DBusMessage *msg;
-    DBusMessageIter iter, arr, str;
-
-    /* manually create ar(ss) */
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-
-    dbus_message_iter_init_append (msg, &iter);
-
-    dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(ss)", &arr);
-    {
-        char *foo;
-        dbus_message_iter_open_container (&arr, DBUS_TYPE_STRUCT, NULL, &str);
-
-        foo = "foo";
-        dbus_message_iter_append_basic (&str, DBUS_TYPE_STRING, &foo);
-        foo = "baa";
-        dbus_message_iter_append_basic (&str, DBUS_TYPE_STRING, &foo);
-        
-        dbus_message_iter_close_container (&arr, &str);
-    }
-    dbus_message_iter_close_container (&iter, &arr);
-
-    fprintf (stderr, "native struct marshalling ok\n");
-    
-    dbus_message_unref (msg);
-}
-
-
-void test_struct_simple ()
-{
-    typedef struct {
-        char *foo;
-        char *baa;
-        char *baz;
-    } FooBaa;
-    GArray *a1 = NULL, *a2 = NULL;
-    DBusMessage *msg;
-
-    a1 = g_array_new (FALSE, FALSE, sizeof (FooBaa));
-    g_array_set_size (a1, 2);
-    g_array_index (a1, FooBaa, 0).foo = "foo";
-    g_array_index (a1, FooBaa, 0).baa = "baa";
-    g_array_index (a1, FooBaa, 0).baz = "baz";
-    g_array_index (a1, FooBaa, 1).foo = "Foo";
-    g_array_index (a1, FooBaa, 1).baa = "baA";
-    g_array_index (a1, FooBaa, 1).baz = "BaZ";
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    marshal (msg, "a(sss)", &a1);
-    demarshal (msg, "a(sss)", &a2);
-
-    g_assert (a2 != NULL);
-    g_assert (a2 != a1);
-    g_assert (a2->len == 2);
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 0).foo, "foo"));
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 0).baa, "baa"));
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 0).baz, "baz"));
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 1).foo, "Foo"));
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 1).baa, "baA"));
-    g_assert (!strcmp (g_array_index (a2, FooBaa, 1).baz, "BaZ"));
-    
-    fprintf (stderr, "simple struct ok\n");
-
-    dbind_any_free ("a(sss)", &a2);
-    dbus_message_unref (msg);
-}
-
-void test_struct_complex ()
-{
-    typedef struct {
-        dbus_int32_t x, y;
-    } Point;
-    typedef struct {
-        unsigned char pad1;
-        double        val;
-        Point         tl, br;
-        char          pad2;
-        char         *name;
-    } Complex;
-#define TYPEOF_POINT \
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING \
-        DBUS_TYPE_INT32_AS_STRING \
-        DBUS_TYPE_INT32_AS_STRING \
-    DBUS_STRUCT_END_CHAR_AS_STRING
-#define TYPEOF_COMPLEX \
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING \
-        DBUS_TYPE_BYTE_AS_STRING \
-        DBUS_TYPE_DOUBLE_AS_STRING \
-        TYPEOF_POINT \
-        TYPEOF_POINT \
-        DBUS_TYPE_BYTE_AS_STRING \
-        DBUS_TYPE_STRING_AS_STRING \
-    DBUS_STRUCT_END_CHAR_AS_STRING
-
-
-    DBusMessage *msg;
-    Complex c1, c2;
-
-    memset (&c1, 0, sizeof (c1));
-    memset (&c2, 0, sizeof (c2));
-
-    c1.pad1 = 2;
-    c1.val = 0.1327569;
-    c1.tl.x = 1;
-    c1.tl.y = 17;
-    c1.br.x = 2587;
-    c1.br.y = -1;
-    c1.pad2 = 1;
-    c1.name = "stroustrup";
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    marshal (msg, TYPEOF_COMPLEX, &c1);
-    demarshal (msg, TYPEOF_COMPLEX, &c2);
-
-    g_assert (c2.pad1 == 2);
-    g_assert (c2.val == c1.val);
-    g_assert (c2.val != 0);
-    g_assert (c2.tl.x == 1);
-    g_assert (c2.tl.y == 17);
-    g_assert (c2.br.x == 2587);
-    g_assert (c2.br.y == -1);
-    g_assert (c2.pad2 == 1);
-    g_assert (!strcmp (c1.name, "stroustrup"));
-    
-    fprintf (stderr, "complex struct ok\n");
-
-    dbind_any_free (TYPEOF_COMPLEX, &c2);
-    dbus_message_unref (msg);
-}
-
-void test_struct_with_array ()
-{
-    typedef struct {
-        GArray *vals;
-        unsigned char pad1;
-    } ArrayStruct;
-#define TYPEOF_ARRAYSTRUCT \
-        DBUS_TYPE_ARRAY_AS_STRING \
-    DBUS_STRUCT_BEGIN_CHAR_AS_STRING \
-        DBUS_TYPE_ARRAY_AS_STRING \
-        DBUS_TYPE_UINT32_AS_STRING \
-        DBUS_TYPE_BYTE_AS_STRING \
-    DBUS_STRUCT_END_CHAR_AS_STRING
-
-
-    DBusMessage *msg;
-    GArray *a1, *a2;
-    ArrayStruct *p, *q;
-
-
-    a1 = g_array_new (FALSE, FALSE, sizeof (ArrayStruct));
-    g_array_set_size (a1, 2);
-    p = &g_array_index (a1, ArrayStruct, 0);
-    p[0].vals = g_array_new (FALSE, FALSE, sizeof (dbus_uint32_t));
-    g_array_set_size (p[0].vals, 2);
-    g_array_index (p[0].vals, dbus_uint32_t, 0) = 1;
-    g_array_index (p[0].vals, dbus_uint32_t, 1) = 1000;
-    p[0].pad1 = 2;
-    p[1].vals = g_array_new (FALSE, FALSE, sizeof (dbus_uint32_t));
-    g_array_set_size (p[1].vals, 2);
-    g_array_index (p[1].vals, dbus_uint32_t, 0) = 1000000;
-    g_array_index (p[1].vals, dbus_uint32_t, 1) = 1000000000;
-    p[1].pad1 = 8;
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    marshal (msg, TYPEOF_ARRAYSTRUCT, &a1);
-    demarshal (msg, TYPEOF_ARRAYSTRUCT, &a2);
-
-    q = &g_array_index (a2, ArrayStruct, 0);
-    g_assert (p[0].pad1 == 2);
-    g_assert (g_array_index (p[1].vals, dbus_uint32_t, 1) == 1000000000);
-    
-    fprintf (stderr, "struct with array ok\n");
-
-    dbind_any_free (TYPEOF_ARRAYSTRUCT, &a2);
-    dbus_message_unref (msg);
-    g_array_free (p[0].vals, TRUE);
-    g_array_free (p[1].vals, TRUE);
-}
-
-void test_twovals ()
-{
-    typedef struct {
-        dbus_int32_t v1;
-        dbus_int32_t v2;
-    } TwoVal;
-#define TYPEOF_TWOVAL \
-        DBUS_TYPE_INT32_AS_STRING \
-        DBUS_TYPE_INT32_AS_STRING \
-
-    DBusMessage *msg;
-    DBusMessageIter iter;
-    TwoVal i, o;
-    char *type_twoval = TYPEOF_TWOVAL;
-    char *type;
-    void *ptr;
-
-    msg = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
-    i.v1 = 42;
-  i.v2 = 1764;
-    dbus_message_iter_init_append (msg, &iter);
-    type = type_twoval;
-    ptr = &i;
-    dbind_any_marshal (&iter, &type, &ptr);
-    dbind_any_marshal (&iter, &type, &ptr);
-    dbus_message_iter_init (msg, &iter);
-    type = type_twoval;
-    ptr = &o;
-    dbind_any_demarshal (&iter, &type, &ptr);
-    dbind_any_demarshal (&iter, &type, &ptr);
-    g_assert (o.v1 == 42);
-    g_assert (o.v2 == 1764);
-    g_assert (i.v1 == o.v1);
-    g_assert (i.v2 == o.v2);
-
-    dbind_any_free ("ii", &o); /* nop */
-    dbus_message_unref (msg);
-
-    fprintf (stderr, "two-val ok\n");
-}
-
-void test_marshalling ()
-{
-    test_simple ();
-    test_array ();
-    test_struct_native ();
-    test_struct_simple ();
-    test_struct_complex ();
-    test_struct_with_array ();
-    test_twovals ();
-
-    fprintf (stderr, "Marshalling ok\n");
-}
-
-void test_teamspaces (DBusConnection *bus)
-{
-    GArray *spaces;
-    DBusError error;
-    int i;
-    typedef struct {
-        char *name;
-        char *id;
-        char *url;
-    } TeamSpace;
-
-    dbus_error_init (&error);
-    if (!dbind_method_call_reentrant (bus,
-                                      NULL,
-                                      DESKICE_PATH,
-                                      DESKICE_NAMESPACE,
-                                      "GetTeamList",
-                                      &error,
-                                      "=>a(sss)",
-                                      &spaces)) {
-        fprintf (stderr, "Error getting team spaces %s: %s\n",
-                 error.name, error.message);
-        dbus_error_free (&error);
-        return;
-    }
-
-    if (!spaces) {
-        fprintf (stderr, "no teamspaces\n");
-        return;
-    }
-    fprintf (stderr, "%d teamspace(s)\n", spaces->len);
-    for (i = 0; i < spaces->len; i++) {
-        TeamSpace *space = &g_array_index (spaces, TeamSpace, i);
-        fprintf (stderr, "\t%d: %s, %s, %s\n", i, space->name, space->id, space->url);
-    }
-
-    dbind_any_free_ptr ("a(sss)", spaces);
-}
-
-void test_helpers ()
-{
-    dbind_find_c_alignment ("(sss)");
-    dbind_find_c_alignment ("a(sss)");
-    dbind_find_c_alignment ("(s(s)yd(d)s)");
-    fprintf (stderr, "helpers passed\n");
-}
-
-int main (int argc, char **argv)
-{
-    DBusConnection *bus;
-    DBusError err;
-
-    dbus_error_init (&err);
-
-    bus = dbus_bus_get (DBUS_BUS_SESSION, &err);
-
-    test_helpers ();
-    test_marshalling ();
-    test_teamspaces (bus);
-
-    return 0;
-}
diff --git a/droute/Makefile.am b/droute/Makefile.am
deleted file mode 100644 (file)
index 8d7e957..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-noinst_LTLIBRARIES = libdroute.la
-
-libdroute_la_CFLAGS = $(DBUS_GLIB_CFLAGS) \
-                      -DATSPI_INTROSPECTION_PATH=\"$(pkgdatadir)/$(DEFAULT_ATSPI_INTROSPECTION_PATH)\"\
-                      -I$(top_builddir)\
-                      -I$(top_srcdir)
-
-libdrouteinclude_HEADERS = \
-               droute.h
-               droute-variant.h
-libdrouteincludedir=$(includedir)/droute
-
-libdroute_la_SOURCES =\
-               droute.c\
-               droute.h\
-               droute-variant.c\
-               droute-variant.h\
-               droute-pairhash.c\
-               droute-pairhash.h
-
-TESTS = droute-test
-
-check_PROGRAMS = droute-test
-droute_test_SOURCES  = droute-test.c
-droute_test_CFLAGS = $(DBUS_GLIB_CFLAGS) \
-                    -I$(top_builddir)\
-                    -I$(top_srcdir)\
-                    -DTEST_INTROSPECTION_DIRECTORY=\"$(top_srcdir)/droute\"
-
-droute_test_LDFLAGS  = $(top_builddir)/dbind/libdbind.la\
-                      libdroute.la\
-                      $(DBUS_GLIB_LIBS)
diff --git a/droute/droute-pairhash.c b/droute/droute-pairhash.c
deleted file mode 100644 (file)
index f3b8da2..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Codethink Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "droute-pairhash.h"
-
-/*---------------------------------------------------------------------------*/
-
-static guint
-str_hash (guint32 h, const char *p)
-{
-  for (p += 1; *p != '\0'; p++)
-      h = (h << 5) - h + *p;
-
-  return h;
-}
-
-/*---------------------------------------------------------------------------*/
-
-StrPair *
-str_pair_new (const gchar *one, const gchar *two)
-{
-    StrPair *pair;
-
-    pair = g_new (StrPair, 1);
-    pair->one = one;
-    pair->two = two;
-    return pair;
-}
-
-guint
-str_pair_hash (gconstpointer key)
-{
-    StrPair *pair = (StrPair *) key;
-    guint hash = 0;
-
-    /*g_return_val_if_fail (pair      != NULL, 0);
-      g_return_val_if_fail (pair->one != NULL, 0);
-      g_return_val_if_fail (pair->two != NULL, 0);
-    */
-
-    if (*(pair->two) != '\0')
-      {
-        hash = *(pair->two);
-        hash = str_hash (hash, ++(pair->two));
-        hash = str_hash (hash, pair->one);
-      }
-
-    return hash;
-}
-
-gboolean
-str_pair_equal (gconstpointer a, gconstpointer b)
-{
-    StrPair *ap = (StrPair *) a;
-    StrPair *bp = (StrPair *) b;
-
-    if (g_str_equal (ap->one, bp->one) &&
-        g_str_equal (ap->two, bp->two))
-      {
-        return TRUE;
-      }
-    else
-      {
-        return FALSE;
-      }
-}
-
-/*END------------------------------------------------------------------------*/
diff --git a/droute/droute-pairhash.h b/droute/droute-pairhash.h
deleted file mode 100644 (file)
index 1491c2d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Codethink Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _DROUTE_PAIRHASH_H
-#define _DROUTE_PAIRHASH_H
-
-#include <glib.h>
-
-typedef struct _StrPair StrPair;
-struct _StrPair
-{
-    const gchar *one;
-    const gchar *two;
-};
-
-StrPair *str_pair_new     (const gchar *one,
-                           const gchar *two);
-
-guint    str_pair_hash    (gconstpointer key);
-gboolean str_pair_equal   (gconstpointer a,
-                           gconstpointer b);
-
-#endif /* _DROUTE_PAIRHASH_H */
diff --git a/droute/droute-test.c b/droute/droute-test.c
deleted file mode 100644 (file)
index 8b3fb7c..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-#include <stdio.h>
-#include <glib.h>
-#include <string.h>
-#include <droute/droute.h>
-#include <dbind/dbind.h>
-
-#include "dbus/dbus-glib-lowlevel.h"
-
-#define TEST_OBJECT_PATH    "/test/object"
-#define TEST_INTERFACE_ONE  "test.interface.One"
-#define TEST_INTERFACE_TWO  "test.interface.Two"
-
-#define OBJECT_ONE "ObjectOne";
-#define OBJECT_TWO "ObjectTwo";
-
-#if !defined TEST_INTROSPECTION_DIRECTORY
-    #error "No introspection XML directory defined"
-#endif
-
-#define STRING_ONE "StringOne"
-#define STRING_TWO "StringTwo"
-
-#define INT_ONE 0
-#define INT_TWO 456
-
-#define NONE_REPLY_STRING "NoneMethod"
-
-typedef struct _AnObject
-{
-    gchar *astring;
-    guint *anint;
-} AnObject;
-
-static DBusConnection *bus;
-static GMainLoop      *main_loop;
-static gboolean       success = TRUE;
-
-static DBusMessage *
-impl_null (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    DBusMessage *reply;
-
-    reply = dbus_message_new_method_return (message);
-    return reply;
-}
-
-static DBusMessage *
-impl_getInt (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    AnObject    *object = (AnObject *) user_data;
-    DBusMessage *reply;
-    DBusError    error;
-
-    dbus_error_init (&error);
-
-    reply = dbus_message_new_method_return (message);
-    dbus_message_append_args (reply, DBUS_TYPE_INT32, &(object->anint), DBUS_TYPE_INVALID);
-    return reply;
-}
-
-static DBusMessage *
-impl_setInt (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    AnObject    *object = (AnObject *) user_data;
-    DBusMessage *reply;
-    DBusError    error;
-
-    dbus_error_init (&error);
-
-    dbus_message_get_args (message, &error, DBUS_TYPE_INT32, &(object->anint), DBUS_TYPE_INVALID);
-
-    reply = dbus_message_new_method_return (message);
-    return reply;
-}
-
-static DBusMessage *
-impl_getString (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    AnObject    *object = (AnObject *) user_data;
-    DBusMessage *reply;
-    DBusError    error;
-
-    dbus_error_init (&error);
-
-    reply = dbus_message_new_method_return (message);
-    dbus_message_append_args (reply, DBUS_TYPE_STRING, &(object->astring), DBUS_TYPE_INVALID);
-    return reply;
-}
-
-static DBusMessage *
-impl_setString (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    AnObject    *object = (AnObject *) user_data;
-    DBusMessage *reply;
-    DBusError    error;
-
-    dbus_error_init (&error);
-
-    g_free (object->astring);
-    dbus_message_get_args (message, &error, DBUS_TYPE_STRING, &(object->astring), DBUS_TYPE_INVALID);
-
-    reply = dbus_message_new_method_return (message);
-    return reply;
-}
-
-static DBusMessage *
-impl_getInterfaceOne (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    DBusMessage *reply;
-    DBusError    error;
-    gchar       *itf = TEST_INTERFACE_ONE;
-
-    dbus_error_init (&error);
-
-    reply = dbus_message_new_method_return (message);
-    dbus_message_append_args (reply, DBUS_TYPE_STRING, &itf, DBUS_TYPE_INVALID);
-    return reply;
-}
-
-static DBusMessage *
-impl_getInterfaceTwo (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    DBusMessage *reply;
-    DBusError    error;
-    gchar       *itf = TEST_INTERFACE_TWO;
-
-    dbus_error_init (&error);
-
-    reply = dbus_message_new_method_return (message);
-    dbus_message_append_args (reply, DBUS_TYPE_STRING, &itf, DBUS_TYPE_INVALID);
-    return reply;
-}
-
-static DRouteMethod test_methods_one[] = {
-    {impl_null,            "null"},
-    {impl_getInt,          "getInt"},
-    {impl_setInt,          "setInt"},
-    {impl_getString,       "getString"},
-    {impl_setString,       "setString"},
-    {impl_getInterfaceOne, "getInterfaceOne"},
-    {NULL, NULL}
-};
-
-static DRouteMethod test_methods_two[] = {
-    {impl_null,            "null"},
-    {impl_getInt,          "getInt"},
-    {impl_setInt,          "setInt"},
-    {impl_getString,       "getString"},
-    {impl_setString,       "setString"},
-    {impl_getInterfaceTwo, "getInterfaceTwo"},
-    {NULL, NULL}
-};
-
-static DRouteProperty test_properties[] = {
-    {NULL, NULL, NULL}
-};
-
-gboolean
-do_tests_func (gpointer data)
-{
-    DBusError    error;
-    const gchar *bus_name;
-
-    gchar     *expected_string;
-    gchar     *result_string;
-
-    dbus_error_init (&error);
-    bus_name = dbus_bus_get_unique_name (bus);
-
-    /* --------------------------------------------------------*/
-
-    dbind_method_call_reentrant (bus,
-                                 bus_name,
-                                 TEST_OBJECT_PATH,
-                                 TEST_INTERFACE_ONE,
-                                 "null",
-                                 NULL,
-                                 "");
-
-    /* --------------------------------------------------------*/
-
-    expected_string = TEST_INTERFACE_ONE;
-    result_string = NULL;
-    dbind_method_call_reentrant (bus,
-                                 bus_name,
-                                 TEST_OBJECT_PATH,
-                                 TEST_INTERFACE_ONE,
-                                 "getInterfaceOne",
-                                 NULL,
-                                 "=>s",
-                                 &result_string);
-    if (g_strcmp0(expected_string, result_string))
-    {
-            g_print ("Failed: reply to getInterfaceOne not as expected\n");
-            goto out;
-    }
-
-    /* --------------------------------------------------------*/
-
-out:
-    g_main_loop_quit (main_loop);
-    return FALSE;
-}
-
-
-int main (int argc, char **argv)
-{
-    DRouteContext  *cnx;
-    DRoutePath     *path;
-    AnObject       *object;
-    DBusError       error;
-
-    /* Setup some server object */
-
-    object = g_new0(AnObject, 1);
-    object->astring = g_strdup (STRING_ONE);
-    object->anint = INT_ONE;
-
-    dbus_error_init (&error);
-    main_loop = g_main_loop_new(NULL, FALSE);
-    bus = dbus_bus_get (DBUS_BUS_SESSION, &error);
-    dbus_connection_setup_with_g_main(bus, g_main_context_default());
-
-    cnx = droute_new (bus, TEST_INTROSPECTION_DIRECTORY);
-    path = droute_add_one (cnx, TEST_OBJECT_PATH, object);
-
-    droute_path_add_interface (path,
-                               TEST_INTERFACE_ONE,
-                               test_methods_one,
-                               test_properties);
-
-    droute_path_add_interface (path,
-                               TEST_INTERFACE_TWO,
-                               test_methods_two,
-                               test_properties);
-
-    g_idle_add (do_tests_func, NULL);
-    g_main_run(main_loop);
-    if (success)
-            return 0;
-    else
-            return 1;
-}
diff --git a/droute/droute-variant.c b/droute/droute-variant.c
deleted file mode 100644 (file)
index d4b5ca6..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "droute-variant.h"
-
-/*---------------------------------------------------------------------------*/
-
-dbus_bool_t
-droute_return_v_int32 (DBusMessageIter *iter, dbus_int32_t val)
-{
-    DBusMessageIter sub;
-
-    if (!dbus_message_iter_open_container
-        (iter, DBUS_TYPE_VARIANT, DBUS_TYPE_INT32_AS_STRING, &sub))
-      {
-        return FALSE;
-      }
-    dbus_message_iter_append_basic (&sub, DBUS_TYPE_INT32, &val);
-    dbus_message_iter_close_container (iter, &sub);
-    return TRUE;
-}
-
-dbus_bool_t
-droute_return_v_double (DBusMessageIter *iter, double val)
-{
-    DBusMessageIter sub;
-
-    if (!dbus_message_iter_open_container
-        (iter, DBUS_TYPE_VARIANT, DBUS_TYPE_DOUBLE_AS_STRING, &sub))
-      {
-        return FALSE;
-      }
-    dbus_message_iter_append_basic (&sub, DBUS_TYPE_DOUBLE, &val);
-    dbus_message_iter_close_container (iter, &sub);
-    return TRUE;
-}
-
-dbus_bool_t
-droute_return_v_string (DBusMessageIter *iter, const char *val)
-{
-    DBusMessageIter sub;
-
-    if (!val)
-      val = "";
-    if (!dbus_message_iter_open_container
-        (iter, DBUS_TYPE_VARIANT, DBUS_TYPE_STRING_AS_STRING, &sub))
-      {
-        return FALSE;
-      }
-    dbus_message_iter_append_basic (&sub, DBUS_TYPE_STRING, &val);
-    dbus_message_iter_close_container (iter, &sub);
-    return TRUE;
-}
-
-dbus_bool_t
-droute_return_v_object (DBusMessageIter *iter, const char *path)
-{
-    DBusMessageIter sub;
-
-    if (!dbus_message_iter_open_container
-        (iter, DBUS_TYPE_VARIANT, DBUS_TYPE_OBJECT_PATH_AS_STRING, &sub))
-      {
-        return FALSE;
-      }
-    dbus_message_iter_append_basic (&sub, DBUS_TYPE_OBJECT_PATH, &path);
-    dbus_message_iter_close_container (iter, &sub);
-    return TRUE;
-}
-
-/*---------------------------------------------------------------------------*/
-
-dbus_int32_t
-droute_get_v_int32 (DBusMessageIter *iter)
-{
-    DBusMessageIter sub;
-    dbus_int32_t rv;
-
-    // TODO- ensure we have the correct type
-    dbus_message_iter_recurse (iter, &sub);
-    dbus_message_iter_get_basic (&sub, &rv);
-    return rv;
-}
-
-const char *
-droute_get_v_string (DBusMessageIter *iter)
-{
-    DBusMessageIter sub;
-    char *rv;
-
-    // TODO- ensure we have the correct type
-    dbus_message_iter_recurse (iter, &sub);
-    dbus_message_iter_get_basic (&sub, &rv);
-    return rv;
-}
-
-/*END------------------------------------------------------------------------*/
diff --git a/droute/droute-variant.h b/droute/droute-variant.h
deleted file mode 100644 (file)
index 47feb96..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _DROUTE_VARIANT_H
-#define _DROUTE_VARIANT_H
-
-#include <dbus/dbus.h>
-
-dbus_bool_t  droute_return_v_int32  (DBusMessageIter *iter, dbus_int32_t val);
-dbus_bool_t  droute_return_v_double (DBusMessageIter *iter, double val);
-dbus_bool_t  droute_return_v_string (DBusMessageIter *iter, const char *val);
-dbus_bool_t  droute_return_v_object (DBusMessageIter *iter, const char *path);
-
-dbus_int32_t droute_get_v_int32     (DBusMessageIter *iter);
-const char  *droute_get_v_string    (DBusMessageIter *iter);
-
-#endif /* _DROUTE_VARIANT_H */
diff --git a/droute/droute.c b/droute/droute.c
deleted file mode 100644 (file)
index 212c280..0000000
+++ /dev/null
@@ -1,593 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Novell, Inc.
- * Copyright 2008 Codethink Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "droute.h"
-#include "droute-pairhash.h"
-
-#define CHUNKS_DEFAULT (512)
-
-#define oom() g_error ("D-Bus out of memory, this message will fail anyway")
-
-#if defined DROUTE_DEBUG
-    #define _DROUTE_DEBUG(format, args...) g_print (format , ## args)
-#else
-    #define _DROUTE_DEBUG(format, args...)
-#endif
-
-struct _DRouteContext
-{
-    DBusConnection       *bus;
-    GPtrArray            *registered_paths;
-
-    gchar                *introspect_dir;
-};
-
-struct _DRoutePath
-{
-    DRouteContext        *cnx;
-    GStringChunk         *chunks;
-    GPtrArray            *interfaces;
-    GHashTable           *methods;
-    GHashTable           *properties;
-
-    void                   *user_data;
-    DRouteGetDatumFunction  get_datum;
-};
-
-/*---------------------------------------------------------------------------*/
-
-typedef struct PropertyPair
-{
-    DRoutePropertyFunction get;
-    DRoutePropertyFunction set;
-} PropertyPair;
-
-/*---------------------------------------------------------------------------*/
-
-static DBusHandlerResult
-handle_message (DBusConnection *bus, DBusMessage *message, void *user_data);
-
-/*---------------------------------------------------------------------------*/
-
-static DRoutePath *
-path_new (DRouteContext *cnx,
-          void    *user_data,
-          DRouteGetDatumFunction get_datum)
-{
-    DRoutePath *new_path;
-
-    new_path = g_new0 (DRoutePath, 1);
-    new_path->cnx = cnx;
-    new_path->chunks = g_string_chunk_new (CHUNKS_DEFAULT);
-    new_path->interfaces = g_ptr_array_new ();
-
-    new_path->methods = g_hash_table_new_full ((GHashFunc)str_pair_hash,
-                                               str_pair_equal,
-                                               g_free,
-                                               NULL);
-
-    new_path->properties = g_hash_table_new_full ((GHashFunc)str_pair_hash,
-                                                  str_pair_equal,
-                                                  g_free,
-                                                  NULL);
-
-    new_path->user_data = user_data;
-    new_path->get_datum = get_datum;
-
-    return new_path;
-}
-
-static void
-path_free (DRoutePath *path, gpointer user_data)
-{
-    g_string_chunk_free  (path->chunks);
-    g_ptr_array_free     (path->interfaces, TRUE);
-    g_hash_table_destroy (path->methods);
-    g_hash_table_destroy (path->properties);
-}
-
-static void *
-path_get_datum (DRoutePath *path, const gchar *pathstr)
-{
-    if (path->get_datum != NULL)
-        return (path->get_datum) (pathstr, path->user_data);
-    else
-        return path->user_data;
-}
-
-/*---------------------------------------------------------------------------*/
-
-DRouteContext *
-droute_new (DBusConnection *bus, const char *introspect_dir)
-{
-    DRouteContext *cnx;
-
-    cnx = g_new0 (DRouteContext, 1);
-    cnx->bus = bus;
-    cnx->registered_paths = g_ptr_array_new ();
-    cnx->introspect_dir = g_strdup(introspect_dir);
-
-    return cnx;
-}
-
-void
-droute_free (DRouteContext *cnx)
-{
-    g_ptr_array_foreach (cnx->registered_paths, (GFunc) path_free, NULL);
-    g_free (cnx->introspect_dir);
-    g_free (cnx);
-}
-
-/*---------------------------------------------------------------------------*/
-
-DBusConnection *
-droute_get_bus (DRouteContext *cnx)
-{
-    return cnx->bus;
-}
-
-/*---------------------------------------------------------------------------*/
-
-static DBusObjectPathVTable droute_vtable =
-{
-  NULL,
-  &handle_message,
-  NULL, NULL, NULL, NULL
-};
-
-DRoutePath *
-droute_add_one (DRouteContext *cnx,
-                const char    *path,
-                const void    *data)
-{
-    DRoutePath *new_path;
-    gboolean registered;
-
-    new_path = path_new (cnx, (void *) data, NULL);
-
-    registered = dbus_connection_register_object_path (cnx->bus, path, &droute_vtable, new_path);
-    if (!registered)
-        oom();
-
-    g_ptr_array_add (cnx->registered_paths, new_path);
-    return new_path;
-}
-
-DRoutePath *
-droute_add_many (DRouteContext *cnx,
-                 const char    *path,
-                 const void    *data,
-                 const DRouteGetDatumFunction get_datum)
-{
-    DRoutePath *new_path;
-
-    new_path = path_new (cnx, (void *) data, get_datum);
-
-    if (!dbus_connection_register_fallback (cnx->bus, path, &droute_vtable, new_path))
-        oom();
-
-    g_ptr_array_add (cnx->registered_paths, new_path);
-    return new_path;
-}
-
-/*---------------------------------------------------------------------------*/
-
-void
-droute_path_add_interface(DRoutePath *path,
-                          const char *name,
-                          const DRouteMethod   *methods,
-                          const DRouteProperty *properties)
-{
-    gchar *itf;
-
-    g_return_if_fail (name != NULL);
-
-    itf = g_string_chunk_insert (path->chunks, name);
-    g_ptr_array_add (path->interfaces, itf);
-
-    for (; methods != NULL && methods->name != NULL; methods++)
-      {
-        gchar *meth;
-
-        meth = g_string_chunk_insert (path->chunks, methods->name);
-        g_hash_table_insert (path->methods, str_pair_new (itf, meth), methods->func);
-      }
-
-    for (; properties != NULL && properties->name != NULL; properties++)
-      {
-        gchar *prop;
-        PropertyPair *pair;
-
-        prop = g_string_chunk_insert (path->chunks, properties->name);
-        pair = g_new (PropertyPair, 1);
-        pair->get = properties->get;
-        pair->set = properties->set;
-        g_hash_table_insert (path->properties, str_pair_new (itf, prop), pair);
-      }
-}
-
-/*---------------------------------------------------------------------------*/
-
-/* The data structures don't support an efficient implementation of GetAll
- * and I don't really care.
- */
-static DBusMessage *
-impl_prop_GetAll (DBusMessage *message,
-                  DRoutePath  *path,
-                  const char  *pathstr)
-{
-    DBusMessageIter iter, iter_dict, iter_dict_entry;
-    DBusMessage *reply;
-    DBusError error;
-    GHashTableIter prop_iter;
-
-    StrPair *key;
-    PropertyPair *value;
-    gchar *iface;
-
-    void  *datum = path_get_datum (path, pathstr);
-
-    dbus_error_init (&error);
-    if (!dbus_message_get_args
-                (message, &error, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID))
-        return dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
-
-    reply = dbus_message_new_method_return (message);
-    if (!reply)
-        oom ();
-
-    dbus_message_iter_init_append (reply, &iter);
-    if (!dbus_message_iter_open_container
-                (&iter, DBUS_TYPE_ARRAY, "{sv}", &iter_dict))
-        oom ();
-
-    g_hash_table_iter_init (&prop_iter, path->properties);
-    while (g_hash_table_iter_next (&prop_iter, (gpointer*)&key, (gpointer*)&value))
-      {
-        if (!g_strcmp0 (key->one, iface))
-         {
-           if (!value->get)
-              continue;
-           if (!dbus_message_iter_open_container
-                        (&iter_dict, DBUS_TYPE_DICT_ENTRY, NULL, &iter_dict_entry))
-              oom ();
-           dbus_message_iter_append_basic (&iter_dict_entry, DBUS_TYPE_STRING,
-                                           key->two);
-           (value->get) (&iter_dict_entry, datum);
-           if (!dbus_message_iter_close_container (&iter_dict, &iter_dict_entry))
-               oom ();
-         }
-      }
-
-    if (!dbus_message_iter_close_container (&iter, &iter_dict))
-        oom ();
-    return reply;
-}
-
-static DBusMessage *
-impl_prop_GetSet (DBusMessage *message,
-                  DRoutePath  *path,
-                  const char  *pathstr,
-                  gboolean     get)
-{
-    DBusMessage *reply = NULL;
-    DBusError error;
-
-    StrPair pair;
-    PropertyPair *prop_funcs = NULL;
-
-
-    dbus_error_init (&error);
-    if (!dbus_message_get_args (message,
-                                &error,
-                                DBUS_TYPE_STRING,
-                                &(pair.one),
-                                DBUS_TYPE_STRING,
-                                &(pair.two),
-                                DBUS_TYPE_INVALID))
-        return dbus_message_new_error (message, DBUS_ERROR_FAILED, error.message);
-
-    prop_funcs = (PropertyPair *) g_hash_table_lookup (path->properties, &pair);
-    if (!prop_funcs)
-        return dbus_message_new_error (message, DBUS_ERROR_FAILED, "Property unavailable");
-
-    if (get && prop_funcs->get)
-      {
-        void *datum = path_get_datum (path, pathstr);
-        DBusMessageIter iter;
-
-        _DROUTE_DEBUG ("DRoute (handle prop Get): %s|%s on %s\n", pair.one, pair.two, pathstr);
-
-        reply = dbus_message_new_method_return (message);
-        dbus_message_iter_init_append (reply, &iter);
-        if (!(prop_funcs->get) (&iter, datum))
-         {
-           dbus_message_unref (reply);
-            reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Get failed");
-         }
-      }
-    else if (!get && prop_funcs->set)
-      {
-        void *datum = path_get_datum (path, pathstr);
-        DBusMessageIter iter;
-
-        _DROUTE_DEBUG ("DRoute (handle prop Get): %s|%s on %s\n", pair.one, pair.two, pathstr);
-
-        dbus_message_iter_init (message, &iter);
-        /* Skip the interface and property name */
-        dbus_message_iter_next(&iter);
-        dbus_message_iter_next(&iter);
-        (prop_funcs->set) (&iter, datum);
-
-        reply = dbus_message_new_method_return (message);
-      }
-    else
-      {
-        reply = dbus_message_new_error (message, DBUS_ERROR_FAILED, "Getter or setter unavailable");
-      }
-
-    return reply;
-}
-
-static DBusHandlerResult
-handle_properties (DBusConnection *bus,
-                   DBusMessage    *message,
-                   DRoutePath     *path,
-                   const gchar    *iface,
-                   const gchar    *member,
-                   const gchar    *pathstr)
-{
-    DBusMessage *reply;
-    DBusHandlerResult result = DBUS_HANDLER_RESULT_HANDLED;
-
-    if (!g_strcmp0(member, "GetAll"))
-       reply = impl_prop_GetAll (message, path, pathstr);
-    else if (!g_strcmp0 (member, "Get"))
-       reply = impl_prop_GetSet (message, path, pathstr, TRUE);
-    else if (!g_strcmp0 (member, "Set"))
-       reply = impl_prop_GetSet (message, path, pathstr, FALSE);
-    else
-       result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-    if (reply)
-      {
-        dbus_connection_send (bus, reply, NULL);
-        dbus_message_unref (reply);
-      }
-
-    return result;
-}
-
-/*---------------------------------------------------------------------------*/
-
-static const char *introspection_header =
-"<?xml version=\"1.0\"?>\n";
-
-static const char *introspection_node_element =
-"<node name=\"%s\">\n";
-
-static const char *introspection_footer =
-"</node>";
-
-static void
-append_interface (GString     *str,
-                  const gchar *interface,
-                  const gchar *directory)
-{
-    gchar *filename;
-    gchar *contents;
-    gsize len;
-
-    GError *err = NULL;
-
-    filename = g_build_filename (directory, interface, NULL);
-
-    if (g_file_get_contents (filename, &contents, &len, &err))
-      {
-        g_string_append_len (str, contents, len);
-      }
-    else
-      {
-        g_warning ("AT-SPI: Cannot find introspection XML file %s - %s",
-                   filename, err->message);
-        g_error_free (err);
-      }
-
-    g_string_append (str, "\n");
-    g_free (filename);
-    g_free (contents);
-}
-
-static DBusHandlerResult
-handle_introspection (DBusConnection *bus,
-                      DBusMessage    *message,
-                      DRoutePath     *path,
-                      const gchar    *iface,
-                      const gchar    *member,
-                      const gchar    *pathstr)
-{
-    GString *output;
-    gchar *final;
-    gint i;
-
-    DBusMessage *reply;
-
-    _DROUTE_DEBUG ("DRoute (handle introspection): %s\n", pathstr);
-
-    if (g_strcmp0 (member, "Introspect"))
-        return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-    output = g_string_new(introspection_header);
-
-    g_string_append_printf(output, introspection_node_element, pathstr);
-
-    for (i=0; i < path->interfaces->len; i++)
-      {
-        gchar *interface = (gchar *) g_ptr_array_index (path->interfaces, i);
-        append_interface(output, interface, path->cnx->introspect_dir);
-      }
-
-    g_string_append(output, introspection_footer);
-    final = g_string_free(output, FALSE);
-
-    reply = dbus_message_new_method_return (message);
-    if (!reply)
-        oom ();
-    dbus_message_append_args(reply, DBUS_TYPE_STRING, &final,
-                             DBUS_TYPE_INVALID);
-    dbus_connection_send (bus, reply, NULL);
-
-    dbus_message_unref (reply);
-    g_free(final);
-    return DBUS_HANDLER_RESULT_HANDLED;
-}
-
-/*---------------------------------------------------------------------------*/
-
-static DBusHandlerResult
-handle_other (DBusConnection *bus,
-              DBusMessage    *message,
-              DRoutePath     *path,
-              const gchar    *iface,
-              const gchar    *member,
-              const gchar    *pathstr)
-{
-    gint result = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-    StrPair pair;
-    DRouteFunction func;
-    DBusMessage *reply = NULL;
-
-    pair.one = iface;
-    pair.two = member;
-
-    _DROUTE_DEBUG ("DRoute (handle other): %s|%s on %s\n", member, iface, pathstr);
-
-    func = (DRouteFunction) g_hash_table_lookup (path->methods, &pair);
-    if (func != NULL)
-      {
-        void *datum = path_get_datum (path, pathstr);
-
-        reply = (func) (bus, message, datum);
-
-        if (!reply)
-          {
-            /* All D-Bus method calls must have a reply.
-             * If one is not provided presume that the call has a void
-             * return and no error has occured.
-             */
-            reply = dbus_message_new_method_return (message);
-          }
-        dbus_connection_send (bus, reply, NULL);
-        dbus_message_unref (reply);
-        result = DBUS_HANDLER_RESULT_HANDLED;
-      }
-    return result;
-}
-
-/*---------------------------------------------------------------------------*/
-
-static DBusHandlerResult
-handle_message (DBusConnection *bus, DBusMessage *message, void *user_data)
-{
-    DRoutePath *path = (DRoutePath *) user_data;
-    const gchar *iface   = dbus_message_get_interface (message);
-    const gchar *member  = dbus_message_get_member (message);
-    const gint   type    = dbus_message_get_type (message);
-    const gchar *pathstr = dbus_message_get_path (message);
-
-    /* Check for basic reasons not to handle */
-    if (type   != DBUS_MESSAGE_TYPE_METHOD_CALL ||
-        member == NULL ||
-        iface  == NULL)
-        return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-    if (!strcmp (iface, "org.freedesktop.DBus.Properties"))
-        return handle_properties (bus, message, path, iface, member, pathstr);
-
-    if (!strcmp (iface, "org.freedesktop.DBus.Introspectable"))
-        return handle_introspection (bus, message, path, iface, member, pathstr);
-
-    return handle_other (bus, message, path, iface, member, pathstr);
-}
-
-/*---------------------------------------------------------------------------*/
-
-DBusMessage *
-droute_not_yet_handled_error (DBusMessage *message)
-{
-    DBusMessage *reply;
-    gchar       *errmsg;
-
-    errmsg= g_strdup_printf (
-            "Method \"%s\" with signature \"%s\" on interface \"%s\" doesn't exist\n",
-            dbus_message_get_member (message),
-            dbus_message_get_signature (message),
-            dbus_message_get_interface (message));
-    reply = dbus_message_new_error (message,
-                                    DBUS_ERROR_UNKNOWN_METHOD,
-                                    errmsg);
-    g_free (errmsg);
-    return reply;
-}
-
-DBusMessage *
-droute_out_of_memory_error (DBusMessage *message)
-{
-    DBusMessage *reply;
-    gchar       *errmsg;
-
-    errmsg= g_strdup_printf (
-            "Method \"%s\" with signature \"%s\" on interface \"%s\" could not be processed due to lack of memory\n",
-            dbus_message_get_member (message),
-            dbus_message_get_signature (message),
-            dbus_message_get_interface (message));
-    reply = dbus_message_new_error (message,
-                                    DBUS_ERROR_NO_MEMORY,
-                                    errmsg);
-    g_free (errmsg);
-    return reply;
-}
-
-DBusMessage *
-droute_invalid_arguments_error (DBusMessage *message)
-{
-    DBusMessage *reply;
-    gchar       *errmsg;
-
-    errmsg= g_strdup_printf (
-            "Method \"%s\" with signature \"%s\" on interface \"%s\" was supplied with invalid arguments\n",
-            dbus_message_get_member (message),
-            dbus_message_get_signature (message),
-            dbus_message_get_interface (message));
-    reply = dbus_message_new_error (message,
-                                    DBUS_ERROR_INVALID_ARGS,
-                                    errmsg);
-    g_free (errmsg);
-    return reply;
-}
-
-/*END------------------------------------------------------------------------*/
diff --git a/droute/droute.h b/droute/droute.h
deleted file mode 100644 (file)
index a892c62..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * AT-SPI - Assistive Technology Service Provider Interface
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2008 Novell, Inc.
- * Copyright 2008 Codethink Ltd.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef _DROUTE_H
-#define _DROUTE_H
-
-#include <dbus/dbus.h>
-#include <glib.h>
-
-#include <droute/droute-variant.h>
-
-
-typedef DBusMessage *(*DRouteFunction)         (DBusConnection *, DBusMessage *, void *);
-typedef dbus_bool_t  (*DRoutePropertyFunction) (DBusMessageIter *, void *);
-
-typedef void        *(*DRouteGetDatumFunction) (const char *, void *);
-
-typedef struct _DRouteMethod DRouteMethod;
-struct _DRouteMethod
-{
-    DRouteFunction func;
-    const char *name;
-};
-
-typedef struct _DRouteProperty DRouteProperty;
-struct _DRouteProperty
-{
-    DRoutePropertyFunction get;
-    DRoutePropertyFunction set;
-    const char *name;
-};
-
-/*---------------------------------------------------------------------------*/
-
-typedef struct _DRouteContext DRouteContext;
-
-typedef struct _DRoutePath    DRoutePath;
-
-/*---------------------------------------------------------------------------*/
-
-DRouteContext *
-droute_new      (DBusConnection *bus,
-                 const char *introspect_dir);
-void
-droute_free     (DRouteContext *cnx);
-
-DRoutePath *
-droute_add_one  (DRouteContext *cnx,
-                 const char    *path,
-                 const void    *data);
-
-DRoutePath *
-droute_add_many (DRouteContext *cnx,
-                 const char    *path,
-                 const void    *data,
-                 const DRouteGetDatumFunction get_datum);
-
-void
-droute_path_add_interface (DRoutePath *path,
-                           const char *name,
-                           const DRouteMethod   *methods,
-                           const DRouteProperty *properties);
-
-DBusMessage *
-droute_not_yet_handled_error   (DBusMessage *message);
-
-DBusMessage *
-droute_invalid_arguments_error (DBusMessage *message);
-
-DBusMessage *
-droute_out_of_memory_error     (DBusMessage *message);
-
-DBusConnection *
-droute_get_bus (DRouteContext *cnx);
-
-#endif /* _DROUTE_H */
diff --git a/droute/test.interface.One b/droute/test.interface.One
deleted file mode 100644 (file)
index a8e2206..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<interface name="test.interface.One">
-  <method name="null"/>
-  <method name="getInt">
-    <arg direction="out" type="o"/>
-  </method>
-  <method name="setInt">
-    <arg direction="in" type="o"/>
-  </method>
-  <method name="getString">
-    <arg direction="out" type="s"/>
-  </method>
-  <method name="setString">
-    <arg direction="in" type="s"/>
-  </method>
-</interface>
diff --git a/droute/test.interface.Two b/droute/test.interface.Two
deleted file mode 100644 (file)
index ca661ec..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<interface name="test.interface.Two">
-  <method name="null"/>
-  <method name="getInt">
-    <arg direction="out" type="o"/>
-  </method>
-  <method name="setInt">
-    <arg direction="in" type="o"/>
-  </method>
-  <method name="getString">
-    <arg direction="out" type="s"/>
-  </method>
-  <method name="setString">
-    <arg direction="in" type="s"/>
-  </method>
-</interface>
diff --git a/idl/Accessibility.idl b/idl/Accessibility.idl
deleted file mode 100644 (file)
index 2b9b08e..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001-2005 Ximian, Inc. and Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ACCESSIBILITY_IDL_
-#define _ACCESSIBILITY_IDL_
-
-#ifndef  __ACCESSIBILITY_COMPILATION__
-#ifdef   __ORBIT_IDL__
-%{
-#pragma include_defs Accessibility.h
-%}
-#pragma inhibit push
-#endif
-#endif
-
-#ifndef _BONOBO_IDL_INCLUDED_
-#define _BONOBO_IDL_INCLUDED_
-#include <Bonobo_Unknown.idl>
-#endif /* _BONOBO_IDL_INCLUDED_ */
-
-/*!\mainpage AT-SPI Interfaces and Subinterfaces
- *
- * This is the main documentation page for the 
- * Assistive Technology Service Provider Interface (AT-SPI). 
- * 
- * \section apps Applications and Interface Components
- * Namespace Accessibility includes service APIs implemented by
- * participating applications and their user interface components:\n\n
- * Accessibility::Accessible\n 
- * Accessibility::Application\n
- * Accessibility::Desktop\n
- * Accessibility::Component\n
- * Accessibility::Hypertext\n
- * Accessibility::Image\n
- * Accessibility::Selection\n
- * Accessibility::StreamableContent\n
- * Accessibility::Table\n
- * Accessibility::Text\n
- * Accessibility::EditableText\n
- * Accessibility::Value
- *
- * \section types Enumerated Types
- * Accessibility defines a number of key enumerated types, including:\n\n
- * Accessibility::RelationType\n
- * Accessibility::Role\n
- * Accessibility::StateType\n
- * Accessibility::Event\n
- * Accessibility::EventDetails \n
- *
- * \section Registry
- * Accessibility also includes Accessibility::Registry,
- * which is the service used by assistive technologies and related
- * AT-SPI clients to register interest in certain classes of events,
- * enumerate the currently available desktop and application list,
- * and to synthesize certain kinds of device events.
- *
- * \section listeners Event Listener Interfaces
- * Accessibility::EventListener\n
- * Accessibility::DeviceEventListener
- *
- * \section helpers Helper Interfaces
- *
- * The following interfaces may be implemented by assistive technologies 
- * themselves, in order to export their services in a consistent manner or
- * in order to interoperate with other applications or desktop services.\n
- *
- * Accessibility::LoginHelper : Implemented by adaptive technologies which 
- * need to participate in user-authentication or login activities, and which
- * therefore may need negotiation with authentication agents or processes.\n
- *
- * Accessibility::Selector [NEW]: Implemented by user agents or assistive 
- * technologies which export lists of choices from which the end-user is 
- * expected to make selections.  Useful for various types of remote
- * activation or intercommunication between multiple ATs.
- **/
-
-#include <Bonobo_Unknown.idl>
-
-/*
- * Accessibility interfaces and subinterfaces
- */
-#include <Accessibility_Accessible.idl>
-#include <Accessibility_Action.idl>
-#include <Accessibility_Collection.idl>
-#include <Accessibility_Component.idl>
-#include <Accessibility_Document.idl>
-#include <Accessibility_Hyperlink.idl>
-#include <Accessibility_Image.idl>
-#include <Accessibility_Selection.idl>
-#include <Accessibility_StreamableContent.idl>
-#include <Accessibility_Table.idl>
-#include <Accessibility_Text.idl>
-#include <Accessibility_Value.idl>
-
-/*
- * Interfaces derived from Accessibility::Text
- */
-
-#include <Accessibility_EditableText.idl>
-#include <Accessibility_Hypertext.idl>
-
-/*
- * Utility interfaces and interfaces derived from Accessibility::Accessible
- */
-
-#include <Accessibility_Relation.idl>
-#include <Accessibility_State.idl>
-#include <Accessibility_Application.idl>
-#include <Accessibility_Desktop.idl>
-#include <Accessibility_Event.idl>
-#include <Accessibility_Registry.idl>
-#include <Accessibility_Role.idl>
-#include <Accessibility_LoginHelper.idl>
-#include <Accessibility_Selector.idl>
-
-#ifndef __ACCESSIBILITY_COMPILATION__
-#ifdef  __ORBIT_IDL__
-#pragma inhibit pop
-#endif
-#endif
-
-#endif
diff --git a/idl/Accessibility_Accessible.idl b/idl/Accessibility_Accessible.idl
deleted file mode 100644 (file)
index e0650a4..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ACCESSIBILITY_ACCESSIBLE_IDL
-#define _ACCESSIBILITY_ACCESSIBLE_IDL
-
-#include "Accessibility_Relation.idl"
-#include "Accessibility_State.idl"
-#include "Accessibility_Role.idl"
-
-module Accessibility {
-  
-  /** used by Text and Document: these correspond to the POSIX setlocale() enum values. **/
-  enum LOCALE_TYPE {
-      LOCALE_TYPE_MESSAGES,
-      LOCALE_TYPE_COLLATE,
-      LOCALE_TYPE_CTYPE,
-      LOCALE_TYPE_MONETARY,
-      LOCALE_TYPE_NUMERIC,
-      LOCALE_TYPE_TIME
-  };
-
-    /** A list of Relations, which may be many-to-many. */
-  typedef sequence<Relation> RelationSet;
-
-    /** 
-     * A list of name-value pairs, returned as a sequence of strings; 
-     * the name and value are separated by a colon. 
-     * @note "Attributes" returned in AttributeSet lists are distinct from, 
-     * and should not be confused with, "attribute" members of interfaces
-     * as defined by the IDL "attribute" keyword.  IDL attributes are
-     * strongly-typed values which are individually obtained via
-     * language-specific bindings whose syntax is dictated by the OMG's
-     * IDL language bindings.  For instance using the C language,
-     * the "Accessible::name" attribute is queried using
-     * \c Accessibility_Accessible__get_name (obj, &ev);
-     * Name-value pairs associated with Accessible instances are not
-     * normally redundant with these IDL attributes, i.e. there is no
-     * "accessible-name" attribute in the AttributeSet returned from
-     * Accessible::getAttributes().
-     *
-     * Where possible, the names and values in the name-value pairs
-     * should be chosen from well-established attribute namespaces
-     * using standard semantics.  For example, metadata namespace and
-     * values should be chosen from the 'Dublin Core' Metadata
-     * namespace using Dublin Core semantics:
-     * http://dublincore.org/dcregistry/
-     * Similarly, relevant structural metadata should be exposed
-     * using attribute names and values chosen from the CSS2 and WICD specification:
-     * http://www.w3.org/TR/1998/REC-CSS2-19980512
-     * WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).
-     * 
-     * Finally, note that typographic, semantic, and presentational annotations which
-     * are associated with text content, in particular which are associated with particular
-     * text ranges, should be exposed via Accessibility::Text::getAttributeRun instead of
-     * via these more general 'Object attributes'.
-     *
-     * @since AT-SPI 1.7.0
-     */
-  typedef sequence<string> AttributeSet;
-
-    /** 
-     * A list of accessible roles 
-     * @since AT-SPI 1.7.0
-     **/
-  typedef sequence<Role> RoleSet;
-
-    /** Used by Component and Text, a struct defining a bounding rectangle. 
-     * The relevant coordinate system is determined by the context of the
-     * API call which returned or receives the value.
-     */
-  struct BoundingBox {
-          long x; /**< the value corresponding to the minimum or leftmost x position. */
-          long y; /**< the value corresponding to the minimum y value.  */
-          long width; /**< the horizontal extent of the bounding box,
-                      * that is, the difference between the maximum and minimum
-                      * x coordinate bounds.
-                      */
-          long height; /**< the vertical extent of the bounding box, 
-                       * that is, the difference between the maximum and minimum
-                       * y coordinate bounds.
-                       */
-  };
-
-    
-  interface Application; /**< defined in Accessibility_Application.idl **/
-
-  /** 
-   * The base interface which is implemented by all accessible objects. 
-   * All objects support interfaces for querying their contained 'children' 
-   * and position in the accessible-object hierarchy, whether or not they
-   * actually have children.
-   *
-   * @note Events that may be emitted by instances of Accessible include:
-   * \li \c "object:property-change" A base (strongly-typed) object attribute has changed,
-   *         for instance "object:property-change:accessible-name".
-   *         Notifed property subtypes include accessible-name, accessible-description,
-   *         accessible-parent and accessible-role. 
-   *
-   * \li \c "object:children-changed" The number or identity of an object's children
-   *         has changed.
-   * \li \c "object:state-changed" The object's StateSet has had a state added
-   *         or removed.
-   * \li \c "object:active-descendant-changed" If the object includes 
-   *         STATE_MANAGES_DESCENDANTS, this event is fired to indicate that the 
-   *         descendant having STATE_ACTIVE has changed; this corresponds to
-   *         "micro" keyboard focus when the containing/emitting object has
-   *         "macro" or technical keyboard focus.  For instance, this event is
-   *         usually emitted while traversing tables and/or spreadsheet cells.
-   * \li \c "object:attribute-change" A weakly-typed property, as contained in the
-   *         AttributeSet returned by Accessible::getAttributes, has changed in value,
-   *         been added, or been removed from the object.
-   *         ("object:attribute-change" notifications were added in AT-SPI 1.7.0)
-   */
-  interface Accessible : Bonobo::Unknown {
-
-    /**
-     * a (short) \c string representing the object's name.
-     **/
-    attribute string name;
-
-    /**
-     * a \c string describing the object in more detail than \a name.
-     **/
-    attribute string description;
-
-    /**
-     * an ::Accessible object which is this object's containing object.
-     **/
-    readonly attribute Accessibility::Accessible parent;
-
-    /**
-     * childCount: the number of children contained by this object.
-     **/
-    readonly attribute long            childCount;
-
-    /**
-     * Determine whether an ::Accessible refers to the same object as another.
-     * This method should be used rather than brute-force comparison of
-     * object references (i.e. "by-value" comparison), as two object references
-     * may have different apparent values yet refer to the same object.
-     *
-     * @param obj: an ::Accessible object reference to compare to
-     * @returns: a \c boolean indicating whether the two object references
-     *         point to the same object. 
-     **/
-    boolean isEqual (in Accessible obj);
-
-    /**
-     * Get the accessible child of this object at \c index.
-     * @param index: an in parameter indicating which child is requested (zero-indexed).
-     * @returns: the 'nth' ::Accessible child of this object.
-     **/
-    Accessible         getChildAtIndex (in long index);
-
-    /**
-     * Get the index of this object in its parent's child list.
-     * @returns: a long integer indicating this object's index in the parent's list.
-     **/
-    long               getIndexInParent ();
-
-    /**
-     * Get a set defining this object's relationship to other accessible objects.
-     * @returns: a ::RelationSet defining this object's relationships.
-     **/
-    RelationSet        getRelationSet ();
-
-    /**
-     * Get the ::Role indicating the type of UI role played by this object.
-     *
-     * @returns: a ::Role indicating the type of UI role played by this object.
-     **/
-    Role               getRole ();
-
-    /**
-     * Get a string indicating the type of UI role played by this object.
-     *
-     * @returns: a UTF-8 string indicating the type of UI role played by this object.
-     **/
-    string             getRoleName ();
-
-    /**
-     * Get a string indicating the type of UI role played by this object,
-     * translated to the current locale.
-     *
-     * @returns: a UTF-8 string indicating the type of UI role played by this object.
-     **/
-    string             getLocalizedRoleName ();
-
-    /**
-     * Get the current state of the object as a ::StateSet.
-     * @returns: a ::StateSet encapsulating the currently true states of the object.
-     **/
-    StateSet   getState ();
-
-    /**
-     * Get a list of properties applied to this object as a whole, as an 
-     * ::AttributeSet consisting of name-value pairs.  As such these attributes
-     * may be considered weakly-typed properties or annotations, as distinct
-     * from the strongly-typed interface instance data declared using the IDL 
-     * "attribute" keyword.
-     *
-     * Not all objects have explicit "name-value pair" AttributeSet properties.  
-     *
-     * Attribute names and values may have any UTF-8 string value, however where possible,
-     * in order to facilitate consistent use and exposure of "attribute" properties by
-     * applications and AT clients, attribute names and values should chosen from  
-     * a publicly-specified namespace where appropriate.
-     *
-     * Where possible, the names and values in the name-value pairs
-     * should be chosen from well-established attribute namespaces
-     * using standard semantics.       
-     * For example, attributes of ::Accessible objects corresponding to XHTML content 
-     * elements should correspond to attribute names and values specified in the w3c 
-     * XHTML specification, at http://www.w3.org/TR/xhtml2, where such values are not 
-     * already exposed via a more strongly-typed aspect of the AT-SPI API.
-     * Metadata names and
-     * values should be chosen from the 'Dublin Core' Metadata
-     * namespace using Dublin Core semantics:
-     * http://dublincore.org/dcregistry/
-     * Similarly, relevant structural metadata should be exposed
-     * using attribute names and values chosen from the CSS2 and WICD specification:
-     * http://www.w3.org/TR/1998/REC-CSS2-19980512
-     * WICD (http://www.w3.org/TR/2005/WD-WICD-20051121/).
-     *
-     * @note Clients seeking semantic or typographical attributes associated with
-     * specific character spans of text content should use ::Text::getAttributeRun instead.
-     * The attributes returned by Accessible::getAttributes do not include
-     * "text attributes".
-     *
-     * @see ::Accessibility::Text::getAttributeRun
-     *
-     * @returns: an ::AttributeSet encapsulating any "attribute values" currently 
-     * defined for the object.
-     *
-     * @since AT-SPI 1.7.0
-     **/
-    AttributeSet       getAttributes ();
-
-    /**
-     * Get the containing Application for this object.
-     *
-     * @returns the Application instance to which this object belongs.
-     * @since AT-SPI 1.7.0
-     **/
-    Application getApplication ();
-
-     /** /cond future expansion */
-     void unimplemented ();
-     /** /endcond */
-
-  };
-};
-
-#endif
-
diff --git a/idl/Accessibility_Action.idl b/idl/Accessibility_Action.idl
deleted file mode 100644 (file)
index d14d90b..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-module Accessibility {
-    /**
-     * An interface through which a user-actionable user interface
-     * component can be manipulated.  Components which react to mouse or
-     * keyboard input from the user, (with the exception of pure text entry
-     * fields with no other function), should implement this interface.
-     * Typical actions include "click", "press", "release" (for instance for
-     * buttons), "menu" (for objects which have context menus invokable from 
-     * mouse or keyboard), "open" for icons representing files folders, and others.
-     */
-  interface Action : Bonobo::Unknown {
-
-    /**
-     * nActions: a \c long containing the number of actions this object supports.
-     * 
-     **/
-    readonly attribute long nActions;
-
-    /**
-     * getDescription:
-     * @param index: the index of the action 
-     *   for which a description is desired.
-     *
-     * Get the description of the specified action.  The description of an action
-     * may provide information about the result of action invocation, unlike the
-     * action name.
-     * @see getName.
-     *
-     * @returns: a \c string containing the description of the specified action.
-     *
-     **/
-    string getDescription (in long index);
-
-    /**
-     * getName:
-     * @param index: the index of the action 
-     *   whose name is requested.
-     *
-     * Get the name of the specified action.  Action names generally describe
-     * the user action, i.e. "click" or "press", rather then the result of 
-     * invoking the action.
-     *
-     * @returns: a \c string containing the name of the specified action.
-     *
-     **/
-    string getName (in long index);
-
-    /**
-     * doAction:
-     * @param index: the 0-based index of the action to perform.
-     *
-     * Causes the object to perform the specified action.
-     *
-     * @returns: a \c boolean indicating success or failure.
-     *
-     **/
-    boolean doAction (in long index);
-
-    /**
-     * getKeyBinding:
-     * @param index: the 0-based index of the action 
-     *   for which a key binding is requested.
-     *
-     * Get the key binding associated with a specific action.
-     *
-     * @returns: a \c string containing the key binding for the specified action,
-     *   or an empty string ("") if none exists.
-     **/
-    string getKeyBinding (in long index);
-
-      
-    /**
-     * \cond
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-      /** \endcond */
-  };
-};
-
diff --git a/idl/Accessibility_Application.idl b/idl/Accessibility_Application.idl
deleted file mode 100644 (file)
index f65961f..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001-2004 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __ACCESSIBILITY_APPLICATION_DEFINED__
-#define __ACCESSIBILITY_APPLICATION_DEFINED__
-
-#include <Accessibility_Accessible.idl>
-
-module Accessibility {
-
-  /** 
-   * An interface identifying an object which is the root of the
-   * user interface Accessible hierarchy associated with a running application.
-   * Children of Application are typically, but not exclusively, 
-   * top-level windows.
-   * @note It is possible for an element deeper in an Accessibility stack to
-   * implement Application, for instance in the case of "embedded applications"
-   * which draw into toplevel windows associated with other applications
-   * from the user's point of view.
-   */
-  interface Application : Accessible {
-
-    /**
-     * A string indicating the type of user interface toolkit
-     * which is used by the application.
-     * @note Ordinarily clients of ::Application should be
-     * toolkit-agnostic, dependencies on this property should
-     * be avoided where possible.
-     **/
-    readonly attribute string toolkitName;
-
-    /**
-     * A string indicating the version number of the application's
-     * accessibility bridge implementation.
-     **/
-    readonly attribute string version;
-
-    /**
-     * The application instance's unique ID as assigned by the registry.
-     **/
-    attribute long id;
-
-    /**
-     * @param listener: an ::EventListener object which will receive the requested
-     *            events from the application's toolkits via toolit 'bridges'
-     * @param eventName: a UTF-8 string indicating the type of (toolkit-specific) event
-     *            being requested.  Not all applications can generate toolkit events of
-     *            a given type.
-     *
-     * Register with this application's toolkit for "toolkit-specific" event notifications.
-     * @note
-     *       For most event support, clients should use non-toolkit-specific events
-     *       whenever possible, via ::Registry::registerGlobalEventListener - this method 
-     *       is provided as a 'back door' when generic names do not exist for the events in 
-     *       question.
-     **/
-    void registerToolkitEventListener (in EventListener listener, in string eventName);
-
-    /**
-     * registerObjectEventListener:
-     * @param listener: an ::EventListener object which will receive the requested
-     *            events
-     * @param eventName: a UTF-8 string indicating the type of (toolkit-specific) event
-     *            being requested.  
-     * Register with this application toolkit for "Accessibility::Accessible" 
-     * event notifications. 
-     * @note: SUBJECT TO DEPRECATION.
-     **/
-    void registerObjectEventListener (in EventListener listener, in string eventName);
-
-    /**
-     * Request that the application temporarily stop sending events.
-     * In most cases this should pause the application's main event loop.
-     *
-     * @returns: \c true if the request succeeded, \c false otherwise.
-     *
-     * @note: This method is not implemented in most toolkits, and therefore should be treated with caution.
-     **/
-    boolean       pause ();
-
-    /**
-     * Request that the application resume sending events.
-     *
-     * @returns: \c True if the request succeeded, \c False otherwise.
-     **/
-    boolean       resume ();
-
-    /**
-     * Gets the locale in which the application is currently operating.
-     * For the current message locale, use \a lctype LOCALE_TYPE_MESSAGES.
-     *
-     * @param lctype The LocaleType for which the locale is queried.
-     * @returns a string compliant with the POSIX standard for locale description.
-     **/
-    string       getLocale (in LOCALE_TYPE lctype);
-
-    /**\cond (This comment tells doxygen not to document these) */
-    void          unImplemented_ ();
-    void          unImplemented2_ ();
-    void          unImplemented3_ ();
-    /**\endcond */
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_Collection.idl b/idl/Accessibility_Collection.idl
deleted file mode 100644 (file)
index 5f23f63..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
- /* 
-  * AT-SPI - Assistive Technology Service Provider Interface 
-  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
-  *
-  * Copyright 2005 Sun Microsystems, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Library General Public
-  * License as published by the Free Software Foundation; either
-  * version 2 of the License, or (at your option) any later version.
-  *
-  * This library is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  * Library General Public License for more details.
-  *
-  * You should have received a copy of the GNU Library General Public
-  * License along with this library; if not, write to the
-  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-  * Boston, MA 02111-1307, USA.
-  */
-
-#ifndef __ACCESSIBILITY_COLLECTION_DEFINED__
-#define __ACCESSIBILITY_COLLECTION_DEFINED__
-module Accessibility {
-  
-
-  typedef sequence<Accessible> AccessibleSet;
-
-     interface MatchRule {
-     };
-
-
-     interface Collection : Bonobo::Unknown {
-       enum SortOrder {
-           SORT_ORDER_INVALID,
-           SORT_ORDER_CANONICAL, 
-           SORT_ORDER_FLOW, 
-           SORT_ORDER_TAB, 
-           SORT_ORDER_REVERSE_CANONICAL, 
-           SORT_ORDER_REVERSE_FLOW, 
-           SORT_ORDER_REVERSE_TAB, 
-           SORT_ORDER_LAST_DEFINED
-       };
-   
-       enum MatchType {
-           MATCH_INVALID, 
-           MATCH_ALL, 
-           MATCH_ANY, 
-          MATCH_NONE,
-          MATCH_EMPTY,
-           MATCH_LAST_DEFINED
-          };
-
-       enum TreeTraversalType {
-        
-        TREE_RESTRICT_CHILDREN,
-        TREE_RESTRICT_SIBLING,
-        TREE_INORDER,
-        TREE_LAST_DEFINED
-       };
-
-       boolean isAncestorOf (in Accessible object); 
-  
-       MatchRule        createMatchRule (in StateSet states,
-                                         in MatchType statematchtype,
-                                          in AttributeSet attributes,
-                                          in MatchType attributematchtype,
-                                          in RoleSet roles,
-                                         in MatchType rolematchtype,
-                                          in string interfaces,
-                                          in MatchType interfacematchtype,
-                                          in boolean invert);
-
-       void             freeMatchRule (in MatchRule rule);
-
-       AccessibleSet getMatches (in MatchRule rule,
-                                  in SortOrder sortby,
-                                 in long count,
-                                  in boolean traverse); 
-       
-       AccessibleSet getMatchesTo (in Accessible current_object,
-                                   in MatchRule rule, 
-                                   in SortOrder sortby,
-                                   in TreeTraversalType tree,
-                                   in boolean recurse,
-                                   in long count,
-                                   in boolean traverse);
-
-
-        AccessibleSet getMatchesFrom (in Accessible current_object,
-                                     in MatchRule rule, 
-                                     in SortOrder sortby, 
-                                     in TreeTraversalType tree,
-                                     in long count,
-                                     in boolean traverse);
-
-        Accessible getActiveDescendant ();
-        
-       void unImplemented ();
-       void unImplemented2 ();
-        void unImplemented3 ();
-        void unImplemented4 ();        
-   };
-};
-
-#endif
diff --git a/idl/Accessibility_Component.idl b/idl/Accessibility_Component.idl
deleted file mode 100644 (file)
index f4f063e..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility_Event.idl>
-
-module Accessibility {
-
-  /** 
-   * The ComponentLayer of a Component instance indicates its relative stacking order
-   * with respect to the onscreen visual representation of the UI.
-   * ComponentLayer, in combination with Component bounds information, can be used
-   * to compute the visibility of all or part of a component.  This is important in
-   * programmatic determination of region-of-interest for magnification, and in
-   * ¨flat screen review¨ models of the screen, as well as for other uses.
-   * Objects residing in two of the ComponentLayer categories support
-   * further z-ordering information, with respect to their peers in the same layer:
-   * namely, LAYER_WINDOW and LAYER_MDI.  Relative stacking order for other objects within
-   * the same layer is not available; the recommended heuristic is ¨first child paints first¨, 
-   * in other words, assume that the first siblings in the child list are subject to being
-   * overpainted by later siblings if their bounds intersect.
-   *
-   * The order of layers, from bottom to top, is:
-   * \li LAYER_BACKGROUND
-   * \li LAYER_WINDOW
-   * \li LAYER_MDI
-   * \li LAYER_CANVAS
-   * \li LAYER_WIDGET
-   * \li LAYER_POPUP
-   * \li LAYER_OVERLAY
-   */
-  enum ComponentLayer {
-    LAYER_INVALID,/**< Indicates an error condition or uninitialized value. */
-    LAYER_BACKGROUND,/**< The bottom-most layer, over which everything else is painted. 
-                     * The 'desktop background' is generally in this layer. */
-    LAYER_CANVAS,/**< The 'background' layer for most content renderers and UI Component 
-                 * containers. */
-    LAYER_WIDGET,/**< The layer in which the majority of ordinary 'foreground' widgets reside.*/
-    LAYER_MDI,/**< A special layer between LAYER_CANVAS and LAYER_WIDGET, in which the
-              * 'pseudo windows' (e.g. the MDI frames) reside. 
-              * @see Component::getMDIZOrder */
-    LAYER_POPUP,/**< A layer for popup window content, above LAYER_WIDGET. */
-    LAYER_OVERLAY,/**< The topmost layer. */
-    LAYER_WINDOW,/**< The layer in which a toplevel window background usually resides. */
-    LAYER_LAST_DEFINED/**< Used only to determine the end of the enumeration. */
-  };
-
-  /**
-   * The Component interface is implemented by objects which occupy on-screen space, e.g. objects
-   * which have onscreen visual representations.  The methods in Component allow clients to identify
-   * where the objects lie in the onscreen coordinate system, their relative size, stacking order, and
-   * position.  It also provides a mechanism whereby keyboard focus may be transferred to specific
-   * user interface elements programmatically.  This is a 2D API, coordinates of 3D objects are projected into the
-   * 2-dimensional screen view for purposes of this interface.
-   *
-   * @note the meaning and defined values of the \c short \c coord_type parameter used by some
-   * Component methods is as follows:
-   * \li 0 indicates coord_type_xy_screen, coordinates are relative to the display screen, in pixels.
-   * \li 1 indicates coord_type_xy_window, coordinates are relative to the current toplevel window, in pixels.
-   *
-   * @note Events emitted by Component instances include:
-   * \li \c "object:bounds-changed"
-   * \li \c "object:visible-data-changed"
-   */
-  interface Component : Bonobo::Unknown {
-      
-        /** 
-        * @returns \c True if the specified point lies within the Component's bounding box, 
-        * \c False otherwise. 
-        */
-        boolean contains (in long x, in long y, in short coord_type);
-        /** 
-        * @returns the Accessible child whose bounding box contains the specified point. 
-        */
-        Accessible getAccessibleAtPoint (in long x, in long y, in short coord_type);
-        /** 
-        * Obtain the Component's bounding box, in pixels, relative to the specified coordinate system. 
-        * @returns a BoundingBox which entirely contains the object's onscreen visual representation.
-        **/
-        BoundingBox getExtents (in short coord_type);
-        /** 
-        * Obtain the position of the current component in the coordinate system specified
-        * by \c coord_type.
-        * @param coord_type
-        * @param x an out parameter which will be back-filled with the returned x coordinate.
-        * @param y an out parameter which will be back-filled with the returned y coordinate.
-        */
-        void getPosition (out long x, out long y, in short coord_type);
-        /** 
-        * Obtain the size, in the coordinate system specified by \c coord_type, 
-        * of the rectangular area which fully contains the object's 
-        * visual representation, without accounting for viewport clipping. 
-        * @param width the object's horizontal extents in the specified coordinate system.
-        * @param height the object's vertical extents in the specified coordinate system.
-        */
-        void getSize (out long width, out long height);
-        /** @returns the ComponentLayer in which this object resides. */
-       ComponentLayer getLayer ();
-        /** 
-        * Obtain the relative stacking order (i.e. 'Z' order) of an object.
-        * Larger values indicate that an object is on "top" of the stack, therefore
-        * objects with smaller MDIZOrder may be obscured by objects with a larger MDIZOrder,
-        * but not vice-versa. 
-        * @note only relevant for objects in LAYER_MDI or LAYER_WINDOW 
-        * @returns an integer indicating the object's place in the stacking order.
-        */
-       short getMDIZOrder ();
-        /**
-        * Request that the object obtain keyboard focus.
-        *  
-        * @returns \c True if keyboard focus was successfully transferred to the Component. 
-        */
-        boolean grabFocus ();
-        /** 
-        * Register an EventListener for notification when this object receives keyboard focus.
-        * @note you probably want to register for ¨focus:¨ events via 
-        * Registry::registerGlobalEventListener instead. 
-        */
-        void registerFocusHandler (in EventListener handler);
-        /**
-        * Request that an EventListener registered via registerFocusHandler no longer be notified 
-        * when this object receives keyboard focus.
-        */
-        void deregisterFocusHandler (in EventListener handler);
-
-        /**
-        * Obtain the alpha value of the component.  An alpha value of 1.0 or greater
-        * indicates that the object is fully opaque, and an alpha value of 0.0 indicates
-        * that the object is fully transparent.  Negative alpha values have no defined
-        * meaning at this time.
-        *
-        * @note alpha values are used in conjunction with Z-order calculations to
-        * determine whether an object wholly or partially obscures another object's 
-        * visual intersection, in the event that their bounds intersect.
-        *
-        * @see STATE_OPAQUE
-        *
-        * @since AT-SPI 1.7.0
-        */
-        double getAlpha ();
-
-       /** \cond
-        * unImplemented:
-        *
-        * placeholders for future expansion.
-        */
-       void unImplemented ();
-       void unImplemented2 ();
-       void unImplemented3 ();
-        /** \endcond */
-  };
-};
diff --git a/idl/Accessibility_Desktop.idl b/idl/Accessibility_Desktop.idl
deleted file mode 100644 (file)
index 020a050..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __ACCESSIBILITY_DESKTOP_DEFINED__
-#define __ACCESSIBILITY_DESKTOP_DEFINED__
-
-#include <Accessibility_Accessible.idl>
-
-module Accessibility {
-    /**
-     * At the moment this is only a marker interface, it acts just like
-     * any other Accessible.  In all known implementations, the
-     * children are all instances of Application, but this is not
-     * guaranteed by this interface.
-     **/
-    interface Desktop : Accessible {
-         /** \cond
-          * unImplemented:
-          *
-          * placeholders for future expansion.
-          */
-         void unImplemented_ ();
-         void unImplemented2_ ();
-         void unImplemented3_ ();
-         void unImplemented4_ ();
-       /** \endcond */
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_Document.idl b/idl/Accessibility_Document.idl
deleted file mode 100644 (file)
index 42d7338..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2005 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __ACCESSIBILITY_DOCUMENT_DEFINED__
-#define __ACCESSIBILITY_DOCUMENT_DEFINED__
-
-module Accessibility {
-
-    /**
-     * Primarily a 'tagging' interface which indicates the start of 
-     * document content in the Accessibility hierarchy.  
-     * Accessible objects below the node implementing
-     * Document are normally assumed to be part of the document content.
-     * Attributes of Document are those attributes associated with the document 
-     * as a whole.  Objects that implement Document are normally expected to
-     * implement Collection as well.
-     *
-     * \see Accessibility::Collection
-     */
-  interface Document : Bonobo::Unknown {
-
-     /**
-     * Gets the locale associated with the document's content.
-     * e.g. the locale for LOCALE_TYPE_MESSAGES.
-     *
-     * @returns a string compliant with the POSIX standard for locale description.
-     **/
-    string       getLocale ();
-
-      /**
-       * Gets the value of a single attribute, if specified for the document as a whole.
-       *
-       * @param attributename: a string indicating the name of a specific attribute 
-       * (name-value pair) being queried.
-       * 
-       * @returns a string corresponding to the value of the specified attribute, or
-       * an empty string if the attribute is unspecified for the object.
-       **/
-    string       getAttributeValue (in string attributename);
-
-      /**
-       * Gets all attributes specified for a document as a whole.  
-       * For attributes which change within 
-       * the document content, see Accessibility::Text::getAttributes instead.
-       * 
-       * @returns an ::AttributeSet containing the attributes of the document, 
-       * as name-value pairs.
-       *
-       * @since AT-SPI 1.8.0
-       **/
-    AttributeSet  getAttributes ();
-
-    /**\cond **/
-    void          unImplemented_ ();
-    void          unImplemented2_ ();
-    void          unImplemented3_ ();
-    void          unImplemented4_ ();
-    /**\endcond **/
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_EditableText.idl b/idl/Accessibility_EditableText.idl
deleted file mode 100644 (file)
index 6e878ad..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility.idl>
-
-module Accessibility {
-
-  /** 
-   * Derived from interface Text, EditableText provides methods for
-   * modifying textual content of components which support editing.
-   * EditableText also interacts with the system clipboard via copyText,
-   * cutText, and pasteText.
-   * 
-   * @note read-only instances of EditableText are possible; 
-   *       These may be instances of a general-purpose component type which are
-   *       sometimes, but not always, user-editable, or may be
-   *       components which are temporarily or circumstantially
-   *       in a non-editable state. 
-   */
-  interface EditableText : Text {
-    /** 
-     * Replace the text contents with a new string, discarding the old contents.
-     *
-     * @param newContents a UTF-8 string with which the text object's contents will be replaced.
-     * @returns \c True if the text content was successfully changed, \c False otherwise.
-     */
-    boolean setTextContents (in string newContents);
-    /** 
-     * Insert new text contents into an existing text object at a given location, while retaining
-     * the old contents.
-     * @param position the character offset into the Text implementor's content at which the
-     *        new content will be inserted.
-     * @param text a UTF-8 string of which \c length characters will be inserted into the text 
-     *         object's text buffer.
-     * @param length the number of characters of \c text to insert.  If the character count
-     *         of \c text is less than or equal to \c length, the entire contents of \c text
-     *         will be inserted.
-     * 
-     * @returns \c True if the text content was successfully inserted, \c False otherwise.
-     */
-    boolean insertText (in long position, in string text, in long length);
-    /**
-     * Apply a particular set of attributes to a range of text.
-     *
-     *
-     * @returns \c True if the text attributes were successfully modified, \c False otherwise.
-     */
-    boolean setAttributes (in string attributes, in long startPos, in long endPos);
-    /**
-     * Copy a range of text into the system clipboard.
-     * @param startPos the character offset of the first character in the range of text being
-     *        copied.
-     * @param endPos the offset of the first character past the end of the range of text
-     *        being copied.
-     */
-    void    copyText (in long startPos, in long endPos);
-    /**
-     * Excise a range of text from a Text object, copying it into the system clipboard.
-     * @param startPos the character offset of the first character in the range of text being
-     *        cut.
-     * @param endPos the offset of the first character past the end of the range of text
-     *        being cut.
-     * @returns \c True if the text was successfully cut, \c False otherwise.
-     */
-    boolean cutText (in long startPos, in long endPos);
-    /**
-     * Excise a range of text from a Text object without copying it into the system clipboard.
-     * @param startPos the character offset of the first character in the range of text being
-     *        deleted.
-     * @param endPos the offset of the first character past the end of the range of text
-     *        being deleted.
-     * @returns \c True if the text was successfully deleted, \c False otherwise.
-     */
-    boolean deleteText (in long startPos, in long endPos);
-    /**
-     * Copy the text contents of the system clipboard, if any, into a Text object, 
-     * inserting it at a particular character offset.
-     *
-     * @param position the character offset before which the text will be inserted.
-     * @returns \c True if the text was successfully pasted into the Text object, \c False otherwise.
-     */
-    boolean pasteText (in long position);
-
-    /**
-     * unImplemented:
-     *
-     * placeholders for future expansion. Note that these are named
-     * 'unimplemented5 and unimplemented6' to avoid conflict with 
-     * placeholders from Accessibility::Text.
-     */
-    void unImplemented5 ();
-    void unImplemented6 ();
-    void unImplemented9 ();
-    void unImplemented10 ();
-    void unImplemented11 ();
-    void unImplemented12 ();
-  };
-};
diff --git a/idl/Accessibility_Event.idl b/idl/Accessibility_Event.idl
deleted file mode 100644 (file)
index 10d2d9d..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001, 2002 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __ACCESSIBILITY_EVENT_DEFINED__
-#define __ACCESSIBILITY_EVENT_DEFINED__
-
-module Accessibility
-{
-  interface Accessible;
-
-  /** 
-   * A struct encapsulating detailed information about an Event.
-   * This struct supercedes the previous use of the 'any' field 
-   * in EventDetails; the content previously stored in Event::any_data
-   * is now stored in EventDetails::any_data, and Event::any_data
-   * points to an instance of the EventDetails structure, if
-   * the object's implementation supports event detail reporting,
-   * otherwise Event::any_data contains CORBA_OBJECT_NIL.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  struct EventDetails {
-      Application host_application;
-      Role        source_role;
-      string      source_name;
-      any         any_data;
-  };
-
-  /**
-   * A structure encapsulating information about an event
-   * for which notification was requested.  Usually such notification
-   * is requested via a call to Registry::registerGlobalEventListener.
-   * The structure contains a colon-delimited string indicating the event
-   * type, a reference to the generating Accessible, two detail fields whose
-   * interpretation is event-type-specific, and a final field containing 
-   * event-type-specific data.
-   *
-   * @note Since AT-SPI 1.7.0 the 'any' field contains an EventDetails
-   * struct, which encapsulates additional information about the event
-   * and its generating object.
-   */
-  struct Event {
-    /** A colon-delimited string indicating the type of the event.
-     *  The string can be interpreted as 
-     *  \c class:type:subtype
-     *  For instance ¨object:text-changed:insert¨ is an event 
-     *  from the 'Object' class, which corresponds to Accessible objects
-     *  general, the type of the event is a ¨text-changed¨ event (i.e. a change in the
-     *  content of an implementor of the Text interface), and the
-     *  specific subtype of the change is an insertion event.
-     *
-     *  Event classes include the following:
-     *  \li focus:   an object has received keyboard focus.  This event has no type or subtype.
-     *  \li window:  a toplevel window has changed state.
-     *  \li object:  an object (i.e. Accessible) has undergone some change in state, content, 
-     *               or hierarchy
-     *  \li document:a change to a document's content has occurred, or its
-     *               content loading status has changed.
-     *  \li mouse:   an event originating from the pointing device.  Rarely used;
-     *               in most cases clients will wish to register for pointer events via
-     *               the DeviceEventController::registerDeviceEvent method instead.
-     *  \li keyboard: an event indicating that the keyboard state (for example, the
-     *               modifier state) has changed significantly.
-     *               "keyboard:" events are not sent for individual keystrokes except as
-     *               a side-effect of certain keys, for instance modifier keys.
-     *               Clients interested in key events should listen for DeviceEvents
-     *               via DeviceEventController::registerKeystrokeListener instead.
-     *
-     * @note For more information on specific event types, see the documentation for
-     * each of the individual interfaces supported by some Accessible objects.
-     *
-     * @see Accessible, Component, Image, Selection, Table, Text, Value.
-     */ 
-    string     type;
-    /** 
-     * The Accessible object which is the source of the event.  The source object is the object
-     * to which the change inferred by the event emission occurs; for instance,
-     * the object emitting a ¨object:parent-changed¨ event is the child, not the parent.
-     * Likewise, the event source of an ¨object:children-changed:insert¨ event is the parent,
-     * not the inserted child.
-     */
-    Accessible source;
-    /** An integer whose meaning is event type dependent.  It may indicate the offset of
-     * text being inserted, in the case of ¨object:text-changed:insert¨, or the index of a
-     * newly added child in the case of ¨object:children-changed:add¨.  
-     * @note since most AT-SPI clients react to events via an asynchronous queue, for 
-     * performance reasons, this field may be of limited utility unless the client maintains
-     * a large client-side cache of the hierarchy and contained data.  This is because by the time
-     * such an event is asynchronously processed, the state of the originating object may have 
-     * changed.  In other words, the data in the detail1 member is not state-coherent outside
-     * of the event handler.  More useful results are gotten by examination of the 'any_data' field.
-     */
-    long       detail1;
-    /** see description of detail2 */
-    long       detail2;
-    /** 
-     * A generic storage location for event-type-specific data which provides more specific
-     * information about the event; for instance, in AT-SPI versions prior to 1.7.0,
-     * in the case of ¨object:text-changed:insert¨ events, this field contains a string 
-     * indicating the inserted text.
-     * 
-     * @note Since AT-SPI 1.7.0, the data contained in this field is an EventDetails struct.
-     */
-    any        any_data;
-  };
-
-  /** 
-   * A generic interface implemented by objects for the 
-   * receipt of event notifications.  EventListener is the interface from which 
-   * Accessibility::Registry is derived, and via which clients of the Registry
-   * receive notification of changes to an application's user interface and content.
-   */
-  interface EventListener : Bonobo::Unknown {
-    /** 
-     * Synchronously notify an EventListener that an event has occurred, by passing it an 
-     * Event struct. 
-     * @param e The Event about which the listener is being notified.
-     */
-    void notifyEvent (in Event e);
-
-/** \cond */
-    void unImplemented_ ();
-    void unImplemented2_ ();
-    void unImplemented3_ ();
-    void unImplemented4_ ();
-/** \endcond */
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_Hyperlink.idl b/idl/Accessibility_Hyperlink.idl
deleted file mode 100644 (file)
index 90eb3bd..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility_Accessible.idl>
-
-module Accessibility {
-
-  /**
-   * Instances of Hyperlink are returned by Hypertext objects, and are
-   * the means by which end users and clients interact with linked, and in
-   * some cases embedded, content.  Hyperlinks may have multiple "anchors",
-   * where an anchor corresponds to a reference to a particular resource with
-   * a corresponding resource identified (URI).  Hyperlinks may be 
-   * queried for their URIs, or queried for the objects corresponding to their
-   * anchors.  The objects thus obtained are instances of Accessible,
-   * and may be queried, and manipulated via the Action interface. 
-   *
-   * @note A Hyperlink implementor is normally NOT an Accessible; 
-   * the preferred usage is for a Hyperlink's associated "objects"
-   * (accessed via the ::getObject method) are Accessibles.  This means
-   * that Actions such as "open link" are normally invoked on
-   * the result of Hyperlink::getObject rather than directly on the 
-   * Hyperlink instance. For historical reasons some implementors of Hyperlink
-   * implement Action as well.  This usage on the part of implementing
-   * applications and toolkits is discouraged, but clients of Hyperlink
-   * should be aware of it and prepared to handle such usage.
-   */
-  interface Hyperlink : Bonobo::Unknown {
-    /** the number of separate anchors associated with this Hyperlink */
-    readonly attribute short nAnchors;
-    /** 
-     * the starting offset within the containing Hypertext content 
-     * with which this Hyperlink is associated 
-     */
-    readonly attribute long startIndex;
-    /** 
-     * the ending offset within the containing Hypertext content 
-     * with which this Hyperlink is associated; that is, the offset of the
-     * first element past the range within the Hypertext associated with
-     * this Hyperlink. 
-     */
-    readonly attribute long endIndex;
-    /** 
-     * Gets the i'th object, (where i is an integer between 0 and
-     * Hyperlink::numAnchors - 1, inclusive) associated with a Hyperlink.
-     * The objects returned are usually actionable (i.e. they should implement
-     * Accessibility::Action), and the available actions often include
-     * "open", "bookmark", "save link as", etc.  They may also implement
-     * Accessibility::StreamableContent, although clients can normally use 
-     * ::getURI to obtain a resource locator via which the object's
-     * data may be accessed.
-     * 
-     * @note the most common application for 'multi anchor'
-     * hyperlinks in HTML is probably "client side imagemaps".
-     * A clickable image which uses the HTML 'usemap' attribute
-     * should have one anchor for every &lt;area&gt; element that
-     * includes an HREF.  The objects corresponding to these map
-     * areas may implement Accessibility::Component, to represent
-     * their onscreen bounding box, and may expose their 'shape' as
-     * as name-value pair via Accessibility::Accessible::getAttributeSet.
-     *
-     * @returns an Accessible object instance representing the
-     * Hyperlink's ith anchor, or through which the content associated with
-     * the \c ith anchor can be
-     * accessed.
-     */
-    Accessible getObject (in long i);
-    /** 
-     * Obtain a resource locator ('URI') which can be used to 
-     * access the content to which this link "points" or is connected.
-     * @returns a string corresponding to the URI of the Hyperlink's
-     * 'ith' anchor, if one exists, or a NIL string otherwise.
-     */
-    string getURI (in long i);
-    /** 
-     * Check the hyperlink to see if a connection to its backing
-     * content can be established, or if its URI is valid.
-     * @note instances of invalid hyperlinks include links with malformed
-     *       URIs, or for which a contact to the service provider
-     *       specified in the URI cannot be established.
-     * @returns \c True if the object's content is available, or
-     *          \c False if the hyperlink's URI is invalid, or 
-     *          a connection to the resource can not be established.
-     */
-    boolean isValid ();
-    /** \cond
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-    /** \endcond */
-  };
-};
diff --git a/idl/Accessibility_Hypertext.idl b/idl/Accessibility_Hypertext.idl
deleted file mode 100644 (file)
index 552483d..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility.idl>
-
-module Accessibility {
-  /** 
-   * An interface used for objects which implement linking between
-   * multiple resource or content locations, or multiple 'markers'
-   * within a single document.  A Hypertext instance is associated with
-   * one or more Hyperlinks, which are associated with particular
-   * offsets within the Hypertext's included content.
-   *
-   * @note While this interface is derived from ::Text, 
-   *       there is no requirement that Hypertext instances have
-   *       textual content; they may implement ::Image as well,
-   *       and Hyperlinks need not have non-zero text offsets.
-   */
-  interface Hypertext : Bonobo::Unknown {
-    /** 
-     * Query the hypertext object for the number of Hyperlinks it
-     * contains.
-     *
-     * @returns the number of Hyperlinks associated with this Hypertext
-     *  object, as a long integer.
-     */
-    long getNLinks ();
-    /** 
-     * Get one of the Hyperlinks associated with this Hypertext object,
-     * by index.
-     *
-     * @param linkIndex an integer from 0 to getNLinks() - 1.
-     * @returns the Hyperlink in this Hypertext object.
-     */
-    Hyperlink getLink (in long linkIndex);
-    /** 
-     * Get the hyperlink index, if any, associated with a 
-     * particular character offset in the Hypertext object.
-     * For Hypertext implementors without textual content, all
-     * hyperlinks are associated with character offset '0'.
-     *
-     * @return the index of the Hyperlink associated with character
-     *     offset \c characterIndex, or -1 if no Hyperlink is associated
-     *     with that character offset.
-     */
-    long getLinkIndex (in long characterIndex);
-
-    /** \cond */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-    /** \endcond */
-  };
-};
diff --git a/idl/Accessibility_Image.idl b/idl/Accessibility_Image.idl
deleted file mode 100644 (file)
index 6cf50f8..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 - 2005 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "Accessibility_Accessible.idl"
-
-module Accessibility {
-
-  /** 
-   * An interface implemented by objects which render image data or 
-   * pictorial information to the screen.  When onscreen components include
-   * graphical information that is not purely intended to enhance "3d effect"
-   * or visual layout, but which conveys some semantic or informational 
-   * content to the sighted user, they should implement Image, and that 
-   * semantic content should be conveyed textually to the extent possible 
-   * via the image description, as well as the Accessible::name and 
-   * Accessible::description properties.  
-   */
-  interface Image : Bonobo::Unknown  {
-    /**
-     * A UTF-8 string providing a textual description
-     * of what is visually depicted in the image.
-     *
-     * @note It is recommended that imageDescription be the shorter
-     * of the available image descriptions, for instance "alt text"
-     * in HTML images, and a longer description be provided in
-     * Accessible::accessible-description, if available.
-     * A short, one or two word label for the image should be provided in
-     * Accessible::accessible-name.
-     */
-    readonly attribute string imageDescription;
-    /** 
-     * A string corresponding to the POSIX LC_MESSAGES locale used 
-     * by the imageDescription.
-     * @since AT-SPI 1.7.0
-     */
-    readonly attribute string imageLocale;
-    /**
-     * Obtain a bounding box which entirely contains the image contents,
-     * as displayed on screen.  The bounds returned do not account for
-     * any viewport clipping or the fact that the image may be
-     * partially or wholly obscured by other onscreen content.
-     * @note This method returns the bounds of the current onscreen
-     * view, and not the nominal size of the source data in the
-     * event that the original image has been rescaled.
-     *
-     * @param coordType If 0, the returned bounding box position is returned
-     * relative to the screen; if 1, the bounding box position is returned 
-     * relative to the containing window.
-     * @returns a BoundingBox enclosing the image's onscreen representation.
-     */
-    BoundingBox getImageExtents (in short coordType);
-    /**
-     * Get the coordinates of the current image position on screen.
-     *
-     * @param x Back-filled with the x coordinate of the 
-     * onscreen image (i.e. the minimum x coordinate)
-     * @param y Back-filled with the y coordinate of the 
-     * onscreen image (i.e. the minimum y coordinate)
-     * @param coordType If 0, the returned x and y coordinates are 
-     * returned relative to the screen; 
-     * if 1, they are returned relative to the containing window.
-     */
-    void getImagePosition (out long x, out long y, in short coordType);
-    /**
-     * Obtain the width and height of the current onscreen view of the
-     * image.  The extents returned do not account for
-     * any viewport clipping or the fact that the image may be
-     * partially or wholly obscured by other onscreen content.
-     * @note This method returns the size of the current onscreen
-     * view, and not the nominal or "original" size of the source 
-     * image, in the event that the original image has been rescaled.
-     *
-     * @param width Back-filled with the x extents of the 
-     * onscreen image (i.e. the image width in pixels)
-     * @param height Back-filled with the y extents of the 
-     * onscreen image (i.e. the image height in pixels)
-     */
-    void getImageSize (out long width, out long height);
-
-    /**
-     * \cond
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    /** \endcond */
-  };
-};
diff --git a/idl/Accessibility_LoginHelper.idl b/idl/Accessibility_LoginHelper.idl
deleted file mode 100644 (file)
index 140aea2..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Bonobo_Unknown.idl>
-
-#ifndef _ACCESSIBILITY_LOGIN_HELPER_IDL_
-#define _ACCESSIBILITY_LOGIN_HELPER_IDL_
-
-module Accessibility {
-
-    /**
-     * @brief An interface for use by assistive technologies by which
-     * they can access system information and services on a 'need to know'
-     * basis while the screen is locked, during user authentication, or
-     * during other sensitive operations.
-     *
-     * This interface is intended for use by assistive technologies
-     * and related user-enabling services, and by applications and
-     * utilities which may wish to restrict access to certain system 
-     * devices and services during security-sensitive states, e.g. when 
-     * the screen is locked or during authentication into some secure
-     * service.
-     *
-     * Such 'applications' (for instance, screen lock dialogs and
-     * security-enabled web browsers) use the ::LoginHelper client
-     * interfaces, and the bonobo-activation query service, to
-     * query for assistive technologies which advertise the ::LoginHelper
-     * service.  The client then queries these assistive technologies 
-     * for their device I/O requirements, via the ::getDeviceReqs call.
-     * The client may then issue the advisory request ::setSafe (TRUE), 
-     * which requests that the ::LoginHelper -implementing service make a
-     * best-effort attempt to make itself more secure (for instance, 
-     * an onscreen keyboard might turn off word prediction, and a
-     * screenreader may turn off keyboard echo via speech).  The return
-     * value of ::setSafe is an advisory indication of whether this attempt
-     * was successful (no specific guarantees are implied).
-     * Once the 'security sensitive' state is exited, the client should 
-     * call ::setSafe (FALSE).
-     * 
-     * The return values from ::getDeviceReqs inform the client of which
-     * services the ::LoginHelper service (e. g. assistive technology) needs
-     * in order to do its job.  The client may use this information to
-     * loosen any restrictions on access which it may currently have in 
-     * place (for instance, keyboard grabs, etc.).  If it does not do so,
-     * the likely outcome is that the end-user will experience loss
-     * of access to the system.
-     *
-     **/
-  interface LoginHelper : Bonobo::Unknown {
-
-      /** 
-       * A structure containing info about toplevel X windows that
-       * the ::LoginHelper instance wishes to have raised.
-       *
-       * @param winID: The windowing-system-dependeny Window ID of the toplevel window.
-       */
-      struct WindowInfo {
-         /* string display; */
-         /* short screen; */
-         long winID;
-      };
-
-      typedef sequence<WindowInfo> WindowList;
-
-      /*
-       * DeviceReq:
-       *
-       * The system and device access and services which the LoginHelper-implementing 
-       * assistive technology requires in order to enable the user to use the system.
-       *
-       */
-      enum DeviceReq {
-         GUI_EVENTS, /*!<: Needs access to the GUI event subsystem (e.g. Xserver) */
-         CORE_KEYBOARD, /*!<: Needs access to the system keyboard events (read and write) */
-         CORE_POINTER, /*!<: Needs access to the onscreen pointer (e.g. mouse pointer) */
-                         EXT_INPUT, /*!<: Reads XInput extended input devices */
-         POST_WINDOWS, /*!<: Posts Windows, and needs for toplevel windows to be visible */
-         AUDIO_OUT, /*!<: Writes to audio device */
-         AUDIO_IN, /*!<: Reads from audio device */
-         NETWORK, /*!<: Requires access to general network services, including remote access */
-         LOCALHOST, /*!<: Requires network services hosted on LOCALHOST only */
-         SERIAL_OUT, /*!<: Writes to a serial port */
-         SERIAL_IN /*!<: Reads from a serial port */
-      };
-
-      typedef sequence<DeviceReq> DeviceReqList;
-
-       /**
-         * setSafe:
-        * @param safe_mode: \c TRUE if the client is requesting that 'safe mode' be 
-        *         initiated, \c FALSE if the client is advising that 'safe mode' may be
-        *         exited, i.e. normal operation may be resumed.
-         * 
-         * Request a LoginHelper to enter "safe" mode, or
-        *         inform LoginHelper that "safe" mode may be exited.
-        *         If \a safe_mode is \c TRUE, but the return value is \c FALSE,
-        *         the requesting client may wish to deny services to the 
-        *         ::LoginHelper, for instance avoid raising its toplevels.
-        *         The return value is purely advisory, and no guarantees are 
-        *         intended about what the implementing LoginHelper will do 
-        *         to improve security when in "safe" mode.
-        *
-         * @returns: whether the ::LoginHelper is now "safe" or not.
-        **/
-        boolean setSafe (in boolean safe_mode);
-
-       /**
-         * getDeviceReqs:
-         * 
-         * Query a ::LoginHelper for the types of
-        *    device I/O it requires, in order to do its job.
-        *    For instance, a ::LoginHelper which needs to receive keyboard
-        *    events will include 
-        *    Accessibility_LoginHelper_CORE_KEYBOARD in this list.
-        *
-         * @returns: A sequence of ::LoginHelper_DeviceReq indicating
-        *    the device I/O required in order to facilitate end-user access 
-        *    to the system.
-        **/
-        DeviceReqList getDeviceReqs ();
-
-       /**
-         * getRaiseWindows:
-         *
-         * Get a list of window IDs that need raising on login. 
-         *
-        * @returns: a sequence containing window IDS for toplevels which
-        *          need to be raised/made visible during user authentication, in
-        *          order for the ::LoginHelper to facilitate end-user access to the 
-        *          system.
-        **/
-        WindowList getRaiseWindows ();
-
-       /**
-        * \cond
-        * unImplemented:
-        *
-        * placeholders for future expansion.
-        */
-       void unImplemented ();
-       void unImplemented2 ();
-       void unImplemented3 ();
-       void unImplemented4 ();
-      /** \endcond */
-    };
-
-};
-
-#endif
diff --git a/idl/Accessibility_Registry.idl b/idl/Accessibility_Registry.idl
deleted file mode 100644 (file)
index 17d4a34..0000000
+++ /dev/null
@@ -1,542 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility_Event.idl>
-#include <Accessibility_Application.idl>
-#include <Accessibility_Desktop.idl>
-
-#ifndef _ACCESSIBILITY_REGISTRY_IDL_
-#define _ACCESSIBILITY_REGISTRY_IDL_
-
-module Accessibility {
-
-  typedef sequence<Desktop> DesktopSeq;
-
-  interface DeviceEventController;
-
-    /** 
-     * The Registry is a service through which applications providing 
-     * accessibility services (servers) can rendezvous with consumers of those
-     * services (Assistive Technologies).  The Registry is the first "port of call" for 
-     * accessible applications and for assistive technologies wishing to query and
-     * interact with those applications.
-     *
-     * The Registry service provides four basic functions to Assistive Technology (AT) clients:
-     * \li it provides a list of the applications who have registered with the AT-SPI
-     * framework, thereby announcing their participation in the AT-SPI framework;
-     * \li it allows AT clients to register for notification of changes in application
-     * state (at-spi Events);
-     * \li it dispatches/relays said events from participating applications to
-     * the registered listeners;
-     * \li it gives access to system device events via the associated DeviceEventController
-     * interface.
-     *
-     * From the point of view of accessible applications (i.e. AT-SPI service producers), 
-     * the Registry is primarily a registration and event delivery service.  Applications 
-     * normally only call the registerApplication and deregisterApplication Registry methods,
-     * and its inherited EventListener::notifyEvent method.
-     *
-     * @note Although all application events are dispatched via the Registry, other AT client 
-     * calls are serviced directly by the applications, rather than being relayed via the
-     * Registry.  The AT client obtains references to these application objects
-     * via the enumeration of Desktop instances whose children are Application instances
-     * (Registry::getDesktopList) and via examination of the 'source' member of the Event 
-     * structure. 
-     *
-     * The Registry normally lives in its own process space; communication via Registry and
-     * both application services and AT clients takes place via IPC.  A process space diagram
-     * illustrating the relationship between applications, Registry, and AT is shown below.
-     * @image html "http://developer.gnome.org/projects/gap/tech-docs/SPIBlockDiagram.png"
-     * 
-     *
-     * @see Desktop, Application, Event, EventListener
-     **/
-  interface Registry : EventListener {
-
-       /**
-         * Register a new application with the accessibility broker.
-         * @param app: a reference to the requesting Application
-        **/
-        oneway void registerApplication (in Application app);
-
-       /**
-         * De-register an application previously registered with the broker.
-         * deregisterApplication:
-         * @param app: a reference to the Application 
-         * to be deregistered.
-        **/
-        void deregisterApplication (in Application app);
-
-       /**
-         * Register a client's interest in (all) application events of 
-         * a certain type.
-         * @param listener: a reference to the requesting ::EventListener.
-         * @param eventName: a string which indicates the type of events about 
-         * which the client desires notification.
-        **/
-        void registerGlobalEventListener (in EventListener listener,
-                                         in string eventName);
-
-       /**
-         * deregisterGlobalEventListenerAll:
-         * @param listener: the requesting EventListener
-         *
-         * Request that a previously registered client stop receiving
-         * global notifications for all events for which it was registered.
-         *
-        **/
-        void deregisterGlobalEventListenerAll (in EventListener listener);
-
-       /**
-         * deregisterGlobalEventListener:
-         * @param listener: the requesting EventListener
-         * @param eventName: a string indicating the type of events
-         *
-         * Request that a previously registered client stop receiving
-         * global notifications for events of a certain type.
-         *
-        **/
-        void deregisterGlobalEventListener (in EventListener listener, 
-                                           in string eventName);
-        /** 
-         * event types: "Window" "Desktop"
-         *              "Window:Create" "Window:Destroy"
-         *              "Window:Iconify" "Window:Restore"
-         *              "Window:Fullscreen" "Window:Resize"
-         *              "Desktop:Create" "Desktop:Destroy"  
-         *              "Desktop:Focus" "Desktop:Defocus"
-         *              "Desktop:Reorder" 
-         *              "Focus"
-         *              "GtkWidget:show"
-         *              "GObject:notify:<propertyname>" 
-         *
-         *  ( not sure we should allow these last 2 forms, 
-         *    since they are toolkit-specific, but they're powerful )
-         *
-         **/              
-
-       /**
-         * getDesktopCount:
-         *
-         * Get the current number of desktops.
-        * @returns a short integer indicating the current number of 
-         * Desktops.
-        **/
-        short getDesktopCount ();
-
-       /**
-         * getDesktop:
-         * @n: the index of the requested Desktop.
-         *
-         * Get the nth accessible desktop. 
-         *
-        * @returns a reference to the requested Desktop.
-        **/
-        Desktop getDesktop (in short n);
-
-       /**
-         * Get a list of accessible desktops. 
-         *
-        * @returns: a sequence containing references to
-         * the Desktops.
-        **/
-        DesktopSeq getDesktopList ();
-
-       /**
-         * Obtain an object which can be used to request device event notifications.
-         *
-        * @returns: an object implementing DeviceEventController
-        **/
-        DeviceEventController getDeviceEventController ();
-
-       /** \cond
-        * unImplemented:
-        *
-        * placeholders for future expansion.
-        */
-       void unImplemented ();
-       void unImplemented2 ();
-       void unImplemented3 ();
-       void unImplemented4 ();
-       void unImplemented5 ();
-       void unImplemented6 ();
-      /** \endcond */
-    };
-
-    /** Deprecated, DO NOT USE! */
-  enum KeyEventType {
-    KEY_PRESSED,
-    KEY_RELEASED
-  };
-
-  /** Used to specify the event types of interest to an EventListener, or
-   * to identify the type of an event for which notification has been sent. 
-   * @see EventTypeSeq, DeviceEvent::type
-   */
-  enum EventType {
-      KEY_PRESSED_EVENT, /**< key on a keyboard device was pressed. */
-      KEY_RELEASED_EVENT, /**< key on a keyboard device was released. */
-      BUTTON_PRESSED_EVENT,/**< button on a non-keyboard human interface device 
-                           * (HID) was pressed */
-      BUTTON_RELEASED_EVENT /**< button on a non-keyboard human interface device 
-                            * (HID) was pressed */
-  };
-
-    /** Used when synthesizing keyboard input via DeviceEventController:generateKeyboardEvent.*/
-  enum KeySynthType {
-    KEY_PRESS,/** emulate the pressing of a hardware keyboard key. */
-    KEY_RELEASE,/** emulate the release of a hardware keyboard key. */
-    KEY_PRESSRELEASE,/** a hardware keyboard key is pressed and immediately released. */
-    KEY_SYM,/** a symbolic key event is generated, without specifying a hardware key. 
-            * @note if the keysym is not present in the current keyboard map,
-            * the DeviceEventController instance has a limited ability to generate
-            * such keysyms on-the-fly.  Reliability of generateKeyboardEvent calls
-            * using out-of-keymap keysyms will vary from system to system, and on the
-            * number of different out-of-keymap being generated in quick succession.
-            * In practice this is rarely significant, since the keysyms of interest to
-            * AT clients and keyboard emulators are usually part of the current keymap, i.e.
-            * present on the system keyboard for the current locale (even if a physical
-            * hardware keyboard is not connected.
-            */
-    KEY_STRING /** a string is converted to its equivalent keyboard events and emitted. 
-               * If the string consists of complex character or composed characters
-               * which are not in the current keymap, string emission is subject to the
-               * out-of-keymap limitations described for KeySynthType::KEY_SYM.
-               * In practice this limitation primarily effects Chinese and Japanese locales.
-               */
-  };
-
-  enum ModifierType {
-    MODIFIER_SHIFT, /** The left or right 'Shift' key */
-    MODIFIER_SHIFTLOCK, /** The ShiftLock or CapsLock key */
-    MODIFIER_CONTROL,/** 'Control'/'Ctrl' */
-    MODIFIER_ALT,/** The Alt key (as opposed to AltGr) */
-    MODIFIER_META,/** depending on the platform this may map to 'Window', 'Function', 'Meta',
-                  * 'Menu', or 'NumLock'.  
-                  *  Such 'Meta keys' will map to one of META, META2, META3.
-                  * On X Windows platforms these META values map to 
-                  * the modifier masks Mod1Mask, Mod2Mask, Mod3Mask, e.g. an event having
-                  * ModifierType::MODIFIER_META2 means that the 'Mod2Mask' bit is
-                  * set in the corresponding XEvent.
-                  */
-    MODIFIER_META2,
-    MODIFIER_META3,
-    MODIFIER_NUMLOCK/** A symbolic meta key name that is mapped by AT-SPI to the 
-                    *  appropriate META value, for the convenience of the client.
-                    */
-  };
-
-  /** A structure that encapsulates the characteristics of the event notifications
-   * that should be sent to an EventListener in response to a call to
-   * DeviceEventController::registerKeystrokeListener or 
-   * DeviceEventController::registerDeviceEventListener. */
-  struct EventListenerMode {
-    boolean synchronous; /**< If \c True, specifies that
-                         * DeviceEventController should block while waiting 
-                         * for client to process the requested event notifications; 
-                         * ordinarily should be used only when client needs to perform
-                         * operations synchronously with event delivery. Note that because
-                         * of the architecture of device event systems in general,
-                         * use of this flag may not block delivery of the event to 
-                         * the currently focussed application unless it is used in 
-                         * conjunction with the preemptive flag. */
-    boolean preemptive; /**< If \c True, specifies that 
-                        * Listener is allowed to pre-empt the delivery of the event,
-                        * effectively "consuming" it such that it is not delivered 
-                        * to the currently focussed desktop application. 
-                        * Key events consumed via this API will not be 
-                        * available for use by other applications or services, so this
-                        * option should be used sparingly. */
-    boolean global; /**< If \c True, specifies that
-                    * Event notifications should be sent regardless of whether the
-                    * currently focussed application participates in the AT-SPI 
-                    * infrastructure.  On systems with the XEvIE X extension, this flag
-                    * also allows access to events which are already subject to 
-                    * interception via a "system keygrab" (as described in the X Window System
-                    * documentation for XGrabKey).  The 'global' and 'preemptive' flags
-                    * should only be used together for the purposes of registering
-                    * "system global key shortcuts" i.e. command keys for use by the
-                    * assistive technology. */
-  };
-
-  /** 
-   * an unsigned short int consisting of zero or more of the following
-   * values OR'ed together:
-   *
-   * \li \c 1<<::KEY_PRESSED_EVENT  = 1
-   * \li \c 1<<::KEY_RELEASED_EVENT = 2
-   * \li \c 1<<::BUTTON_PRESSED_EVENT = 3,
-   * \li \c 1<<::BUTTON_RELEASED_EVENT = 4
-   **/
-  typedef unsigned long ControllerEventMask;
-
-  /** A structure which encapsulates information about a device event. */
-  struct DeviceEvent {
-    EventType type; /**< Identifies the type of the containing DeviceEvent. */
-    long  id; /**< an identifier which identifies this event in the event stream. 
-              * On X Window systems this corresponds to the XEvent serial number.
-              */
-    short hw_code; /**< a numeric code which is hardware and system-dependent, identifying the
-                   * specific hardware button or key on the device for which the event has
-                   * occurred. On X Window systems, for global key notifications and for most
-                   * non-global key notifications as well, this code corresponds to the
-                   * XKeycode.  For switch and button events it indicates the switch
-                   * or button number.
-                   * @note
-                   * For technical reasons, this code may differ from the XKeycode
-                   * when generated by Java applications for consumption by non-global
-                   * key listeners.  This is subject to change in future versions of the
-                   * DeviceEventController implementation.
-                   */
-
-    unsigned short modifiers; /**< an unsigned short int consisting of zero or more of the following
-                              * values OR'ed together:
-                              * \li \c 1<<::MODIFIER_SHIFT   (=1, corresponds to Xlib's ShiftMask)
-                              * \li \c 1<<::MODIFIER_SHIFTLOCK    (=2, corresponds to Xlib's LockMask)
-                              * \li \c 1<<::MODIFIER_CONTROL (=4, corresponds to Xlib's ControlMask)
-                              * \li \c 1<<::MODIFIER_ALT    (=8, corresponds to Xlib's Mod1Mask)
-                              * \li \c 1<<::MODIFIER_META    (=16, corresponds to Xlib's Mod2Mask)
-                              * \li \c 1<<::MODIFIER_META2    (=32, corresponds to Xlib's Mod3Mask)
-                              * \li \c 1<<::MODIFIER_META3    (=64, corresponds to Xlib's Mod4Mask)
-                              **/
-    unsigned long timestamp; /**< an unsigned integer representing the time that the 
-                             * event occurred.  On X Window systems this event is 
-                             * a time in milliseconds from some arbitrary starting
-                             * point; it therefore has a cycle time of approximately
-                             * 50 days.
-                             */
-    string event_string; /**< A string representation of the event.  If is_text is
-                         * \c True, then this string represents the character or typographic
-                         * sequence that would be received by a focussed text input field.
-                         * event_string is in general suitable for exposure to the
-                         * end-user for purposes of keyboard echo.
-                         */
-    boolean is_text; /**< \c True if the event results in the insertion of characters 
-                     * into an input text buffer, or would do so if delivered to a focussed
-                     * text input field. ¨Typographical¨ key events have this field set to
-                     * \c True, whereas ¨control¨ key events generally do not.
-                     */
-  };
-
-  /** 
-   * A structure which defines the identity of a key for which notifications
-   * are to be requested.  The data in the members of a ::KeyDefinition are used to
-   * determine which keyboard events 'match' the notification request filed by a client.
-   *
-   * @note Ordinarily a KeyDefinition specifies one and only one of the criteria below; 
-   * the result of using a KeyDefinition with multiple members defined as nonzero is
-   * undefined.
-   *
-   * @param keycode if nonzero, the numeric, system-dependent value corresponding to a 
-   * physical key on the keyboard.  Keycode values have no semantic meaning to the end-user,
-   * and may depend on the user's hardware and operating environment.  They therefore are
-   * rarely useful "as-is" to AT clients, unless the client has used operating system
-   * services to identify the hardward keycode associated with a particular key symbol.
-   * Notifications for key events requested by keycode are less dependent on modifier state
-   * than \c keysym based notifications, but some hardware (notably many laptops) may generate
-   * more than one keycode for the same physical key, depending on the state of physical 
-   * shift/modifier keys.
-   * @param keysym if nonzero, the numeric value corresponding to the X Keysym of the key for which 
-   * notification is requested.  Note that the presence of active modifiers will affect
-   * whether notification for key events requested via "keysym" specification takes place, 
-   * since the keysym depends on the modifier state for most keys.
-   * @param keystring if non-NULL, the string value of the inserted characters if the corresponding
-   * key event has ::KeyEvent:is_text set to \c True, or the string representing the
-   * 'name' of the key.  On X11 systems, the string 'name' of non-printing keysyms corresponds
-   * to the values in "keysymdef.h" as provided by Xlib, with the leading "XK_" stripped off.
-   **/
-  struct KeyDefinition {
-    long keycode;
-    long keysym;
-    string keystring;
-    long unused;
-  };   
-
-  typedef sequence< KeyDefinition > KeySet;
-  typedef sequence< EventType > KeyEventTypeSeq;
-  typedef sequence< EventType > EventTypeSeq;
-
-  /** This interface should be implemented by AT-SPI clients who wish to 
-   * make use of the DeviceEventController to receive device event notifications.
-   * DeviceEvents include keyboard events and mouse button/motion events.
-   **/
-  interface DeviceEventListener : Bonobo::Unknown {
-      /** Notify an interested DeviceEventListener that a DeviceEvent has occurred.
-       * @returns \c True if the recipient/consumer wishes to consume the event, i.e.
-       * prevent it from being delivered to the desktop, \c False if the event should 
-       * continue to be delivered as normal.
-       */
-        boolean notifyEvent (in DeviceEvent event);
-      /** \cond */
-        void    unImplemented__ ();
-        void    unImplemented_2_ ();
-        void    unImplemented_3_ ();
-        void    unImplemented_4_ ();
-        void    unImplemented_5_ ();
-        void    unImplemented_6_ ();
-      /** \endcond */
-  };
-
-  /** 
-   * The interface via which clients request notification of device events, and
-   * through which device events may be simulated.
-   ***/
-  interface DeviceEventController : Bonobo::Unknown {
-
-       /**
-         * Register to intercept keyboard events, and either pass them on or
-         * consume them. 
-         *
-         * @param listener: a DeviceEventListener which will intercept key events.
-         * @param keys:     a KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS.
-         * @param mask:     a ControllerEventMask filtering the intercepted key events.
-        * @param type:     a KeyEventTypeSeq that may created by ORing event types together.
-        * @param mode: an EventListenerMode indicating whether the listener should 
-        *            receive the events synchronously, potentially consuming them,
-        *            or just be notified asynchronously of those events that have
-        *            been generated.
-        * @note Some platforms have limited support for global, preemptive EventListenerMode.
-        * Such a registration may fail if another client already has priority for preemptive
-        * access to one or more of the members of the KeySet.  AT consumers have the option
-        * of re-trying the request without the global flag, or without the preemptive flag,
-        * or of re-trying with a different KeySet.  The best support for pre-emptive
-        * global keyboard listeners is provided on platforms whose Xserver implementation
-        * provides the XEvIE extension.
-        *
-        * @returns \c True if the DeviceEventListener was successfully registered
-        * for the requested KeySet, ControllerEventMask, event types, and EventListenerMode; 
-        * otherwise returns \c False.
-        **/
-        boolean registerKeystrokeListener (in DeviceEventListener listener,
-                                       in KeySet keys,
-                                       in ControllerEventMask mask,
-                                       in KeyEventTypeSeq type,
-                                       in EventListenerMode mode);
-    
-       /**
-         * De-register a previously registered keyboard eventlistener.
-         * @param listener: a DeviceEventListener which will intercept key events.
-         * @param keys:     a KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS.
-         * @param mask:     a ControllerEventMask filtering the intercepted key events.
-        * @param type:     an EventType mask that may created by ORing event types together.
-        **/
-        void deregisterKeystrokeListener (in DeviceEventListener listener,
-                                         in KeySet keys,
-                                         in ControllerEventMask mask,
-                                         in KeyEventTypeSeq type);
-    
-       /**
-         * Register to intercept events, and either pass them on or
-         * consume them. To listen to keyboard events use registerKeystrokeListener
-        * instead.
-         * @param listener: a DeviceEventListener which will intercept events.
-        * @param typeseq:  an EventTypeSeq indicating which event types to listen for.
-        * @returns \c True if successful, \c False if not
-        **/
-        boolean registerDeviceEventListener (in DeviceEventListener listener,
-                                            in EventTypeSeq typeseq);
-    
-       /**
-         * De-register a previously registered keyboard eventlistener.
-         * @param listener: a DeviceEventListener which will intercept events.
-        * @param typeseq:  an EventTypeSeq indicating which event types to stop
-        *            listening for.
-        **/
-        void deregisterDeviceEventListener (in DeviceEventListener listener,
-                                           in EventTypeSeq typeseq);
-    
-      /** 
-       * Notify the Registry instance that a device event has taken place, and
-       *       allow pre-emptive listeners the opportunity to 'consume' the event
-       *       and thus prevent its further issuance/forwarding.  This is the 
-       *       method used by accessibility bridges to forward "toolkit dependent"
-       *       device events to the Registry from the application's process space.
-       *
-       * @note AT clients do not normally need to use this method, it is intended for use
-       *       by toolkit bridges and special-purpose applications.
-       *
-       * @returns \c True if the event was consumed by a (pre-emptive) listener,
-       *          \c False if not (in which case the device event will be forwarded
-       *          as normal to any application which would normally receive it, e.g.
-       *          the currently active application in the case of mouse or keyboard events).
-       **/
-        boolean notifyListenersSync (in DeviceEvent event);
-
-      /** 
-       * Notify the Registry instance that a device event has taken place in
-       *       an asynchronous manner.  This is the 
-       *       method used by accessibility bridges to forward "toolkit dependent"
-       *       device events to the Registry from the application's process space.
-       *       If the event in question is potentially pre-emptible.
-       *       ::notifyListenersSync should be used instead.
-       *
-       * @note AT clients do not normally need to use this method, it is intended for use
-       *       by toolkit bridges and special-purpose applications.
-       **/
-        oneway void notifyListenersAsync (in DeviceEvent event);
-
-        /**
-         * Synthesize a keyboard event.
-         * @param keycode: a long integer indicating the keycode of
-        *          the keypress to be synthesized.
-        * @param keystring: an optional UTF-8 string indicating a complex
-        *          keyboard input event.
-        * @param type: a KeySynthType indicating the type of event(s) to be 
-        *          synthesized: a key press, release, press-release pair,
-        *          or a complex input string (for instance from an
-        *          internationalized or complex text input method, or
-        *          a composed character).
-        *
-        * @note keycode may be truncated before being
-        *          processed, as keycode length may be platform-dependent
-        *          and keycode ranges are generally much smaller than
-        *          CORBA_long. 
-        * One or the other of keycode or keystring are generally NULL, 
-        *          (but not both), depending on the value of \c type.
-        *
-         **/
-         void generateKeyboardEvent (in long keycode, 
-                                    in string keystring, 
-                                    in KeySynthType type);
-
-        /**
-         * Synthesize a mouse event.
-         * @param x: a long integer indicating the screen x coord for the mouse event.
-         * @param y: a long integer indicating the screen y coord for the mouse event.
-         * @param eventName: a string indicating the type of mouse event, e.g. "button1up"
-         **/
-         void generateMouseEvent (in long x, in long y, in string eventName);
-
-        /** \cond
-         * unImplemented:
-         *
-         * placeholders for future expansion.
-         */
-        void unImplemented ();
-        void unImplemented2 ();
-        void unImplemented3 ();
-        void unImplemented4 ();
-      /** \endcond */
-    }; 
-};
-
-#endif
diff --git a/idl/Accessibility_Relation.idl b/idl/Accessibility_Relation.idl
deleted file mode 100644 (file)
index 1f81b48..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ACCESSIBILITY_RELATION_IDL
-#define _ACCESSIBILITY_RELATION_IDL
-
-module Accessibility {
-
-    /** 
-     * RelationType specifies a relationship between objects (possibly one-to-many or many-to-one)
-     * outside of the normal parent/child hierarchical relationship.  It allows better semantic
-     * identification of how objects are associated with one another.
-     * For instance the RELATION_LABELLED_BY relationship may be used to identify labelling information
-     * that should accompany the accessibleName property when presenting an object's content or identity
-     * to the end user.  Similarly, RELATION_CONTROLLER_FOR can be used to further specify the context
-     * in which a valuator is useful, and/or the other UI components which are directly effected by
-     * user interactions with the valuator.  Common examples include association of scrollbars with
-     * the viewport or panel which they control.
-     */
-  enum RelationType {
-    /** Not a meaningful relationship; clients should not normally encounter this RelationType value. */
-    RELATION_NULL,
-    /** Object is a label for one or more other objects. */
-    RELATION_LABEL_FOR,
-    /** Object is labelled by one or more other objects. */
-    RELATION_LABELLED_BY,
-    /** Object is an interactive object which modifies the state, onscreen location, or other attributes
-     * of one or more target objects. */
-    RELATION_CONTROLLER_FOR,
-    /** Object state, position, etc. is modified/controlled by user interaction with one or 
-     * more other objects.   For instance a viewport or scroll pane may be CONTROLLED_BY scrollbars. */
-    RELATION_CONTROLLED_BY,
-    /** Object has a grouping relationship (e.g. ¨same group as¨) to one or more other objects.  */
-    RELATION_MEMBER_OF,
-    /** Object is a tooltip associated with another object. */
-    RELATION_TOOLTIP_FOR,
-    /** Reserved for future use. */
-    RELATION_NODE_CHILD_OF,
-    /** Used to indicate that a relationship exists, but its type is not specified in the enumeration
-     * and must be obtained via a call to getRelationTypeName.  */
-    RELATION_EXTENDED,
-    /** Object renders content which flows logically to another object.  
-     * For instance, text in a paragraph may flow to another object which is not the 
-     * ¨next sibling¨ in the accessibility hierarchy. */
-    RELATION_FLOWS_TO,
-    /** Reciprocal of RELATION_FLOWS_TO. */
-    RELATION_FLOWS_FROM,
-    /** Object is visually and semantically considered a subwindow of another object, even though
-     * it is not the object's child.  Useful when dealing with embedded applications and other cases
-     * where the widget hierarchy does not map cleanly to the onscreen presentation.  */
-    RELATION_SUBWINDOW_OF,
-    /** Similar to SUBWINDOW_OF, but specifically used for cross-process embedding.  */
-    RELATION_EMBEDS,
-    /** Reciprocal of RELATION_EMBEDS; Used to denote content rendered by embedded renderers that
-     * live in a separate process space from the embedding context.  */
-    RELATION_EMBEDDED_BY,
-    /** Denotes that the object is a transient window or frame associated with another onscreen object.
-     * Similar to TOOLTIP_FOR, but more general.  Useful for windows which are technically 
-     * toplevels but which, for one or more reasons, do not explicitly cause their associated
-     * window to lose ¨window focus¨.   Creation of a ROLE_WINDOW object with the POPUP_FOR relation
-     * usually requires some presentation action on the part of assistive technology clients, even though
-     * the previous toplevel ROLE_FRAME object may still be the active window.  */
-    RELATION_POPUP_FOR,
-    /** This is the reciprocal relation to RELATION_POPUP_FOR. */
-    RELATION_PARENT_WINDOW_OF,
-    /** Indicates that an object provides descriptive information 
-     * about another object; more verbose than RELATION_LABEL_FOR. */
-    RELATION_DESCRIPTION_FOR, 
-    /** Indicates that another object provides descriptive information 
-     * about this object; more verbose than RELATION_LABELLED_BY. */
-    RELATION_DESCRIBED_BY,
-    /** Do not use as a parameter value, used to determine the size of the enumeration. */
-    RELATION_LAST_DEFINED
-  };
-
-  /** 
-   * An interface via which objects' non-hierarchical relationships to one another 
-   * are indicated.  An instance of Relations represents a "one-to-many" correspondance.
-   *
-   * @note This interface inherits from a base class implementing ref counts.
-   */
-  interface Relation : Bonobo::Unknown {
-
-    /** @returns the RelationType of this Relation. */
-    RelationType        getRelationType ();
-
-    /** @returns an unlocalized string representing the relation type. */
-    string              getRelationTypeName ();
-
-    /** @returns the number of objects to which this relationship applies. */
-    short               getNTargets ();
-
-    /** @returns an Object which is the 'nth'target of this Relation, e.g. the Object at index i
-     * in the list of Objects having the specified relationship to this Accessible.  
-     * \note This target should always implement Accessible, though it is returned as an Object.
-     * (In this respect this method is probably ill-specified.)
-     **/
-    Object             getTarget (in short index);
-
-    /** \cond placeholders for future expansion */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-    /** \endcond */
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_Role.idl b/idl/Accessibility_Role.idl
deleted file mode 100644 (file)
index fc962c6..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ACCESSIBILITY_ROLE_IDL
-#define _ACCESSIBILITY_ROLE_IDL
-
-module Accessibility {
-
-  enum Role {
-  /** A Role indicating an error condition, such as uninitialized Role data. */
-  ROLE_INVALID,
-  /** Object is a label indicating the keyboard accelerators for the parent  */
-  ROLE_ACCELERATOR_LABEL,
-  /** Object is used to alert the user about something */
-  ROLE_ALERT,
-  /** Object contains a dynamic or moving image of some kind */
-  ROLE_ANIMATION,
-  /** Object is a 2d directional indicator */
-  ROLE_ARROW,
-  /** Object contains one or more dates, usually arranged into a 2d list */
-  ROLE_CALENDAR,
-  /** Object that can be drawn into and is used to trap events */
-  ROLE_CANVAS,
-  /**
-   * A choice that can be checked or unchecked and provides a separate
-   * indicator for the current state.
-   */
-  ROLE_CHECK_BOX,
-  /** A menu item that behaves like a check box (see ROLE_CHECK_BOX) */
-  ROLE_CHECK_MENU_ITEM,
-  /** A specialized dialog that lets the user choose a color. */
-  ROLE_COLOR_CHOOSER,
-  /** The header for a column of data */
-  ROLE_COLUMN_HEADER,
-  /** A list of choices the user can select from */
-  ROLE_COMBO_BOX,
-  /** An object which allows entry of a date */
-  ROLE_DATE_EDITOR,
-  /** An inconifed internal frame within a DESKTOP_PANE */
-  ROLE_DESKTOP_ICON,
-  /**
-   * A pane that supports internal frames and iconified versions of those
-   * internal frames.
-   */
-  ROLE_DESKTOP_FRAME,
-  /** 
-   * An object that allows a value to be changed via rotating a visual element,
-   * or which displays a value via such a rotating element. 
-   */
-  ROLE_DIAL,
-  /** A top level window with title bar and a border */
-  ROLE_DIALOG,
-  /**
-   * A pane that allows the user to navigate through and select the contents
-   * of a directory
-   */
-  ROLE_DIRECTORY_PANE,
-  /**
-   * A specialized dialog that displays the files in the directory and lets
-   * the user select a file, browse a different directory, or specify a
-   * filename.
-   */
-  ROLE_DRAWING_AREA,
-  /**
-   * An object used for drawing custom user interface elements.
-   */
-  ROLE_FILE_CHOOSER,
-  /**
-   * A object that fills up space in a user interface
-   */
-  ROLE_FILLER,
-  /** XXX Don't use, reserved for future use. */
-  ROLE_FOCUS_TRAVERSABLE,
-  /** Allows selection of a display font */
-  ROLE_FONT_CHOOSER,
-  /** A top level window with a title bar, border, menubar, etc. */
-  ROLE_FRAME,
-  /** A pane that is guaranteed to be painted on top of all panes beneath it */
-  ROLE_GLASS_PANE,
-  /**
-   * A document container for HTML, whose children
-   * represent the document content.
-   */
-  ROLE_HTML_CONTAINER,
-  /** A small fixed size picture, typically used to decorate components */
-  ROLE_ICON,
-  /** An image, typically static. */
-  ROLE_IMAGE,
-  /** A frame-like object that is clipped by a desktop pane. */
-  ROLE_INTERNAL_FRAME,
-  /** An object used to present an icon or short string in an interface */
-  ROLE_LABEL,
-  /**
-   * A specialized pane that allows its children to be drawn in layers,
-   * providing a form of stacking order.
-   */
-  ROLE_LAYERED_PANE,
-  /**
-   * An object that presents a list of objects to the user and allows the
-   * user to select one or more of them.
-   */
-  ROLE_LIST,
-  /** An object that represents an element of a list. */
-  ROLE_LIST_ITEM,
-  /**
-   * An object usually found inside a menu bar that contains a list of
-   * actions the user can choose from.
-   */
-  ROLE_MENU,
-  /**
-   * An object usually drawn at the top of the primary dialog box of an
-   * application that contains a list of menus the user can choose from.
-   */
-  ROLE_MENU_BAR,
-  /**
-   * An object usually contained in a menu that presents an action the
-   * user can choose.
-   */
-  ROLE_MENU_ITEM,
-  /** A specialized pane whose primary use is inside a DIALOG */
-  ROLE_OPTION_PANE,
-  /** An object that is a child of a page tab list */
-  ROLE_PAGE_TAB,
-  /**
-   * An object that presents a series of panels (or page tabs), one at a time,
-   * through some mechanism provided by the object.
-   */
-  ROLE_PAGE_TAB_LIST,
-  /** A generic container that is often used to group objects. */
-  ROLE_PANEL,
-  /**
-   * A text object uses for passwords, or other places where the text
-   * content is not shown visibly to the user.
-   */
-  ROLE_PASSWORD_TEXT,
-  /**
-   * A temporary window that is usually used to offer the user a list of
-   * choices, and then hides when the user selects one of those choices.
-   */
-  ROLE_POPUP_MENU,
-  /** An object used to indicate how much of a task has been completed. */
-  ROLE_PROGRESS_BAR,
-  /**
-   * An object the user can manipulate to tell the application to do
-   * something.
-   */
-  ROLE_PUSH_BUTTON,
-  /**
-   * A specialized check box that will cause other radio buttons in the
-   * same group to become uncghecked when this one is checked.
-   */
-  ROLE_RADIO_BUTTON,
-  /** Object is both a menu item and a "radio button" (see ROLE_RADIO_BUTTON) */
-  ROLE_RADIO_MENU_ITEM,
-  /**
-   * A specialized pane that has a glass pane and a layered pane as its
-   * children.
-   */
-  ROLE_ROOT_PANE,
-  /** The header for a row of data */
-  ROLE_ROW_HEADER,
-  /**
-   * An object usually used to allow a user to incrementally view a large
-   * amount of data by moving the bounds of a viewport along a one-dimensional axis.
-   */
-  ROLE_SCROLL_BAR,
-  /**
-   * An object that allows a user to incrementally view a large amount
-   * of information.  ROLE_SCROLL_PANE objects are usually accompanied by
-   * ROLE_SCROLL_BAR controllers, on which the RELATION_CONTROLLER_FOR and
-   * RELATION_CONTROLLED_BY reciprocal relations are set; \see 
-   * Accessibility::RelationSet.
-   */
-  ROLE_SCROLL_PANE,
-  /**
-   * An object usually contained in a menu to provide a visible and
-   * logical separation of the contents in a menu.
-   */
-  ROLE_SEPARATOR,
-  /** An object that allows the user to select from a bounded range */
-  ROLE_SLIDER,
-  /** 
-   * An object which allows one of a set of choices to be selected, 
-   * and which displays the current choice.  Unlike ROLE_SCROLL_BAR,
-   * ROLE_SLIDER objects need not control 'viewport'-like objects.
-   */
-  ROLE_SPIN_BUTTON,
-  /** A specialized panel that presents two other panels at the same time. */
-  ROLE_SPLIT_PANE,
-  /** Object displays non-quantitative status information (c.f. ROLE_PROGRESS_BAR) */
-  ROLE_STATUS_BAR,
-  /** An object used to repesent information in terms of rows and columns. */
-  ROLE_TABLE,
-  /** A 'cell' or discrete child within a Table. \note Table cells need not have ROLE_TABLE_CELL, 
-   * other RoleType values are valid as well.  */
-  ROLE_TABLE_CELL,
-  /** An object which labels a particular column in a Table. */
-  ROLE_TABLE_COLUMN_HEADER,
-  /** An object which labels a particular row in a Table. Table rows and columns may also be 
-   * labelled via the RELATION_LABEL_FOR/RELATION_LABELLED_BY relationships; 
-   * \see Accessibility::RelationSet. */
-  ROLE_TABLE_ROW_HEADER,
-  /** Object allows menu to be removed from menubar and shown in its own window. */
-  ROLE_TEAROFF_MENU_ITEM,
-  /** An object that emulates a terminal */
-  ROLE_TERMINAL,
-  /** An object that presents text to the user, of nonspecific type. */
-  ROLE_TEXT,
-  /**
-   * A specialized push button that can be checked or unchecked, but does
-   * not procide a separate indicator for the current state.
-   */
-  ROLE_TOGGLE_BUTTON,
-  /**
-   * A bar or palette usually composed of push buttons or toggle buttons
-   */
-  ROLE_TOOL_BAR,
-  /**
-   * An object that provides information about another object
-   */
-  ROLE_TOOL_TIP,
-  /** An object used to repsent hierarchical information to the user. */
-  ROLE_TREE,
-  /** An object that presents both tabular and hierarchical info to the user */
-  ROLE_TREE_TABLE,
-  /**
-   * The object contains some Accessible information, but its role is
-   * not known.  
-   */
-  ROLE_UNKNOWN,
-  /** An object usually used in a scroll pane, or to otherwise clip a larger object or 
-   * content renderer to a specific onscreen viewport. */
-  ROLE_VIEWPORT,
-  /** A ¨top level window¨ with no title or border. */
-  ROLE_WINDOW,
-  /** 
-   * means that the role for this item is known, but not included in the 
-   * core enumeration 
-   */
-  ROLE_EXTENDED,
-  /** An object that serves as a document header. */
-  ROLE_HEADER,
-  /** An object that serves as a document footer. */
-  ROLE_FOOTER,
-  /** An object which is contains a single paragraph of text content. \see also ROLE_TEXT. */
-  ROLE_PARAGRAPH,
-  /**
-   * An object which describes margins and tab stops, etc. 
-   * for text objects which it controls 
-   * (should have CONTROLLER_FOR relation to such). 
-   */
-  ROLE_RULER,
-  /**
-   * An object corresponding to the toplevel accessible of an 
-   * application, which may contain ROLE_FRAME objects or other
-   * accessible objects.  Children of AccessibleDesktop objects 
-   * are generally ROLE_APPLICATION objects.
-   */
-  ROLE_APPLICATION,
-  /**
-   * The object is a dialog or list containing items for insertion 
-   * into an entry widget, for instance a list of words for completion 
-   * of a text entry.
-   */
-  ROLE_AUTOCOMPLETE,
-  /**
-   * The object is an editable text object in a toolbar.
-   */
-  ROLE_EDITBAR,
-  /**
-   * The object is an embedded component container.  This role is a 
-   * "grouping" hint that the contained objects share a context which is 
-   * different from the container in which this accessible is embedded.
-   * In particular, it is used for some kinds of document embedding, and
-   * for embedding of out-of-process component, "panel applets", etc.
-   */
-  ROLE_EMBEDDED,
-
-  /**
-   * The object is a component whose textual content may be entered or modified by the user,
-   * provided STATE_EDITABLE is present.  
-   * @note a readonly ROLE_ENTRY object (i.e. where STATE_EDITABLE is not present) implies a
-   * read-only ¨text field¨ in a form, as opposed to a title, label, or caption.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_ENTRY,
-  /**
-   * The object is a graphical depiction of quantitative data.  It may contain multiple
-   * subelements whose attributes and/or description may be queried to obtain both the
-   * quantitative data and information about how the data is being presented.
-   * The LABELLED_BY relation is particularly important in interpreting objects of this type,
-   * as is the accessible-description property.  
-   * @see ROLE_CAPTION
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_CHART,
-  /**
-   * The object contains descriptive information, usually textual, about another user interface
-   * element such as a table, chart, or image.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_CAPTION,
-  /**
-   * The object is a visual frame or container which contains a view of document content.  
-   * Document frames may occur within another Document instance, in which case the second 
-   * document may be said to be embedded in the containing instance.  HTML frames are
-   * often ROLE_DOCUMENT_FRAME.  Either this object, or a singleton descendant, should implement
-   * the Document interface.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_DOCUMENT_FRAME,
-  /**
-   * The object serves as a heading for content which follows it in a document.
-   * The 'heading level' of the heading, if availabe,  may be obtained by
-   * querying the object's attributes. 
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_HEADING,
-  /**
-   * The object is a containing instance which encapsulates a page of 
-   * information.  ROLE_PAGE is used in documents and content which support
-   * a paginated navigation model.
-   * 
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_PAGE,
-  /**
-   * The object is a containing instance of document content which constitutes
-   * a particular 'logical' section of the document.  The type of content within
-   * a section, and the nature of the section division itself, may be obtained
-   * by querying the object's attributes.  Sections may be nested.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  ROLE_SECTION,
-  /**
-   * The object is redundant with another object in the hierarchy, 
-   * and is exposed for purely technical reasons.  Objects of this role 
-   * should be ignored by clients, if they are encountered at all. 
-   *
-   * @since AT-SPI 1.7.6
-   */
-  ROLE_REDUNDANT_OBJECT,
-  /**
-   * The object is a containing instance of document content which
-   * has within it components with which the user can interact in order to
-   * input information; i.e. the object is a container for pushbuttons,
-   * comboboxes, text input fields, and other 'GUI' components.
-   * ROLE_FORM should not, in general, be used for toplevel GUI containers
-   * or dialogs, but should be reserved for 'GUI' containers which occur within
-   * document content, for instance within Web documents, presentations, or 
-   * text documents.  Unlike other GUI containers and dialogs which occur inside
-   * application instances, ROLE_FORM containers' components are associated with
-   * the current document, rather than the current foreground application or
-   * viewer instance.
-   *
-   * @since AT-SPI 1.7.6
-   */
-  ROLE_FORM,
-  /**
-   * The object is a hypertext anchor, i.e. a "link" in a
-   * hypertext document.  Such objects are distinct from 'inline'
-   * content which may also use the Hypertext/Hyperlink interfaces
-   * to indicate the range/location within a text object where
-   * an inline or embedded object lies.
-   *
-   * @since AT-SPI 1.7.6
-   */
-  ROLE_LINK,
-  /**
-   * The object is a window or similar viewport which is used
-   * to allow composition or input of a 'complex character',
-   * in other words it is an "input method window."
-   *
-   * @since AT-SPI 1.7.6
-   */
-  ROLE_INPUT_METHOD_WINDOW,
-
-  /** not a valid role, used for finding end of enumeration. */
-  ROLE_LAST_DEFINED
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_Selection.idl b/idl/Accessibility_Selection.idl
deleted file mode 100644 (file)
index aa4180b..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility_Accessible.idl>
-
-module Accessibility {
-
-  /** 
-   * An interface which indicates that an object exposes a 'selection' model,
-   * allowing the selection of one or more of its children.  Read-only Selection
-   * instances are possible, in which case the interface is used to programmatically
-   * determine the selected-ness of its children.  A selected child has ::State::STATE_SELECTED,
-   * and a child which may hypothetically be selected (though possibly not programmatically
-   * selectable) has ::State::STATE_SELECTABLE.
-   * @note Events emitted by implementors of Selection include:
-   * \li \c "object:selection-changed" An instance of Selection has undergone a change in the
-   *                                  'selected-ness' of its children, i.e. had a selection added,
-   *                                  removed, and/or modified.  Usually accompanied by
-   *                                  corresponding \c "object:state-changed:selected" events
-   *                                  from the corresponding children, unless the children are
-   *                                  previously un-queried via AT-SPI and the Selection instance
-   *                                  has ::State::STATE_MANAGES_DESCENDANTS.
-   **/
-  interface Selection : Bonobo::Unknown {
-    /**
-     * The number of children of a Selection implementor which are
-     *        currently selected.
-     */
-    readonly attribute long nSelectedChildren;
-    /**
-     * Get the i-th selected Accessible child of a Selection.
-     * @note \c selectedChildIndex refers to the index in the list of 
-     * 'selected' children as opposed to the more general 'child index'
-     * of an object;  as such it generally differs from that used in
-     * Accessible::getChildAtIndex() or returned by
-     * Accessible::getIndexInParent(). 
-     * \c selectedChildIndex must lie between 0
-     * and Selection::nSelectedChildren-1, inclusive.
-     * @param selectedChildIndex: a long integer indicating which of the 
-     * selected children of an object is being requested.
-     * @returns a pointer to a selected Accessible child object,
-     *          specified by \c selectedChildIndex.
-     */
-    Accessible getSelectedChild (in long selectedChildIndex);
-   /**
-    * Add a child to the selected children list of a Selection.
-    * @note For Selection implementors that only allow
-    *       single selections, this call may result in the
-    *       replacement of the (single) current
-    *       selection.  The call may return \c False if
-    *       the child is not selectable (i.e. does not have ::State::STATE_SELECTABLE), 
-    *       if the user does not have permission to change the selection, 
-    *       or if the Selection instance does not have ::State::STATE_SENSITIVE.
-    *
-    * @param childIndex: a long integer indicating which child of the
-    *              Selection is to be selected.
-    *
-    * @returns \c True if the child was successfully selected, 
-    *          \c False otherwise.
-    */
-    boolean selectChild (in long childIndex);
-   /**
-    * Remove a child to the selected children list of a Selection.
-    * @note \c childIndex is the index in the selected-children list,
-    *       not the index in the parent container.  \c selectedChildIndex in this
-    *       method, and \c childIndex in Selection::selectChild
-    *       are asymmettric.
-    *
-    * @param selectedChildIndex: a long integer indicating which of the 
-    *         selected children of the Selection is to be deselected.  The index
-    *         is a zero-offset index into the 'selected child list', not
-    *         a zero-offset index into the list of all children of the Selection.
-    *
-    * @returns \c True if the child was successfully deselected, 
-    *          \c False otherwise.
-    *
-    * @see deselectChild
-    **/    
-    boolean deselectSelectedChild (in long selectedChildIndex);
-   /**
-    * Determine whether a particular child of an Selection implementor
-    *        is currently selected.  Note that \c childIndex is the zero-offset
-    *        index into the standard Accessible container's list of children.
-    *
-    * @param childIndex: an index into the Selection's list of children.
-    *
-    * @returns \c True if the specified child is currently selected,
-    *          \c False otherwise.
-    **/
-    boolean isChildSelected (in long childIndex);
-    /**
-     * Attempt to select all of the children of a Selection implementor.
-     * Not all Selection implementors support this operation (for instance, 
-     * implementations which support only "single selection" do not support this operation).
-     *
-     * @returns \c True if successful, \c False otherwise.
-     */
-    boolean selectAll ();
-    /**
-     * Attempt to clear all selections (i.e. deselect all children) of a Selection.
-     * Not all Selection implementations allow the removal of all selections.
-     *
-     * @note this operation may fail if the object must have at least one selected child,
-     * if the user does not have permission to change the selection, or if the Selection
-     * does not have ::State::STATE_SENSITIVE.
-     *
-     * @returns \c True if the selections were successfully cleared, \c False otherwise.
-     */
-    boolean clearSelection ();
-    /**
-     * Remove a child from the selected children list of a Selection,
-     *       if the child is currently selected.
-     *
-     * @note unlike deselectSelectedChild, \c childIndex is the zero-offset
-     *       index into the Accessible instance's list of children,
-     *       not the index into the 'selected child list'.
-     *
-     * @param childIndex: a long integer (the zero offset index into the Accessible
-     *              object's list of children) indicating which child of the
-     *              Selection is to be selected.
-     *
-     * @returns \c True if the child was successfully selected, 
-     *          \c False otherwise.
-     *
-     * @see deselectSelectedChild
-     *
-     * @since AT-SPI 1.8.0
-     */
-    boolean deselectChild (in long childIndex);
-
-    /**
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-  };
-};
diff --git a/idl/Accessibility_Selector.idl b/idl/Accessibility_Selector.idl
deleted file mode 100644 (file)
index 83e795a..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Bonobo_Unknown.idl>
-
-#ifndef _ACCESSIBILITY_SELECTOR_IDL_
-#define _ACCESSIBILITY_SELECTOR_IDL_
-
-module Accessibility {
-
-    /** A structure which encapsulates both a string representation of a command and a unique command ID **/
-    struct Command {
-         string name;
-         long   id;
-     };
-
-    /** A list of Command objects **/
-    typedef sequence<Command> CommandList;
-
-    /** 
-    * An interface which should be implemented by assistive technologies or other
-    * clients of the ::Selector interface, over which notifications to the list of
-    * available commands is made.  The notifyCommands() method of the client is then called by 
-    * the ::Selector instance.
-    * @since AT-SPI 1.7.0
-    **/
-    interface CommandListener {
-       /**
-        * Notify the CommandListener instance of changes to the currently
-        * available commands, by sending the current ::CommandList.
-        *
-        * @param commands The newly-available list of ::Command objects which
-        * may be invoked by the listener.
-        **/
-       void notifyCommands (in CommandList commands);
-    };
-
-    /**
-     * This interface is intended for use by assistive technologies
-     * and related user-agents.  Via this interface, an assistive technology or
-     * user agent may expose a series of choices or selections in textual form,
-     * which can be activated on demand by a client of the Selector interface.
-     *
-     * Examples of the use of this interface include voice-command and remote-control
-     * applications, in which the user interaction is wholly or partly delegated by the 
-     * implementor to an external agent.  
-     * @since AT-SPI 1.7.0
-     **/
-  interface Selector : Bonobo::Unknown {
-
-      /** 
-       * A code returned by a call to ::activateCommand, indicating 
-       * the result of the activation request.
-       **/
-      enum CommandResult {
-         COMMAND_RESULT_INVALID, /**< The command was invalid or ill-formed; usually indicates
-                                  * an error condition. */
-         COMMAND_RESULT_SUCCESS, /**< The command was successfully activated. */
-         COMMAND_RESULT_FAILED, /**< The command was valid, but could not be activated.
-                                 * This may be due to problems with permissions or error conditions.
-                                 */
-         COMMAND_RESULT_OBSOLETE, /**< The command is no longer valid in the current program context. 
-                                   * This may mean that the application has changed state in such a
-                                   * way that the specified command it no longer applicable, or
-                                   * because changes to the application state have rendered it
-                                   * ambiguous.  Commands should be re-fetched and a new selection
-                                   * made.
-                                   */
-         COMMAND_RESULT_LAST_DEFINED /**< Defines size of enumeration; 
-                                        do not use this value as a parameter.*/
-      };
-
-      /** This attribute is TRUE if this Selector allows its ::CommandList to be specified by the client **/
-      readonly attribute boolean supportsReplace;
-
-      /** 
-       * Query the ::Selector for the current ::CommandList.
-       *
-       * @returns the currently available ::CommandList 
-       **/
-      CommandList getCommands ();
-
-      /**
-       * @returns TRUE if the replacement request was successful, 
-       * FALSE if the request could not be honored.
-       **/
-      boolean replaceCommands (in CommandList commands);
-
-      /** 
-       * Ask the ::Selector to re-calculate its ::CommandList.
-       * @note in most cases the ::Selector will continuously
-       * update its ::CommandList without recourse to this call.
-       * This call is equivalent to ::getCommands, except that
-       * after ::refreshCommands the new ::CommandList will be returned
-       * via any registered ::CommandListener instances rather than
-       * synchronously via this call.
-       *
-       * @returns TRUE if the ::CommandList changed.
-       **/
-      boolean refreshCommands ();
-
-      /** 
-       * Request that the ::Selector invoke the specified ::Command.
-       * @param cmd the ::Command to activate/invoke.
-       * @returns a ::CommandResult indicating whether the 
-       * request was honored, and the reason for failure if the
-       * ::Command could not be activated or invoked.
-       **/
-      CommandResult activateCommand (in Command cmd);
-
-      /** 
-       * Register a :CommandListener instance for notification of 
-       * changes to the command set.
-       * @param listener the ::CommandListener to be notified of changes.
-       **/
-      void registerChangeListener (in CommandListener listener);
-
-      /** 
-       * Tell the ::Selector instance to cease notifying the
-       * specified ::CommandListener of changes to the command list.
-       * @param listener the ::CommandListener to remove from the
-       * notification list.
-       **/
-      void deregisterChangeListener (in CommandListener listener);
-
-       /**
-        *\cond
-        * unImplemented:
-        *
-        * placeholders for future expansion.
-        */
-       void unImplemented ();
-       void unImplemented2 ();
-       void unImplemented3 ();
-       void unImplemented4 ();
-        /**\endcond */
-    };
-
-};
-
-#endif
diff --git a/idl/Accessibility_State.idl b/idl/Accessibility_State.idl
deleted file mode 100644 (file)
index 189fa7c..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef _ACCESSIBILITY_STATE_IDL
-#define _ACCESSIBILITY_STATE_IDL
-
-module Accessibility {
-
-  enum StateType {
-  STATE_INVALID,
-  /** Indicates a window is currently the active window, or is an active subelement within a container or table **/
-  STATE_ACTIVE,
-  /** Indicates that the object is armed */
-  STATE_ARMED,
-  /** 
-   * Indicates the current object is busy, i.e. onscreen representation is in the process of changing, or
-   * the object is temporarily unavailable for interaction due to activity already in progress.
-   */
-  STATE_BUSY,
-  /** Indicates this object is currently checked */
-  STATE_CHECKED,
-  /** Indicates this object is collapsed */
-  STATE_COLLAPSED,
-  /** Indicates that this object no longer has a valid backing widget 
-   * (for instance, if its peer object has been destroyed) */
-  STATE_DEFUNCT,
-  /** Indicates the user can change the contents of this object */
-  STATE_EDITABLE,
-  /** Indicates that this object is enabled, i.e. that it currently reflects some application state. 
-   * Objects that are "greyed out" may lack this state, and may lack the STATE_SENSITIVE if direct user
-   * interaction cannot cause them to acquire STATE_ENABLED.  @see STATE_SENSITIVE.
-   */
-  STATE_ENABLED,
-  /** Indicates this object allows progressive disclosure of its children */
-  STATE_EXPANDABLE,
-  /** Indicates this object its expanded */
-  STATE_EXPANDED,
-  /**
-   * Indicates this object can accept keyboard focus, which means all
-   * events resulting from typing on the keyboard will normally be passed
-   * to it when it has focus
-   */
-  STATE_FOCUSABLE,
-  /** Indicates this object currently has the keyboard focus */
-  STATE_FOCUSED,
-  /** Indicates that the object has an associated tooltip */
-  STATE_HAS_TOOLTIP,
-  /** Indicates the orientation of thsi object is horizontal */
-  STATE_HORIZONTAL,
-  /** Indicates this object is minimized and is represented only by an icon */
-  STATE_ICONIFIED,
-  /**
-   * Indicates something must be done with this object before the user can
-   * interact with an object in a different window.
-   */
-  STATE_MODAL,
-  /** Indicates this (text) object can contain multiple lines of text */
-  STATE_MULTI_LINE,
-  /**
-   * Indicates this object allows more than one of its children to be
-   * selected at the same time, or in the case of text objects, 
-   * that the object supports non-contiguous text selections.
-   */
-  STATE_MULTISELECTABLE,
-  /** Indicates this object paints every pixel within its rectangular region.
-   * It also indicates an alpha value of unity, if it supports alpha blending. 
-   */
-  STATE_OPAQUE,
-  /** Indicates this object is currently pressed */
-  STATE_PRESSED,
-  /** Indicates the size of this object's size is not fixed */
-  STATE_RESIZABLE,
-  /**
-   * Indicates this object is the child of an object that allows its
-   * children to be selected and that this child is one of those children
-   * that can be selected.
-   */
-  STATE_SELECTABLE,
-  /**
-   * Indicates this object is the child of an object that allows its
-   * children to be selected and that this child is one of those children
-   * that has been selected.
-   */
-  STATE_SELECTED,
-  /** Indicates this object is sensitive, e.g. to user interaction. 
-   * STATE_SENSITIVE usually accompanies STATE_ENABLED for user-actionable controls,
-   * but may be found in the absence of STATE_ENABLED if the current visible state of the 
-   * control is "disconnected" from the application state.  In such cases, direct user interaction
-   * can often result in the object gaining STATE_SENSITIVE, for instance if a user makes 
-   * an explicit selection using an object whose current state is ambiguous or undefined.
-   * @see STATE_ENABLED, STATE_INDETERMINATE. */
-  STATE_SENSITIVE,
-  /**
-   * Indicates this object, the object's parent, the object's parent's
-   * parent, and so on, are all 'shown' to the end-user, i.e.
-   * subject to "exposure" if blocking or obscuring objects do not interpose
-   * between this object and the top of the window stack.
-   */
-  STATE_SHOWING,
-  /** Indicates this (text) object can contain only a single line of text */
-  STATE_SINGLE_LINE,
-  /** Indicates that the information returned for this object may no longer be
-   * synchronized with the application state.  This can occur if the object has STATE_TRANSIENT,
-   * and can also occur towards the end of the object peer's lifecycle. */
-  STATE_STALE,
-  /** Indicates this object is transient */
-  STATE_TRANSIENT,
-  /** Indicates the orientation of this object is vertical; for example this state may appear on 
-   * such objects as scrollbars, text objects (with vertical text flow), separators, etc.
-   */
-  STATE_VERTICAL,
-  /** Indicates this object is visible, e.g. has been explicitly marked for exposure to the user.
-   * @note: STATE_VISIBLE is no guarantee that the object is actually unobscured on the screen, only
-   * that it is 'potentially' visible, barring obstruction, being scrolled or clipped out of the 
-   * field of view, or having an ancestor container that has not yet made visible.
-   * A widget is potentially onscreen if it has both STATE_VISIBLE and STATE_SHOWING.
-   * The absence of STATE_VISIBLE and STATE_SHOWING is semantically equivalent to saying 
-   * that an object is 'hidden'.
-   */
-  STATE_VISIBLE,
-  /**
-   * Indicates that "active-descendant-changed" event is sent when children
-   * become 'active' (i.e. are selected or navigated to onscreen).  Used to
-   * prevent need to enumerate all children in very large containers, like
-   * tables.  The presence of STATE_MANAGES_DESCENDANTS is an indication to the client.
-   * that the children should not, and need not, be enumerated by the client.
-   * Objects implementing this state are expected to provide relevant state
-   * notifications to listening clients, for instance notifications of visibility
-   * changes and activation of their contained child objects, without the client 
-   * having previously requested references to those children.
-   */
-  STATE_MANAGES_DESCENDANTS,
-  /**
-   * Indicates that a check box or other boolean indicator is in a state other than 
-   * checked or not checked.  This usually means that the boolean value reflected or 
-   * controlled by the object does not apply consistently to the entire current context.
-   * For example, a checkbox for the "Bold" attribute of text may have STATE_INDETERMINATE
-   * if the currently selected text contains a mixture of weight attributes.  
-   * In many cases interacting with a STATE_INDETERMINATE object will cause 
-   * the context's corresponding boolean attribute to be homogenized, whereupon the object
-   * will lose STATE_INDETERMINATE and a corresponding state-changed event will be fired.
-   */
-  STATE_INDETERMINATE,
-  /**
-   * Indicates that user interaction with this object is 'required' from the user, 
-   * for instance before completing the processing of a form.
-   */
-  STATE_REQUIRED,
-  /**
-   * Indicates that an object's onscreen content is truncated, e.g. a text value in a spreadsheet cell. 
-   * @since AT-SPI 1.7.0.
-   */
-  STATE_TRUNCATED,
-  /**
-   * Indicates this object's visual representation is dynamic, not static.
-   * This state may be applied to an object during an animated 'effect' and 
-   * be removed from the object once its visual representation becomes static.
-   * @note some applications, notably content viewers, may not be able to detect
-   * all kinds of animated content.  Therefore the absence of this state should not
-   * be taken as definitive evidence that the object's visual representation is
-   * static; this state is advisory.
-   *
-   * @since AT-SPI 1.7.0
-   */
-  STATE_ANIMATED,
-  /**
-   * This object has indicated an error condition due to failure of input
-   * validation.  For instance, a form control may acquire this state in response
-   * to invalid or malformed user input.
-   *
-   * @since AT-SPI 1.7.0 
-   */
-  STATE_INVALID_ENTRY,
-  /**
-   * This state indicates that the object in question implements some form of ¨typeahead¨ or 
-   * pre-selection behavior whereby entering the first character of one or more sub-elements
-   * causes those elements to scroll into view or become selected.  Subsequent character input
-   * may narrow the selection further as long as one or more sub-elements match the string.
-   * This state is normally only useful and encountered on objects that implement Selection.
-   * In some cases the typeahead behavior may result in full or partial ¨completion¨ of 
-   * the data in the input field, in which case these input events may trigger text-changed
-   * events from the source.
-   *
-   * @since AT-SPI 1.7.0 
-   */
-  STATE_SUPPORTS_AUTOCOMPLETION,
-  /**
-   * This state indicates that the object in question supports text selection. 
-   * It should only be exposed on objects which implement the Text interface, 
-   * in order to distinguish this state from STATE_SELECTABLE, which infers that
-   * the object in question is a selectable child of an object which implements
-   * Selection.  While similar, text selection and subelement selection are
-   * distinct operations.
-   *
-   * @since AT-SPI 1.7.0 
-   */
-  STATE_SELECTABLE_TEXT,
-  /**
-   * This state indicates that the object in question is the 'default' interaction object 
-   * in a dialog, i.e. the one that gets activated if the user presses "Enter" when the
-   * dialog is initially posted.
-   *
-   * @since AT-SPI 1.7.0 
-   */
-  STATE_IS_DEFAULT,
-  /**
-   * This state indicates that the object (typically a hyperlink)
-   * has already been activated or invoked, with the result that some backing data
-   * has been downloaded or rendered.
-   *
-   * @since AT-SPI 1.7.1 
-   */
-  STATE_VISITED,
-
-  /** This value of the enumeration should not be used as a parameter, it indicates the number of
-   * items in the StateType enumeration.
-   */
-  STATE_LAST_DEFINED
-  };
-
-  typedef sequence <StateType> StateSeq;
-
-    /** 
-     * The StateSet interface encapsulates a collection of state information.
-     * It allows comparison of state information between object instances, and comparisons
-     * of an object's state with some hypothetical collection of states.
-     */
-  interface StateSet : Bonobo::Unknown {
-
-    /** Query a StateSet for a specific StateType. 
-     * @param state the StateType being queried for.
-     * @returns \c TRUE if the StateSet contains StateType \a state.
-     */
-    boolean            contains (in StateType state);
-
-    /** Add a StateType to an existing StateSet, if not already present. */
-    void               add (in StateType state);
-
-    /** Remove a StateType to an existing StateSet, if it is present. */ 
-    void               remove (in StateType state);
-
-    /** Compare two statesets for equivalence.
-     * @param tarStateSet the StateSet to be compared with this one.
-     * @returns \c TRUE if the two StateSet objects are composed of the same StateTypes. 
-     */
-    boolean            equals (in StateSet tarStateSet);
-
-    /** Compare two StateSet instances and obtain their differences.
-     * @returns a 'difference set', i.e. a StateSet consisting of those states 
-     * not shared by the two sets being compared. */
-    StateSet            compare (in StateSet compareState);
-
-    /** @returns \c TRUE if the StateSet contains no states. */
-    boolean            isEmpty ();
-
-    /** \cond */
-    /* Private */
-    StateSeq getStates ();
-
-    /**
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-    /** \endcond */
-  };
-};
-
-#endif
diff --git a/idl/Accessibility_StreamableContent.idl b/idl/Accessibility_StreamableContent.idl
deleted file mode 100644 (file)
index c38c647..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Bonobo_Storage.idl>
-
-module Accessibility {
-
-  typedef sequence<string> StringSeq;
-
-  /** 
-   * An interface by which the requested data from a StreamableContent object
-   * may be read by the client.
-   * @note this interface supercedes the use of BonoboStream by previous
-   * versions of StreamableContent.
-   *
-   * @since AT-SPI 1.7.0 
-   */
-  interface ContentStream : Bonobo::Unknown {
-
-      typedef sequence<octet> iobuf;
-
-      /** 
-       * Indicates that a transmission error has occurred while 
-       * reading or seeking the stream or data source. 
-       */
-      exception IOError {
-         string reason;
-      };
-      /** 
-       * Indicates that the requested operation is not supported by the stream instance.
-       */
-      exception NotSupported {
-         string reason;
-      };
-
-      /**
-       * The operation is supported, but the current requestor does not have
-       * permission to t the request, for instance does not have permission to read 
-       * the stream.
-       */
-      exception NoPermission {
-         string reason;
-      };
-
-      /** 
-       * Specifies the meaning of a seek 'offset'.  Not all SeekTypes are 
-       * supported by all StreamableContent data sources, for instance 
-       * some streams may not support seeking from the beginning or other
-       * types of 'backwards' seeks.
-       */
-      enum SeekType {
-         SEEK_SET, /**< Seek from the start of the stream or data source.*/
-         SEEK_CURRENT, /**< Seek relative to the current position. */
-         SEEK_END /**< Seek from the end of the file, stream, or data source. */
-      };
-
-      /** 
-       * Seek to a specified position in the Stream.
-       * @param offset an offset specifying the requested position in the stream,
-       * relative to the SeekType specified in \c whence.
-       * @param whence a SeekType specifying the reference point from which the 
-       * seek offset is calculated.  Some forms of seek are not supported by certain
-       * implementations of Stream, in which case a NotSupported exception will be raised.
-       * @returns the actual resulting offset, if no exception was raised.
-       **/
-      long seek (in long offset, in SeekType whence)
-         raises (NoPermission, IOError, NotSupported);
-      /** 
-       * Request/read a specified amount of data from a Stream.
-       * @returns the number of bytes actually read into the client buffer.
-       **/
-      long read (in long count, out iobuf buffer)  
-         raises (NoPermission, IOError);
-      /** 
-       * close the stream and release associated resources.  
-       * A client should not perform further operations on a 
-       * StreamableContent::Stream object after closing it.
-       **/
-      void close ();
-
-      /** /cond */
-      void unimplemented ();
-      void unimplemented2 ();
-      /** /endcond */
-  };
-
-
-  /** 
-   * An interface whereby an object allows its backing content
-   * to be streamed to clients.  Negotiation of content type
-   * is allowed.  Clients may examine the backing data and
-   * transform, convert, or parse the content in order to
-   * present it in an alternate form to end-users.
-   *
-   * @note The StreamableContent interface is particularly useful for saving, 
-   * printing, or post-processing entire documents, or for persisting 
-   * alternate views of a document.
-   * If document content itself is being serialized, stored, or converted,
-   * then use of the StreamableContent interface can help address performance
-   * issues.  Unlike most AT-SPI/Accessibility interfaces, this interface
-   * is not strongly tied to the current user-agent view of the
-   * a particular document, but may in some cases give access to the 
-   * underlying model data.
-   */
-  interface StreamableContent : Bonobo::Unknown {
-
-      /**
-       * getContentTypes:
-       * @returns the list of available mimetypes for this object's content.
-       */
-    StringSeq getContentTypes ();
-      /**
-       * \n DEPRECATED, use getStream instead.
-       * getContent:
-       * Retrieve this object's content, in a format appropriate to a
-       * requested mimetype.
-       *
-       * @note the data is returned as an object of type ::Bonobo::Stream.
-       * The primary methods which are supported on Bonobo::Streams for the
-       * purposes of the ::StreamableContent API are \c seek and \c read.
-       * \c seek may not be supported for all mimetypes or
-       * all implementors.
-       * 
-       \verbatim
-        long Bonobo::Stream:seek (in long offset, in SeekType whence)
-                raises (NoPermission, IOError)
-        void Bonobo::Stream:read (in long count, out iobuf buffer)
-                raises (NoPermission, IOError)
-       \endverbatim
-       *  
-       * @see ::Bonobo::Stream
-       *
-       * @returns a ::Bonobo::Stream whose mimetype matches \a contentType,
-       *          if available, or \c NIL.
-       */
-    Bonobo::Stream getContent (in string contentType);
-
-      /**
-       * Retrieve this object's content, in a format appropriate to a
-       * requested mimetype, as a ::ContentStream instance.
-       *
-       * @note This method supercedes the older getContent method, which
-       * relied on the Bonobo::Stream API.
-       * \c seek may not be supported for all mimetypes or
-       * all implementors.
-       * 
-       * @param contentType a string specifying the desired mimetype for the content stream.
-       * @returns a Stream whose mimetype matches \a contentType,
-       *          if available, or \c NIL.
-       * @since AT-SPI 1.8.0
-       */
-    ContentStream getStream (in string contentType);
-
-      /**
-       * Get a URI pointing to the content of the specified type, if such a URI
-       * can be obtained.  Not all streamable content providers have URI representations.
-       *
-       * @param contentType a string specifying the desired mimetype for the content stream.
-       * If NULL, then a URI for the default content type will be returned, if available.
-       *
-       * @returns a string which constitutes a URI for a stream of the specified
-       * content type, or NULL if no such URI can be obtained.
-       */
-    string getURI (in string contentType);
-    /**
-     * \cond
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-      /** \endcond */
-  };
-
-};
diff --git a/idl/Accessibility_Table.idl b/idl/Accessibility_Table.idl
deleted file mode 100644 (file)
index a995ba3..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <Accessibility_Accessible.idl>
-
-module Accessibility {
-
-typedef sequence<long> LongSeq;
-
-  /**
-   * An interface used by containers whose contained data is arranged in 
-   * a "tabular" (i.e.\ row-column) fashion.  Tables may resemble a two-dimensional
-   * grid, as in a spreadsheet, or may feature objects which span multiple rows and/or
-   * columns, but whose bounds are aligned on a row/column matrix.  Thus, the Table
-   * interface may be used to represent "spreadsheets" as well as "frames".
-   *
-   * Objects within tables are children of the Table instance, and they may be referenced
-   * either via a child index or via a row/column pair.  
-   * Their role may be ROLE_TABLE_CELL, but table 'cells' may have other roles as well.
-   * These 'cells' may implement other interfaces, such as Text, Action, Image, 
-   * and Component, and should do so as appropriate to their onscreen representation
-   * and/or behavior.
-   */
- interface Table : Bonobo::Unknown {
-   /** 
-    * The total number of rows in this table (including empty rows),
-    * exclusive of any rows which are programmatically hidden.
-    * Rows which are merely scrolled out of view are included.
-    */
-   readonly attribute long nRows;
-   /** 
-    * The total number of columns in this table (including empty columns),
-    * exclusive of columns which are programmatically hidden.
-    * Columns which are scrolled out of view or clipped by the current
-    * viewport are included. 
-    */
-   readonly attribute long nColumns;
-   /**
-    * An Accessible which represents of a caption for a Table.
-    **/
-   readonly attribute Accessible caption;
-   /**
-    * An accessible object which summarizes the contents of a Table.
-    * This object is frequently itself a Table instance, albeit a simplified one.
-    */
-   readonly attribute Accessible summary;
-   /** 
-    * The number of rows currently selected.  
-    * A selected row is one in which all included cells are selected.
-    * @note Not all tables support row selection.
-    */
-   readonly attribute long nSelectedRows;
-   /** 
-    * The number of columns currently selected.  
-    * A selected column is one in which all included cells are selected.
-    * @note Not all tables support column selection.
-    */
-   readonly attribute long nSelectedColumns;
-   /**
-    * Get the table cell at the specified row and column indices.
-    * @note    To get the accessible object at a particular (x, y) screen coordinate,
-    *          use Accessible::getAccessibleAtPoint ().
-    *
-    * @param row: the specified table row, zero-indexed.
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @returns an Accessible object representing the specified table cell.
-    **/   
-   Accessible getAccessibleAt (in long row, in long column);
-   /**
-    * Get the 1-D child index corresponding to the specified 2-D row and column indices.
-    * @note    To get the accessible object at a particular (x, y) screen coordinate,
-    *          use Accessible::getAccessibleAtPoint.
-    *
-    * @param row: the specified table row, zero-indexed.
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @see getRowAtIndex, getColumnAtIndex
-    *
-    * @returns a long integer which serves as the index of a specified cell in the
-    *          table, in a form usable by Accessible::getChildAtIndex.
-    **/   
-   long getIndexAt (in long row, in long column);
-   /**
-    * Get the table row index occupied by the child at a particular 1-D child index.
-    *
-    * @param index: the specified child index, zero-indexed.
-    *
-    * @see getIndexAt(), getColumnAtIndex()
-    *
-    * @returns a long integer indicating the first row spanned by the child of a
-    *          table, at the specified 1-D (zero-offset) \c index.
-    **/
-   long getRowAtIndex (in long index);
-   /**
-    * Get the table column index occupied by the child at a particular 1-D child index.
-    *
-    * @param index: the specified child index, zero-indexed.
-    *
-    * @see getIndexAt(), getRowAtIndex()
-    *
-    * @returns a long integer indicating the first column spanned by the child of a
-    *          table, at the specified 1-D (zero-offset) \c index.
-    **/
-   long getColumnAtIndex (in long index);
-   /**
-    * Get a text description of a particular table row.  This differs from
-    * AccessibleTable_getRowHeader, which returns an Accessible.
-    * @param row: the specified table row, zero-indexed.
-    *
-    * @returns a UTF-8 string describing the specified table row, if available.
-    **/ 
-   string getRowDescription (in long row);
-   /**
-    * Get a text description of a particular table column.  This differs from
-    * AccessibleTable_getColumnHeader, which returns an Accessible.
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @returns a UTF-8 string describing the specified table column, if available.
-    **/ 
-   string getColumnDescription (in long column);
-   /**
-    * Get the number of rows spanned by the table cell at the specific row and column.
-    * (some tables can have cells which span multiple rows and/or columns).
-    *
-    * @param row: the specified table row, zero-indexed.
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @returns a long integer indicating the number of rows spanned by the specified cell.
-    **/
-   long getRowExtentAt (in long row, in long column);
-   /**
-    * Get the number of columns spanned by the table cell at the specific row and column.
-    * (some tables can have cells which span multiple rows and/or columns).
-    *
-    * @param row: the specified table row, zero-indexed.
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @returns a long integer indicating the number of columns spanned by the 
-    * specified cell.
-    **/
-   long getColumnExtentAt (in long row, in long column);
-   /**
-    * Get the header associated with a table row, if available.  This differs from
-    * getRowDescription, which returns a string.
-    *
-    * @param row: the specified table row, zero-indexed.
-    *
-    * @returns an Accessible representatin of the specified table row, if available.
-    **/
-   Accessible getRowHeader (in long row);
-   /**
-    * Get the header associated with a table column, if available, as an 
-    * instance of Accessible.  This differs from
-    * getColumnDescription, which returns a string.
-    *
-    * @param column: the specified table column, zero-indexed.
-    *
-    * @returns an Accessible representatin of the specified table column, if available.
-    **/
-   Accessible getColumnHeader (in long column);
-   /**
-    * Obtain the indices of all rows which are currently selected.  
-    * @note Not all tables support row selection.
-    *
-    * @returns a sequence of integers comprising the indices of rows currently selected.
-    **/
-   LongSeq getSelectedRows ();
-   /**
-    * Obtain the indices of all columns which are currently selected.  
-    * @note Not all tables support column selection.
-    *
-    * @returns a sequence of integers comprising the indices of columns currently selected.
-    **/
-   LongSeq getSelectedColumns ();
-   /**
-    * Determine whether a table row is selected.  
-    * @note Not all tables support row selection.
-    *
-    * @param row: the row being queried.
-    *
-    * @returns \c True if the specified row is currently selected, \c False if not.
-    **/
-   boolean isRowSelected (in long row);
-   /**
-    * Determine whether a table column is selected.  
-    * @note Not all tables support column selection.
-    *
-    * @param column: the column being queried.
-    *
-    * @returns \c True if the specified column is currently selected, \c False if not.
-    **/
-   boolean isColumnSelected (in long column);
-   /**
-    * Determine whether the cell at a specific row and column is selected.
-    * @param row a row occupied by the cell whose state is being queried.
-    * @param column a column occupied by the cell whose state is being queried.
-    *
-    * @returns \c True if the specified cell is currently selected, 
-    * \c False if not.
-    **/
-   boolean isSelected (in long row, in long column);
-   /**
-    * Select the specified row, adding it to the current row selection,
-    * if the table's selection model permits it.
-    *
-    * @param row
-    * @note Possible reasons for addRowSelection to return \c False
-    * include:
-    * \li The table does not support Selection
-    * \li The table row includes cells which do not have STATE_SELECTABLE
-    * \li The table does not support selection by row
-    * \li The table does not support selection of multiple rows, and
-    * one row is already selected.
-    * \li The table does not support non-contiguous selections (i.e.
-    * does not include STATE_MULTISELECTABLE), and the specified row
-    * would result in selection of non-contiguous rows.
-    * \li The table does not support user-instigated selection.
-    *
-    * @returns \c True if the specified row was successfully selected, 
-    * \c False if not. 
-    **/
-   boolean addRowSelection (in long row);
-   /**
-    * Select the specified column, adding it to the current column selection,
-    * if the table's selection model permits it.
-    *
-    * @param column
-    * @note Possible reasons for addColumnSelection to return \c False
-    * include:
-    * \li The table does not support Selection
-    * \li The table column includes cells which do not have STATE_SELECTABLE
-    * \li The table does not support selection by column
-    * \li The table does not support selection of multiple columns, and
-    * one column is already selected.
-    * \li The table does not support non-contiguous selections (i.e.
-    * does not include STATE_MULTISELECTABLE), and the specified column
-    * would result in selection of non-contiguous columns.
-    * \li The table does not support user-instigated selection.
-    *
-    * @returns \c True if the specified column was successfully selected, 
-    * \c False if not. 
-    **/
-   boolean addColumnSelection (in long column);
-   /**
-    * Remove the specified row from current row selection,
-    * if the table's selection model permits it.
-    *
-    * @param row
-    * @note Possible reasons for removeRowSelection to return \c False
-    * include:
-    * \li The table does not support user-instigated Selection
-    * \li The table has no selected rows or does not support deselection by row
-    *
-    * @returns \c True if the specified row was successfully de-selected, 
-    * \c False if not. 
-    **/
-   boolean removeRowSelection (in long row);
-   /**
-    * Remove the specified column from current column selection,
-    * if the table's selection model permits it.
-    *
-    * @param column
-    * @note Possible reasons for removeColumnSelection to return \c False
-    * include:
-    * \li The table does not support user-instigated modification of
-    * selection state
-    * \li The table has no selected columns or does not support 
-    * deselection by column.
-    *
-    * @returns \c True if the specified column was successfully de-selected, 
-    * \c False if not. 
-    **/
-   boolean removeColumnSelection (in long column);
-   /** 
-    * Given a child index, determine the row and column indices and 
-    * extents, and whether the cell is currently selected.  If
-    * the child at \c index is not a cell (for instance, if it is 
-    * a summary, caption, etc.), \c False is returned.
-    *
-    * @param index the index of the Table child whose row/column 
-    * extents are requested.
-    * @param row back-filled with the first table row associated with
-    * the cell with child index \c index.
-    * @param col back-filled with the first table column associated 
-    * with the cell with child index \c index.
-    * @param row_extents back-filled with the number of table rows 
-    * across which child \c i extends.
-    * @param col_extents back-filled with the number of table columns
-    * across which child \c i extends.
-    * @param is_selected a boolean which is back-filled with \c True
-    * if the child at index \c i corresponds to a selected table cell,
-    * \c False otherwise.
-    *
-    * Example:
-    * If the Table child at index '6' extends across columns 5 and 6 of
-    * row 2 of a Table instance, and is currently selected, then
-    * \code
-    * retval = table::getRowColumnExtentsAtIndex (6, row, col, 
-    *                                             row_extents,
-    *                                             col_extents,
-    *                                             is_selected);
-    * \endcode
-    * will return True, and after the call
-    * \c row, \c col, \c row_extents, \c col_extents,
-    * and \c is_selected will contain \c 2, \c 5, \c 1, \c 2, and 
-    * \c True, respectively.
-    *
-    * @returns \c True if the index is associated with a valid table
-    * cell, \c False if the index does not correspond to a cell.  If 
-    * \c False is returned, the values of the out parameters are 
-    * undefined.
-    * 
-    * @since AT-SPI 1.7.0
-    **/
-    boolean getRowColumnExtentsAtIndex (in long index, out long row, 
-                                       out long col, 
-                                       out long row_extents, 
-                                       out long col_extents, 
-                                       out boolean is_selected);
-    /** \cond
-     * unImplemented:
-     *
-     * placeholders for future expansion.
-     */
-    void unImplemented ();
-    void unImplemented2 ();
-    void unImplemented3 ();
-    void unImplemented4 ();
-    void unImplemented5 ();
-    void unImplemented6 ();
-    void unImplemented7 ();
-    /** \endcond */
-  };
-};
diff --git a/idl/Accessibility_Text.idl b/idl/Accessibility_Text.idl
deleted file mode 100644 (file)
index 133594c..0000000
+++ /dev/null
@@ -1,463 +0,0 @@
-/* 
- * AT-SPI - Assistive Technology Service Provider Interface 
- * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
- *
- * Copyright 2001 Sun Microsystems, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-module Accessibility {
-
-  /**
-   * Specifies the boundary conditions determining a run of text as returned from
-   * getTextAtOffset, getTextAfterOffset, and getTextBeforeOffset.
-   */
-  enum TEXT_BOUNDARY_TYPE {
-    TEXT_BOUNDARY_CHAR,/**< Text is bounded by this character only. 
-                       * Start and end offsets differ by one, by definition, for this value. 
-                       */
-    TEXT_BOUNDARY_WORD_START,/**< Boundary condition is start of a word; i.e. range is from start of
-                             * one word to the start of another word. 
-                             */
-    TEXT_BOUNDARY_WORD_END,/**< Boundary condition is the end of a word; i.e. range is from 
-                           * the end of one word to the end of another. 
-                           * @note some locales may not distinguish between words and
-                           * characters or glyphs, in particular those locales which use
-                           * wholly or partially ideographic character sets.  In these cases,
-                           * characters may be returned in lieu of multi-character substrings.
-                           */
-    TEXT_BOUNDARY_SENTENCE_START,/**< Boundary condition is start of a sentence, as determined 
-                               *  by the application. 
-                               *  @note Some locales or character sets may not include explicit sentence
-                               *  delimiters, so this boundary type can not always be honored.
-                               *  Some locales will return lines of text instead of grammatical sentences.
-                                 */
-    TEXT_BOUNDARY_SENTENCE_END,/**< Boundary condition is end of a sentence, as determined by the application, 
-                               *  including the sentence-delimiting character, for instance '.'
-                               *  @note Some locales or character sets may not include explicit sentence
-                               *  delimiters, so this boundary type can not always be honored.
-                               *  Some locales will return lines of text instead of grammatical sentences.
-                               */
-    TEXT_BOUNDARY_LINE_START,/**< Boundary condition is the start of a line; i.e. range is 
-                             * from start of one line to the start of another.  This generally 
-                             * means that an end-of-line character will appear at the end of the range. 
-                             */
-    TEXT_BOUNDARY_LINE_END /**< Boundary condition is the end of a line; i.e. range is
-                           * from start of one line to the start of another.  This generally 
-                           * means that an end-of-line character will be the first character of the range. 
-                           */
-  };
-
-  /**
-   * TEXT_CLIP_TYPE:
-   * CLIP_MIN means text clipped by min coordinate is omitted,
-   * CLIP_MAX clips text interescted by the max coord, and CLIP_BOTH
-   * will retain only text falling fully within the min/max bounds.
-   *
-   **/
-  enum TEXT_CLIP_TYPE {
-    TEXT_CLIP_NONE,
-    TEXT_CLIP_MIN,/**< characters/glyphs clipped by the minimum coordinate are omitted */
-    TEXT_CLIP_MAX,/**< characters/glyphs which intersect the maximum coordinate are omitted */
-    TEXT_CLIP_BOTH /**< only glyphs falling entirely within the region bounded by min and max are retained. */
-  };
-
-    /** 
-     * The text interface should be implemented by objects which place textual information onscreen as character
-     * strings or glyphs.  The text interface allows access to textual content, including display attributes and
-     * semantic hints associated with runs of text, and access to bounding box information for glyphs and substrings.
-     * It also allows portions of textual content to be selected, if the object's StateSet includes
-     * STATE_SELECTABLE_TEXT. 
-     *
-     * In some cases a Text object may have, as its content, an empty string.  In particular this can
-     * occur in the case of Hypertext objects which do not display explicitly textual information onscreen,
-     * as Hypertext is derived from the Text interface.  @see Hypertext.
-     *
-     * Typographic and semantic attributes of onscreen textual content, for instance typeface, weight, 
-     * language, and such qualities as 'emphasis' or 'blockquote', are represented as text attributes.
-     * Contiguous sequences of characters over which these attributes are unchanged are referred to as
-     * "attribute runs", and are available via Text::getAttributeRun.  Where possible, implementing clients
-     * will report textual attributes which are the same over the entire text object, for instance those
-     * inherited from a default or document-scope style, via getDefaultAttributes instead of reporting them
-     * explicitly for each character.  Therefore, for any span of text, the attributes in effect are the union
-     * of the set returned by Text::getDefaultAttributes, and the set returned at a particular character
-     * offset via Text::getAttributeRun.
-     *
-     * @note Events that may be emitted by instances of Text include:
-     * \li \c "object:text-attributes-changed" The attributes of a range of text, or the range over 
-     *         which attributes apply, has changed.
-     * \li \c "object:text-changed" The text content of this object has changed.
-     * \li \c "object:text-bounds-changed" The character bounds of a text object have changed, 
-     *         for instance in response to a reformatting or reflow operation.
-     * \li \c "object:text-caret-moved" The character offset of the text caret (visible or notional) within
-     *         this object has changed.  Events of this type may also be generated when an onscreen
-     *         text caret appears or disappears.
-     * \li \c "object:text-selection-changed" The range or number of text selections within this text object
-     *         has changed.
-     *
-     * @note In some cases, objects which are not onscreen may implement Text, but if such objects
-     * implement Component, their potential visibility should be examined (via comparison with STATE_VISIBLE 
-     * and STATE_SHOWING) before exposing them to the user.  Objects which implement Text but not Component 
-     * may be encountered in special-purpose interfaces or as special ¨accessibility¨ extensions to visual 
-     * interfaces to allow non-graphical access to application features.  These instances should be considered 
-     * the exception, rather than the rule.
-     */
-  interface Text : Bonobo::Unknown {
-
-    /** A structure used to define a continguous range of text, including its 
-     * (unattributed) textual content. 
-     **/
-    struct Range {
-      long startOffset;
-      long endOffset; 
-      string content;
-      any  data;
-    };
-    
-    typedef sequence<Range> RangeList;
-
-    /** The total current number of characters in the Text object, 
-     * including whitespace and non-spacing characters.  
-     **/
-    readonly attribute long characterCount;
-
-    /** The current offset of the text caret in the Text object.  
-     * This caret may be virtual, e.g. non-visual and notional-only, but if an
-     * onscreen representation of the caret position is visible, it will correspond to this offset.
-     * The caret offset is given as a character offset, as opposed to a byte offset into 
-     * a text buffer or a column offset. 
-     **/
-    readonly attribute long caretOffset;
-
-      /**
-       * Obtain all or part of the onscreen textual content of a Text object.  If endOffset is specified as 
-       * "-1", then this method will return the entire onscreen textual contents of the Text object.
-       * @note 'onscreen' in this context means "potentially onscreen", this method does not perform any sort 
-       * of coordinate visibility clipping or window-stack-ordering clipping.  The text thus reported 
-       * corresponds to the text which would be presented onscreen if the object implementing the Text interface
-       * were entirely unobscured. 
-       * @returns the textual content of the current Text object beginning startOffset (inclusive) 
-       * up to but not including the character at endOffset.
-       **/
-    string getText (in long startOffset, in long endOffset);
-
-      /** Programmatically move the text caret (visible or virtual, as above) to a given position. 
-       * @param offset a long int indicating the desired character offset.  Not all implementations of
-       * Text will honor setCaretOffset requests, so the return value below should be checked by the client.
-       * @returns \c TRUE if the request was carried out, or \c FALSE if the caret could not be moved to 
-       * the requested position.
-       **/
-    boolean setCaretOffset (in long offset);
-
-      /**
-       * Obtain a subset of the text content of an object which entirely precedes \c offset,
-       * delimited by character, word, line, or sentence boundaries as specified by \c type.  The
-       * starting and ending offsets of the resulting substring are returned in \c startOffset
-       * and \c endOffset.  By definition, if such a substring exists, \c endOffset is less than or
-       * equal to \c offset.
-       * @param offset the offset from which the substring search begins.
-       * @param type the text-boundary delimiter which determines whether the returned text constitures
-       *        a character, word, line, or sentence (and possibly attendant whitespace), 
-       *        and whether the start or ending of such a substring forms the boundary condition.
-       * @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
-       * @param endOffset back-filled with the offset of the character immediately following the resulting
-       *                  substring, if one exists.
-       * @see TEXT_BOUNDARY_TYPE
-       * @returns a string which is a substring of the text content of the object, delimited by the
-       * specified boundary condition.
-       */
-    string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
-                               out long startOffset, out long endOffset);
-      /**
-       * Obtain a subset of the text content of an object which includes the specified \c offset, 
-       * delimited by character, word, line, or sentence boundaries as specified by \c type.  The
-       * starting and ending offsets of the resulting substring are returned in \c startOffset
-       * and \c endOffset.  
-       * @param offset the offset from which the substring search begins, and which must 
-       *        lie within the returned substring.
-       * @param type the text-boundary delimiter which determines whether the returned text constitures
-       *        a character, word, line, or sentence (and possibly attendant whitespace), 
-       *        and whether the start or ending of such a substring forms the boundary condition.
-       * @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
-       * @param endOffset back-filled with the offset of the character immediately following the resulting
-       *                  substring, if one exists.
-       * @see TEXT_BOUNDARY_TYPE
-       * @returns a string which is a substring of the text content of the object, delimited by the
-       * specified boundary condition.
-       */
-    string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
-                                                       out long startOffset, out long endOffset);
-      /**
-       * Obtain a subset of the text content of an object which entirely follows \c offset,
-       * delimited by character, word, line, or sentence boundaries as specified by \c type.  The
-       * starting and ending offsets of the resulting substring are returned in \c startOffset
-       * and \c endOffset.  By definition, if such a substring exists, \c startOffset must be greater than
-       * \c offset.
-       * @param offset the offset from which the substring search begins, and which must 
-       *        lie before the returned substring.
-       * @param type the text-boundary delimiter which determines whether the returned text constitures
-       *        a character, word, line, or sentence (and possibly attendant whitespace), 
-       *        and whether the start or ending of such a substring forms the boundary condition.
-       * @param startOffset back-filled with the starting offset of the resulting substring, if one exists.
-       * @param endOffset back-filled with the offset of the character immediately following the resulting
-       *                  substring, if one exists.
-       * @see TEXT_BOUNDARY_TYPE
-       * @returns a string which is a substring of the text content of the object, delimited by the
-       * specified boundary condition.
-       */
-    string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
-                                                       out long startOffset, out long endOffset);
-      /**
-       * @returns an unsigned long integer whose value corresponds to the UCS-4 representation of the
-       * character at the specified text offset, or 0 if offset is out of range.
-       */
-    unsigned long getCharacterAtOffset (in long offset);  /* long instead of wchar, 
-                                                          * to allow unicode chars > 16 bits 
-                                                          */
-    /** 
-     * Get the string value of a named attribute at a given offset, if defined.
-     * @param offset the offset of the character for which the attribute run is to be obtained.
-     * @param attributeName the name of the attribute for which the value is to be returned, if defined.
-     * @param startOffset back-filled with the offset of the first character in the attribute run
-     * containing the character at \c offset.
-     * @param endOffset back-filled with the offset of the first character past the end of the
-     * attribute run containing the character at \c offset.
-     * @param defined back-filled with \c True if the attributeName has a defined value at \c offset,
-     * \c False otherwise.
-     * @returns the value of attribute (name-value pair) corresponding to "name", if defined. 
-     **/
-    string getAttributeValue (in long offset, in string attributeName,
-                             out long startOffset,
-                             out long endOffset,
-                             out boolean defined);
-    /** 
-     * getAttributes is deprecated in favor of getAttributeRun.
-     * @returns the attributes at offset, as a semicolon-delimited set of colon-delimited name-value pairs. 
-     * @see getAttributeRun
-     **/
-    string getAttributes (in long offset,
-                         out long startOffset, out long endOffset);
-      /** 
-       * Deprecated in favor of getDefaultAttributeSet.
-       * @returns the attributes which apply to the entire text content, but which were not explicitly
-       * specified by the content creator.
-       * @see getDefaultAttributeSet
-       **/
-    string getDefaultAttributes ();
-      /**
-       * Obtain a the bounding box, as x, y, width, and height, of the character or glyph at a particular 
-       * character offset in this object's text content.  The coordinate system in which the results are
-       * reported is specified by coordType.  If an onscreen glyph corresponds to multiple character offsets,
-       * for instance if the glyph is a ligature, the bounding box reported will include the entire glyph and
-       * therefore may apply to more than one character offset.
-       * @param offset the character offset of the character or glyph being queried.
-       * @param x the minimum horizontal coordinate of the bounding box of the glyph representing 
-       *          the character at \c offset.
-       * @param y the minimum vertical coordinate of the bounding box of the glyph representing 
-       *          the character at \c offset.
-       * @param width the horizontal extent of the bounding box of the glyph representing 
-       *          the character at \c offset.
-       * @param height the vertical extent of the bounding box of the glyph representing 
-       *          the character at \c offset.
-       * @param coordType If 0, the results will be reported in screen coordinates, i.e. in pixels
-&n