summaryrefslogtreecommitdiff
path: root/registryd/deviceeventcontroller.h
diff options
context:
space:
mode:
authormichael <michael@e2bd861d-eb25-0410-b326-f6ed22b6b98c>2002-01-11 17:00:10 +0000
committermichael <michael@e2bd861d-eb25-0410-b326-f6ed22b6b98c>2002-01-11 17:00:10 +0000
commit1fb3c4bc6ba863a4dec09c0b1097b9e6c752d766 (patch)
treed42425a69cb3e93a27094b8ad81d1597d76955ec /registryd/deviceeventcontroller.h
parent1827ea39981abc5bcc9ee60b2ec7daf4836b6798 (diff)
downloadat-spi2-core-1fb3c4bc6ba863a4dec09c0b1097b9e6c752d766.tar.gz
2002-01-11 Michael Meeks <michael@ximian.com>
* registryd/deviceeventcontroller.c (spi_device_event_controller_forward_key_event): kill XUngrabKey / XKeyGrab race. (spi_controller_grab_keyboard): rename to (spi_controller_update_key_grabs): this, and deal with incremental adding / removing grabs more sensibly. (_register_keygrab): ensure we're not pending a remove. (spi_grab_mask_free): impl. (spi_controller_register_global_keygrabs): split out common code into: (handle_keygrab): impl. (_deregister_keygrab): impl. (spi_controller_deregister_global_keygrabs): impl. (spi_controller_update_key_grabs): re-issue the grab if we just recieved a notification. * test/test-simple.c (key_listener_cb): remove debug. * registryd/deviceeventcontroller.c (spi_controller_register_device_listener): after registering a global keygrab, actualy register it ! don't wait for a timeout; doh ! * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/ to make it more readable / manipulable. s/grabmask/grab_mask/ s/refcount/ref_count/ s/keyval/key_val/ s/modmask/mod_mask 2002-01-08 Michael Meeks <michael@ximian.com> * registryd/deviceeventcontroller.c (spi_controller_register_with_devices): use gdk calls to setup a filter. (global_filter_fn): implement the filter. (spi_device_event_controller_check_key_event): rename to (spi_device_event_controller_forward_key_event): this & upd. (spi_get_display): replace with GDK_DISPLAY. * registryd/deviceeventcontroller.c (spi_controller_deregister_device_listener): unroll into (impl_deregister_keystroke_listener): here to simplify. (spi_controller_register_global_keygrabs): split cut and paste (!) out into (_register_keygrab): here, shorter & sweeter. (spi_controller_deregister_device_listener): remove. (impl_register_mouse_listener): remove, no mouse listener support in at-spi-1.0 * registryd/registry.c (_device_event_controller_hook): kill. (spi_registry_init): upd. * registryd/deviceeventcontroller.c (spi_device_event_controller_class_init): upd. (spi_check_key_event): merge into. (spi_device_event_controller_check_key_event): here and kill strange static ev init, don't leak the x_event - nor dynamicaly allocate it. * registryd/registry-main.c (main): re-direct timeout to remove strange vtable mess. * registryd/deviceeventcontroller.c (remove_listener_cb): impl. (spi_controller_deregister_device_listener): fix re-enterancy hazard. 2002-01-07 Michael Meeks <michael@ximian.com> * registryd/deviceeventcontroller.c (spi_device_event_controller_new): upd. (impl_notify_listeners_sync): upd. debug. (spi_notify_keylisteners): fix re-enterancy hazards, prettify, remove O(n*n) iteration. (spi_controller_grab_keyboard): fix iteration. (spi_check_key_event): re-format to suit coding style. Clean all the warnings - we're warning free. * registryd/deviceeventcontroller.h: * registryd/registry.h: make mutualy referential with typesafe forward references instead of (!) void pointer hacks. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@219 e2bd861d-eb25-0410-b326-f6ed22b6b98c
Diffstat (limited to 'registryd/deviceeventcontroller.h')
-rw-r--r--registryd/deviceeventcontroller.h32
1 files changed, 18 insertions, 14 deletions
diff --git a/registryd/deviceeventcontroller.h b/registryd/deviceeventcontroller.h
index a9430631..8431193a 100644
--- a/registryd/deviceeventcontroller.h
+++ b/registryd/deviceeventcontroller.h
@@ -27,32 +27,36 @@
#include <libspi/Accessibility.h>
#include <libspi/keystrokelistener.h>
+typedef struct _SpiDEController SpiDEController;
+
+#include "registry.h"
+
G_BEGIN_DECLS
#define SPI_DEVICE_EVENT_CONTROLLER_TYPE (spi_device_event_controller_get_type ())
-#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDeviceEventController))
-#define SPI_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDeviceEventControllerClass))
+#define SPI_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEController))
+#define SPI_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEControllerClass))
#define SPI_IS_DEVICE_EVENT_CONTROLLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SPI_DEVICE_EVENT_CONTROLLER_TYPE))
#define SPI_IS_DEVICE_EVENT_CONTROLLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), SPI_DEVICE_EVENT_CONTROLLER_TYPE))
-#define SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDeviceEventControllerClass))
+#define SPI_DEVICE_EVENT_CONTROLLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SPI_DEVICE_EVENT_CONTROLLER_TYPE, SpiDEControllerClass))
-typedef struct {
+struct _SpiDEController {
BonoboObject parent;
- void *registry;
- GList *key_listeners;
- GList *mouse_listeners;
- GList *keygrabs_list;
-} SpiDeviceEventController;
+
+ SpiRegistry *registry;
+ GList *key_listeners;
+ GList *mouse_listeners;
+ GList *keygrabs_list;
+};
typedef struct {
BonoboObjectClass parent_class;
+
POA_Accessibility_DeviceEventController__epv epv;
- gboolean (*check_key_event) (SpiDeviceEventController *controller);
-} SpiDeviceEventControllerClass;
+} SpiDEControllerClass;
-GType spi_device_event_controller_get_type (void);
-SpiDeviceEventController *spi_device_event_controller_new (void *registry);
-gboolean spi_device_event_controller_check_key_event (SpiDeviceEventController *controller);
+GType spi_device_event_controller_get_type (void);
+SpiDEController *spi_device_event_controller_new (SpiRegistry *registry);
G_END_DECLS