#ifndef SPI_REGISTRY_H_
#define SPI_REGISTRY_H_
-#include <glib/gmain.h>
-#include <gdk/gdk.h>
-#include <libspi/listener.h>
+#include <glib.h>
+#include <glib-object.h>
+
+#include <dbus/dbus.h>
typedef struct _SpiRegistry SpiRegistry;
+typedef struct _SpiRegistryClass SpiRegistryClass;
-#include "desktop.h"
#include "deviceeventcontroller.h"
G_BEGIN_DECLS
#define SPI_IS_REGISTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_REGISTRY_TYPE))
struct _SpiRegistry {
- SpiListener parent;
+ GObject parent;
+ SpiDEController *dec;
+ GPtrArray *apps;
+ dbus_int32_t id;
- GList *object_listeners;
- GList *window_listeners;
- GList *toolkit_listeners;
- GQueue *deferred_event_queue;
- gboolean is_queueing;
- guint exit_notify_timeout;
- guint queue_handler_id;
- Bonobo_Unknown focus_object;
- SpiDEController *de_controller;
- SpiDesktop *desktop;
+ DBusConnection *bus;
+ GList *events;
};
-typedef struct {
- SpiListenerClass parent_class;
-
- POA_Accessibility_Registry__epv epv;
-} SpiRegistryClass;
+struct _SpiRegistryClass {
+ GObjectClass parent_class;
+};
GType spi_registry_get_type (void);
-SpiRegistry *spi_registry_new (void);
+SpiRegistry *spi_registry_new (DBusConnection *bus);
G_END_DECLS