-/* Our parent GObject type */
-#define PARENT_TYPE SPI_LISTENER_TYPE
-
-/* A pointer to our parent object class */
-static SpiListenerClass *spi_registry_parent_class;
-
-typedef enum {
- ETYPE_FOCUS,
- ETYPE_OBJECT,
- ETYPE_PROPERTY,
- ETYPE_WINDOW,
- ETYPE_TOOLKIT,
- ETYPE_KEYBOARD,
-
- ETYPE_LAST_DEFINED
-} EventTypeCategory;
-
-typedef struct {
- char *event_name;
- EventTypeCategory type_cat;
- GQuark major; /* from string segment[1] */
- GQuark minor; /* from string segment[1]+segment[2] */
- GQuark detail; /* from string segment[3] (not concatenated) */
-} EventTypeStruct;
-
-typedef struct {
- Accessibility_EventListener listener;
- GQuark event_type_quark;
- EventTypeCategory event_type_cat;
-} SpiListenerStruct;
-
-/* static function prototypes */
-static void _registry_notify_listeners (GList *listeners,
- const Accessibility_Event *e,
- CORBA_Environment *ev);
-
-static long _get_unique_id();
-
-static gboolean _device_event_controller_hook (gpointer source);
-
-SpiListenerStruct *
-spi_listener_struct_new (Accessibility_EventListener listener, CORBA_Environment *ev)