2001-08-18 Bill Haneman <bill.haneman@sun.com>
+ * Makefile.am:
+ * configure.in :
+ * cspi/Makefile.am :
+ Added makefile support for at-spi/cspi directory.
+ * cspi/spi.h :
+ * cspi/spi-impl.h :
+ * cspi/spi-listener.h : (NEW FILE)
+ Added support for/use of spi-listener.h.
+ * cspi/spi_main.c :
+ C bindings now build successfully, with no warnings.
+ * libspi/accessibleeventlistener.h : (NEW FILE)
+ * libspi/accessibleeventlistener.c : (NEW FILE)
+ * libspi/Makefile.am :
+ Added new object type "AccessibleEventListener"
+ which inherits from Listener, and allows attachment
+ of in-process callbacks (so that a client with a listening
+ object instance can add functionality to the local
+ implementation, dynamically).
+
+2001-08-18 Bill Haneman <bill.haneman@sun.com>
+
* libspi/accessible.c:
Add implementation for get_index_in_parent().
* cspi/spi.h :
-SUBDIRS=po docs idl libspi registryd test at-bridge
+SUBDIRS=po docs idl libspi registryd test at-bridge cspi
EXTRA_DIST= xml-i18n-extract.in xml-i18n-merge.in xml-i18n-update.in
AC_SUBST(LIBSPI_LIBS)
AC_SUBST(LIBSPI_CFLAGS)
+PKG_CHECK_MODULES(LIBCSPI, bonobo-activation-2.0 >= 0.9.1 libbonobo-2.0 >= 1.97.0 ORBit-2.0 >= 2.3.91 atk >= 0.2)
+AC_SUBST(LIBCSPI_LIBS)
+AC_SUBST(LIBCSPI_CFLAGS)
+
PKG_CHECK_MODULES(REGISTRYD, bonobo-activation-2.0 >= 0.9.1 libbonobo-2.0 >= 1.97.0 atk >= 0.2)
AC_SUBST(REGISTRYD_LIBS)
AC_SUBST(REGISTRYD_CFLAGS)
registryd/Accessibility_Registry.server
at-bridge/Makefile
test/Makefile
+cspi/Makefile
])
echo "AT-SPI setup:
+/*
+ * Note: this header is a private implementation header, clients of
+ * the at-spi interfaces or the C bindings in libcspi should
+ * not depend on any of the information in this file directly,
+ * as it it not intended for use as a public interface.
+ *
+ * You have been warned !
+ */
+
#ifndef _SPI_IMPL_H_
#define _SPI_IMPL_H_
-#include <orb/orbit.h>
+#include <orbit/orbit.h>
+#include "Accessibility.h"
typedef unsigned int boolean;
typedef CORBA_Object AccessibleTable;
typedef CORBA_Object AccessibleText;
typedef CORBA_Object AccessibleValue;
-typedef CORBA_Object Accessibility_Registry;
+typedef CORBA_Object AccessibilityRegistry;
#endif
--- /dev/null
+#ifndef _SPI_LISTENER_H_
+#define _SPI_LISTENER_H_
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include "accessibleeventlistener.h"
+
+/*
+ *
+ * Structure used to encapsulate event information
+ *
+ */
+
+typedef struct _AccessibleEvent {
+ Accessible *source;
+ char *type;
+ char *detail1;
+ char *detail2;
+} AccessibleEvent;
+
+/*
+ *
+ * Function prototype typedefs for Event Listener Callbacks.
+ * (see libspi/accessibleeventlistener.h for definition of VoidEventListenerCB).
+ *
+ * usage: signatures should be
+ * void (*AccessibleEventListenerCB) (AccessibleEvent *event);
+ *
+ * void (*KeystrokeListenerCB) (KeystrokeEvent *Event);
+ */
+
+typedef VoidEventListenerCB AccessibleEventListenerCB;
+typedef VoidEventListenerCB KeystrokeListenerCB;
+
+typedef struct _KeystrokeListener {
+ KeystrokeListenerCB callback;
+} KeystrokeListener;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif
/* definitions for ACCESSIBLE_STATE */
#include "spi-roletypes.h"
#include "spi-statetypes.h"
+#include "spi-listener.h"
/*
*
-/*
- *
- * Structure used to encapsulate event information
- *
- */
-
-typedef struct _AccessibleEvent {
- Accessible *source;
- char *type;
- char *detail1;
- char *detail2;
-} AccessibleEvent;
-
typedef enum _AccessibleCoordType {
COORD_TYPE_WINDOW,
COORD_TYPE_SCREEN
} AccessibleCoordType;
-/*
- *
- * Function prototype typedef for AccessibleEventListener
- *
- */
-
-typedef void (*AccessibleEventListener) (AccessibleEvent *e);
-typedef void (*KeystrokeListener) (AccessibleEvent *e);
-
-
/*
*
SPI_exit (void);
/*
+ * Event Listener creation and support.
+ */
+
+AccessibleEventListener *
+createEventListener (AccessibleEventListenerCB callback);
+
+boolean
+EventListener_addCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback);
+
+boolean
+EventListener_removeCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback);
+
+/*
*
* Global functions serviced by the registry
*
*/
boolean
-RegisterGlobalEventListener (AccessibleEventListener listener,
+RegisterGlobalEventListener (AccessibleEventListener *listener,
char *eventType);
int
-/* #include <libbonobo.h> */
+#include <libbonobo.h>
#include <stdio.h>
#include "spi.h"
static CORBA_Environment ev;
-static Accessibility_Registry registry;
+static AccessibilityRegistry registry;
Accessible *
Obj_Add (Accessible object)
SPI_init (void)
{
int argc = 0;
- CORBA_exception_init(&ev);
CORBA_Object oclient;
char *obj_id;
+ CORBA_exception_init(&ev);
+
if (!bonobo_init (&argc, NULL))
{
g_error ("Could not initialize Bonobo");
exit(0);
}
+AccessibleEventListener *
+CreateEventListener (AccessibleEventListenerCB callback)
+{
+ AccessibleEventListener *listener = accessible_event_listener_new ();
+ if (callback)
+ {
+ accessible_event_listener_add_callback (listener, callback);
+ }
+}
+
+boolean
+EventListener_addCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback)
+{
+ accessible_event_listener_add_callback (listener, callback);
+ return TRUE;
+}
+
+boolean
+EventListener_removeCallback (AccessibleEventListener *listener,
+ AccessibleEventListenerCB callback)
+{
+ accessible_event_listener_remove_callback (listener, callback);
+ return TRUE;
+}
+
/*
*
* Global functions serviced by the registry
{
Accessibility_Registry_registerGlobalEventListener (
registry,
- *listener,
+ (Accessibility_EventListener)
+ bonobo_object_corba_objref (bonobo_object (listener)),
eventType,
&ev);
Accessible
*getDesktop (int n)
{
- return Obj_Add (Accessibility_Registry_getDesktop (registry, n, &ev));
+ return Obj_Add (Accessibility_Registry_getDesktop (registry, (CORBA_short) n, &ev));
}
int
int
Accessible_ref (Accessible *obj)
{
- return Accessibility_Accessible_ref (*obj, &ev);
+ Accessibility_Accessible_ref (*obj, &ev);
+ return 0;
}
int
Accessible_unref (Accessible *obj)
{
- return Accessibility_Accessible_unref (*obj, &ev);
+ Accessibility_Accessible_unref (*obj, &ev);
+ return 0;
}
char *
int
AccessibleApplication_ref (AccessibleApplication *obj)
{
- return Accessibility_Application_ref (*obj, &ev);
+ Accessibility_Application_ref (*obj, &ev);
+ return 0;
}
int
AccessibleApplication_unref (AccessibleApplication *obj)
{
- return Accessibility_Application_unref (*obj, &ev);
+ Accessibility_Application_unref (*obj, &ev);
+ return 0;
}
char *
AccessibleApplication_getToolkitName (AccessibleApplication *obj)
{
- return Accessibility_Application__getToolkitName (*obj, &ev);
+ return Accessibility_Application__get_toolkitName (*obj, &ev);
}
char *
AccessibleApplication_getVersion (AccessibleApplication *obj)
{
- return Accessibility_Application__getVersion (*obj, &ev);
+ return Accessibility_Application__get_version (*obj, &ev);
}
long
application.h \
desktop.h \
listener.h \
+ accessibleeventlistener.h \
registry.h \
Accessibility.h
desktop.h \
listener.c \
listener.h \
+ accessibleeventlistener.c \
+ accessibleeventlistener.h \
registry.c \
registry.h \
$(IDL_OUT)
--- /dev/null
+/*
+ * 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.
+ */
+
+/*
+ * accessibleeventlistener.c: bonobo implementation of Listener.idl,
+ * with added ability to attach/remove in-process callbacks.
+ *
+ */
+
+#ifdef SPI_DEBUG
+#include <stdio.h>
+#endif
+
+#include <config.h>
+#include <bonobo/Bonobo.h>
+#include <libspi/Accessibility.h>
+
+/*
+ * This pulls the definition for the BonoboObject (GType)
+ */
+#include "accessibleeventlistener.h"
+
+/*
+ * Our parent Gtk object type
+ */
+#define PARENT_TYPE LISTENER_TYPE
+
+/*
+ * A pointer to our parent object class
+ */
+static ListenerClass *accessible_event_listener_parent_class;
+
+/*
+ * Implemented GObject::finalize
+ */
+static void
+accessible_event_listener_object_finalize (GObject *object)
+{
+#ifdef SPI_DEBUG
+ fprintf(stderr, "listener_object_finalize called\n");
+#endif
+ ((GObjectClass *) accessible_event_listener_parent_class)->finalize (object);
+}
+
+/*
+ * CORBA Accessibility::Listener::notifyEvent method implementation
+ */
+
+static void
+impl_accessible_event_notify_event (PortableServer_Servant servant,
+ const Accessibility_Event *e,
+ CORBA_Environment *ev)
+{
+
+ int n;
+ int len;
+ VoidEventListenerCB cb;
+ AccessibleEventListener *listener = ACCESSIBLE_EVENT_LISTENER (
+ bonobo_object_from_servant (servant));
+ len = g_list_length (listener->callbacks);
+
+ for (n=0; n<len; ++n)
+ {
+ cb = (VoidEventListenerCB) g_list_nth_data (listener->callbacks, n);
+ (*cb) (NULL);
+ }
+ bonobo_object_release_unref (e->target, ev);
+}
+
+static void
+accessible_event_listener_class_init (AccessibleEventListenerClass *klass)
+{
+ GObjectClass * object_class = (GObjectClass *) klass;
+ ListenerClass * listener_class = (ListenerClass *) klass;
+ POA_Accessibility_EventListener__epv *epv = &listener_class->epv;
+ accessible_event_listener_parent_class = g_type_class_ref (LISTENER_TYPE);
+
+ object_class->finalize = accessible_event_listener_object_finalize;
+
+ epv->notifyEvent = impl_accessible_event_notify_event;
+}
+
+static void
+accessible_event_listener_init (Listener *listener)
+{
+}
+
+GType
+accessible_event_listener_get_type (void)
+{
+ static GType type = 0;
+
+ if (!type) {
+ static const GTypeInfo tinfo = {
+ sizeof (AccessibleEventListenerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) accessible_event_listener_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL, /* class data */
+ sizeof (Listener),
+ 0, /* n preallocs */
+ (GInstanceInitFunc) accessible_event_listener_init,
+ NULL /* value table */
+ };
+ /*
+ * Here we use bonobo_type_unique instead of
+ * gtk_type_unique, this auto-generates a load of
+ * CORBA structures for us. All derived types must
+ * use bonobo_type_unique.
+ */
+ type = bonobo_type_unique (
+ PARENT_TYPE,
+ POA_Accessibility_EventListener__init,
+ NULL,
+ G_STRUCT_OFFSET (ListenerClass, epv),
+ &tinfo,
+ "AccessibleEventListener");
+ }
+
+ return type;
+}
+
+AccessibleEventListener *
+accessible_event_listener_new ()
+{
+ AccessibleEventListener *retval =
+ LISTENER (g_object_new (accessible_event_listener_get_type (), NULL));
+ return retval;
+}
+
+void accessible_event_listener_add_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback)
+{
+ listener->callbacks = g_list_append (listener->callbacks, listener);
+}
+
+void accessible_event_listener_remove_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback)
+{
+ listener->callbacks = g_list_remove (listener->callbacks, listener);
+}
--- /dev/null
+/*
+ * 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 ACCESSIBLE_EVENT_LISTENER_H_
+#define ACCESSIBLE_EVENT_LISTENER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include "listener.h"
+
+#define ACCESSIBLE_EVENT_LISTENER_TYPE (accessible_event_listener_get_type ())
+#define ACCESSIBLE_EVENT_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACCESSIBLE_EVENT_LISTENER_TYPE, AccessibleEventListener))
+#define ACCESSIBLE_EVENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), ACCESSIBLE_EVENT_LISTENER_TYPE, AccessibleEventListenerClass))
+#define IS_ACCESSIBLE_EVENT_LISTENER(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), ACCESSIBLE_EVENT_LISTENER_TYPE))
+#define IS_ACCESSIBLE_EVENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ACCESSIBLE_EVENT_LISTENER_TYPE))
+
+typedef void (*VoidEventListenerCB) (gpointer event_ptr);
+
+typedef struct {
+ Listener parent;
+ GList *callbacks;
+} AccessibleEventListener;
+
+typedef struct {
+ ListenerClass parent_class;
+} AccessibleEventListenerClass;
+
+GType accessible_event_listener_get_type (void);
+AccessibleEventListener *accessible_event_listener_new (void);
+void accessible_event_listener_add_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback);
+void accessible_event_listener_remove_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* ACCESSIBLE_EVENT_LISTENER_H_ */
--- /dev/null
+/*
+ * 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.
+ */
+
+/*
+ * accessibleeventlistener.c: bonobo implementation of Listener.idl,
+ * with added ability to attach/remove in-process callbacks.
+ *
+ */
+
+#ifdef SPI_DEBUG
+#include <stdio.h>
+#endif
+
+#include <config.h>
+#include <bonobo/Bonobo.h>
+#include <libspi/Accessibility.h>
+
+/*
+ * This pulls the definition for the BonoboObject (GType)
+ */
+#include "accessibleeventlistener.h"
+
+/*
+ * Our parent Gtk object type
+ */
+#define PARENT_TYPE LISTENER_TYPE
+
+/*
+ * A pointer to our parent object class
+ */
+static ListenerClass *accessible_event_listener_parent_class;
+
+/*
+ * Implemented GObject::finalize
+ */
+static void
+accessible_event_listener_object_finalize (GObject *object)
+{
+#ifdef SPI_DEBUG
+ fprintf(stderr, "listener_object_finalize called\n");
+#endif
+ ((GObjectClass *) accessible_event_listener_parent_class)->finalize (object);
+}
+
+/*
+ * CORBA Accessibility::Listener::notifyEvent method implementation
+ */
+
+static void
+impl_accessible_event_notify_event (PortableServer_Servant servant,
+ const Accessibility_Event *e,
+ CORBA_Environment *ev)
+{
+
+ int n;
+ int len;
+ VoidEventListenerCB cb;
+ AccessibleEventListener *listener = ACCESSIBLE_EVENT_LISTENER (
+ bonobo_object_from_servant (servant));
+ len = g_list_length (listener->callbacks);
+
+ for (n=0; n<len; ++n)
+ {
+ cb = (VoidEventListenerCB) g_list_nth_data (listener->callbacks, n);
+ (*cb) (NULL);
+ }
+ bonobo_object_release_unref (e->target, ev);
+}
+
+static void
+accessible_event_listener_class_init (AccessibleEventListenerClass *klass)
+{
+ GObjectClass * object_class = (GObjectClass *) klass;
+ ListenerClass * listener_class = (ListenerClass *) klass;
+ POA_Accessibility_EventListener__epv *epv = &listener_class->epv;
+ accessible_event_listener_parent_class = g_type_class_ref (LISTENER_TYPE);
+
+ object_class->finalize = accessible_event_listener_object_finalize;
+
+ epv->notifyEvent = impl_accessible_event_notify_event;
+}
+
+static void
+accessible_event_listener_init (Listener *listener)
+{
+}
+
+GType
+accessible_event_listener_get_type (void)
+{
+ static GType type = 0;
+
+ if (!type) {
+ static const GTypeInfo tinfo = {
+ sizeof (AccessibleEventListenerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) accessible_event_listener_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL, /* class data */
+ sizeof (Listener),
+ 0, /* n preallocs */
+ (GInstanceInitFunc) accessible_event_listener_init,
+ NULL /* value table */
+ };
+ /*
+ * Here we use bonobo_type_unique instead of
+ * gtk_type_unique, this auto-generates a load of
+ * CORBA structures for us. All derived types must
+ * use bonobo_type_unique.
+ */
+ type = bonobo_type_unique (
+ PARENT_TYPE,
+ POA_Accessibility_EventListener__init,
+ NULL,
+ G_STRUCT_OFFSET (ListenerClass, epv),
+ &tinfo,
+ "AccessibleEventListener");
+ }
+
+ return type;
+}
+
+AccessibleEventListener *
+accessible_event_listener_new ()
+{
+ AccessibleEventListener *retval =
+ LISTENER (g_object_new (accessible_event_listener_get_type (), NULL));
+ return retval;
+}
+
+void accessible_event_listener_add_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback)
+{
+ listener->callbacks = g_list_append (listener->callbacks, listener);
+}
+
+void accessible_event_listener_remove_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback)
+{
+ listener->callbacks = g_list_remove (listener->callbacks, listener);
+}
--- /dev/null
+/*
+ * 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 ACCESSIBLE_EVENT_LISTENER_H_
+#define ACCESSIBLE_EVENT_LISTENER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include "listener.h"
+
+#define ACCESSIBLE_EVENT_LISTENER_TYPE (accessible_event_listener_get_type ())
+#define ACCESSIBLE_EVENT_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), ACCESSIBLE_EVENT_LISTENER_TYPE, AccessibleEventListener))
+#define ACCESSIBLE_EVENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), ACCESSIBLE_EVENT_LISTENER_TYPE, AccessibleEventListenerClass))
+#define IS_ACCESSIBLE_EVENT_LISTENER(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), ACCESSIBLE_EVENT_LISTENER_TYPE))
+#define IS_ACCESSIBLE_EVENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), ACCESSIBLE_EVENT_LISTENER_TYPE))
+
+typedef void (*VoidEventListenerCB) (gpointer event_ptr);
+
+typedef struct {
+ Listener parent;
+ GList *callbacks;
+} AccessibleEventListener;
+
+typedef struct {
+ ListenerClass parent_class;
+} AccessibleEventListenerClass;
+
+GType accessible_event_listener_get_type (void);
+AccessibleEventListener *accessible_event_listener_new (void);
+void accessible_event_listener_add_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback);
+void accessible_event_listener_remove_callback (AccessibleEventListener *listener,
+ VoidEventListenerCB callback);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* ACCESSIBLE_EVENT_LISTENER_H_ */
Accessibility_Registry registry;
registry = bonobo_object_corba_objref (bonobo_object (registry_bonobo_object));
- /* for each app in each desktop, call bridge_register_toolkit_event */
+ /* for each app in each desktop, call ...Application_registerToolkitEventListener */
n_desktops = Accessibility_Registry_getDesktopCount (registry, ev);
app = (Accessibility_Application) Accessibility_Desktop_getChildAtIndex (desktop,
j,
ev);
+ /* TODO: should we be ref-ing the registry object before each call ? */
Accessibility_Application_registerToolkitEventListener (app,
registry,
CORBA_string_dup (etype->event_name),
Accessibility_Registry registry;
registry = bonobo_object_corba_objref (bonobo_object (registry_bonobo_object));
- /* for each app in each desktop, call bridge_register_toolkit_event */
+ /* for each app in each desktop, call ...Application_registerToolkitEventListener */
n_desktops = Accessibility_Registry_getDesktopCount (registry, ev);
app = (Accessibility_Application) Accessibility_Desktop_getChildAtIndex (desktop,
j,
ev);
+ /* TODO: should we be ref-ing the registry object before each call ? */
Accessibility_Application_registerToolkitEventListener (app,
registry,
CORBA_string_dup (etype->event_name),