* 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
#ifndef SPI_REGISTRY_H_
#define SPI_REGISTRY_H_
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
#include <glib/gmain.h>
-#include <libspi/Accessibility.h>
-#include "listener.h"
+#include <gdk/gdk.h>
+#include <libspi/listener.h>
+
+typedef struct _SpiRegistry SpiRegistry;
+
#include "desktop.h"
#include "deviceeventcontroller.h"
+G_BEGIN_DECLS
+
#define SPI_REGISTRY_TYPE (spi_registry_get_type ())
#define SPI_REGISTRY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_REGISTRY_TYPE, SpiRegistry))
#define SPI_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_REGISTRY_TYPE, SpiRegistryClass))
-#define IS_SPI_REGISTRY(o) (G_TYPE_CHECK__INSTANCE_TYPE ((o), SPI_REGISTRY_TYPE))
-#define IS_SPI_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_REGISTRY_TYPE))
+#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;
- GList *applications;
- SpiDeviceEventController *device_event_controller;
- SpiDesktop *desktop;
- gboolean (*kbd_event_hook) (gpointer source);
-} SpiRegistry;
+struct _SpiRegistry {
+ SpiListener parent;
+
+ GList *object_listeners;
+ GList *window_listeners;
+ GList *toolkit_listeners;
+ GQueue *deferred_event_queue;
+ gboolean is_queueing;
+ guint exit_notify_timeout;
+ SpiDEController *de_controller;
+ SpiDesktop *desktop;
+};
typedef struct {
- SpiListenerClass parent_class;
- POA_Accessibility_SpiRegistry__epv epv;
+ SpiListenerClass parent_class;
+
+ POA_Accessibility_Registry__epv epv;
} SpiRegistryClass;
-GType spi_registry_get_type (void);
-SpiRegistry *spi_registry_new (void);
+GType spi_registry_get_type (void);
+SpiRegistry *spi_registry_new (void);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* SPI_REGISTRY_H_ */