* AT-SPI - Assistive Technology Service Provider Interface
* (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
*
- * Copyright 2001 Sun Microsystems Inc.
+ * Copyright 2001, 2002 Sun Microsystems Inc.,
+ * Copyright 2001, 2002 Ximian, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
#define SPI_REGISTRY_H_
#include <glib/gmain.h>
-#include <libspi/listener.h>
+#include <droute/droute.h>
+
+typedef struct _SpiRegistry SpiRegistry;
#include "desktop.h"
#include "deviceeventcontroller.h"
#define SPI_IS_REGISTRY(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_REGISTRY_TYPE))
#define SPI_IS_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_REGISTRY_TYPE))
-typedef struct {
- SpiListener parent;
- GList *object_listeners;
- GList *window_listeners;
- GList *toolkit_listeners;
- SpiDeviceEventController *device_event_controller;
- SpiDesktop *desktop;
- gboolean (*kbd_event_hook) (gpointer source);
-} SpiRegistry;
+struct _SpiRegistry {
+ GObject parent;
+
+ GList *object_listeners;
+ GList *window_listeners;
+ GList *toolkit_listeners;
+ GQueue *deferred_event_queue;
+ gboolean is_queueing;
+ guint exit_notify_timeout;
+ guint queue_handler_id;
+ char *focus_object_bus;
+ char *focus_object_path;
+ SpiDEController *de_controller;
+ SpiDesktop *desktop;
+ DRouteData droute;
+};
typedef struct {
- SpiListenerClass parent_class;
- POA_Accessibility_Registry__epv epv;
+ GObjectClass parent_class;
} SpiRegistryClass;
GType spi_registry_get_type (void);
SpiRegistry *spi_registry_new (void);
+void spi_registry_emit(SpiRegistry *registry, const char *name, int first_arg_type, ...);
+
+void spi_registry_initialize_registry_interface (DRouteData * data);
+void spi_registry_initialize_dec_interface (DRouteData * data);
+void spi_registry_initialize_desktop_interface (DRouteData * data);
G_END_DECLS
#endif /* SPI_REGISTRY_H_ */