2001-12-10 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / cspi / spi-listener-impl.h
1 #ifndef __SPI_LISTENER_IMPL_H__
2 #define __SPI_LISTENER_IMP_H__
3
4 #include <libspi/eventlistener.h>
5 #include <libspi/keystrokelistener.h>
6 #include <cspi/spi-impl.h>
7 #include <cspi/spi-listener.h>
8
9 G_BEGIN_DECLS
10
11 #define CSPI_EVENT_LISTENER_TYPE        (cspi_event_listener_get_type ())
12 #define CSPI_EVENT_LISTENER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), CSPI_EVENT_LISTENER_TYPE, CSpiEventListener))
13 #define CSPI_EVENT_LISTENER_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), CSPI_EVENT_LISTENER_TYPE, CSpiEventListenerClass))
14 #define CSPI_IS_EVENT_LISTENER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSPI_EVENT_LISTENER_TYPE))
15 #define CSPI_IS_EVENT_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSPI_EVENT_LISTENER_TYPE))
16
17 typedef struct _CSpiEventListener CSpiEventListener;
18 struct _CSpiEventListener {
19         SpiEventListener parent;
20         GList           *callbacks;
21 };
22 typedef SpiEventListenerClass CSpiEventListenerClass;
23
24 GType              cspi_event_listener_get_type        (void);
25 CSpiEventListener *cspi_event_listener_new             (void);
26 void               cspi_event_listener_add_callback    (CSpiEventListener        *listener,
27                                                         AccessibleEventListenerCB callback,
28                                                         void                     *user_data);
29 void               cspi_event_listener_remove_callback (CSpiEventListener        *listener,
30                                                         AccessibleEventListenerCB callback);
31
32 #define CSPI_KEYSTROKE_LISTENER_TYPE        (cspi_keystroke_listener_get_type ())
33 #define CSPI_KEYSTROKE_LISTENER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), CSPI_KEYSTROKE_LISTENER_TYPE, CSpiKeystrokeListener))
34 #define CSPI_KEYSTROKE_LISTENER_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), CSPI_KEYSTROKE_LISTENER_TYPE, CSpiKeystrokeListenerClass))
35 #define CSPI_IS_KEYSTROKE_LISTENER(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSPI_KEYSTROKE_LISTENER_TYPE))
36 #define CSPI_IS_KEYSTROKE_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSPI_KEYSTROKE_LISTENER_TYPE))
37
38 typedef struct _CSpiKeystrokeListener CSpiKeystrokeListener;
39 struct _CSpiKeystrokeListener {
40         SpiKeystrokeListener parent;
41         GList               *callbacks;
42 };
43 typedef SpiKeystrokeListenerClass CSpiKeystrokeListenerClass;
44
45 GType                  cspi_keystroke_listener_get_type        (void);
46 CSpiKeystrokeListener *cspi_keystroke_listener_new             (void);
47 void                   cspi_keystroke_listener_add_callback    (CSpiKeystrokeListener        *listener,
48                                                                 AccessibleKeystrokeListenerCB callback,
49                                                                 void                         *user_data);
50 void                   cspi_keystroke_listener_remove_callback (CSpiKeystrokeListener        *listener,
51                                                                 AccessibleKeystrokeListenerCB callback);
52
53 G_END_DECLS
54
55 #endif /* __SPI_LISTENER_IMPL_H__ */