#ifndef SPI_REGISTRY_H_
#define SPI_REGISTRY_H_
-#include <glib/gmain.h>
-#include <droute/droute.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
struct _SpiRegistry {
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;
- char *focus_object_bus;
- char *focus_object_path;
- SpiDEController *de_controller;
- SpiDesktop *desktop;
- DRouteData droute;
+ DBusConnection *bus;
+ GList *events;
};
-typedef struct {
+struct _SpiRegistryClass {
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, ...);
+SpiRegistry *spi_registry_new (DBusConnection *bus);
-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_ */