summaryrefslogtreecommitdiff
path: root/atspi/atspi-types.h
diff options
context:
space:
mode:
authorMike Gorse <mgorse@novell.com>2010-11-16 06:14:25 -0500
committerMike Gorse <mgorse@novell.com>2010-11-17 07:29:52 -0500
commit56b5b8e5721d2f2ef427e107d5e3bee8dcf69457 (patch)
tree50745606f7542734919d3747b6af61df273c0650 /atspi/atspi-types.h
parentacfcea02b3d24e20ed9b6276cd1861774e01fa4b (diff)
downloadat-spi2-core-56b5b8e5721d2f2ef427e107d5e3bee8dcf69457.tar.gz
Various component fixes, and fix dbind_method_call_reentrant_va
Diffstat (limited to 'atspi/atspi-types.h')
-rw-r--r--atspi/atspi-types.h108
1 files changed, 107 insertions, 1 deletions
diff --git a/atspi/atspi-types.h b/atspi/atspi-types.h
index fba3adb5..076019ed 100644
--- a/atspi/atspi-types.h
+++ b/atspi/atspi-types.h
@@ -27,8 +27,9 @@
#include "glib-object.h"
-#include "atspi-event-types.h"
+#include "atspi-constants.h"
+typedef struct _AtspiAccessible AtspiAccessible;
typedef struct _AtspiAccessible AtspiAction;
typedef struct _AtspiAccessible AtspiCollection;
typedef struct _AtspiComponent AtspiComponent;
@@ -39,4 +40,109 @@ typedef struct _AtspiAccessible AtspiSelection;
typedef struct _AtspiAccessible AtspiTable;
typedef struct _AtspiAccessible AtspiText;
typedef struct _AtspiAccessible AtspiValue;
+
+typedef guint AtspiControllerEventMask;
+
+typedef guint AtspiKeyMaskType;
+
+typedef guint AtspiKeyEventMask;
+typedef guint AtspiDeviceEventMask;
+
+// TODO: auto-generate the below structs
+typedef struct _AtspiDeviceEvent AtspiDeviceEvent;
+struct _AtspiDeviceEvent
+{
+ AtspiEventType type;
+ guint id;
+ gushort hw_code;
+ gushort modifiers;
+ guint timestamp;
+ gchar * event_string;
+ gboolean is_text;
+};
+
+typedef struct _AtspiEventListenerMode AtspiEventListenerMode;
+struct _AtspiEventListenerMode
+{
+ gboolean synchronous;
+ gboolean preemptive;
+ gboolean global;
+};
+
+typedef struct _AtspiKeyDefinition AtspiKeyDefinition;
+struct _AtspiKeyDefinition
+{
+ gint keycode;
+ gint keysym;
+ gchar *keystring;
+ gint unused;
+};
+
+typedef struct _AtspiEvent AtspiEvent;
+struct _AtspiEvent
+{
+ gchar *type;
+ AtspiAccessible *source;
+ gint detail1;
+ gint detail2;
+ GValue any_data;
+};
+
+/**
+ * ATSPI_TYPE_RECT:
+ *
+ * The #GType for a boxed type holding a #AtspiEvent.
+ */
+#define ATSPI_TYPE_EVENT (atspi_event_get_type ())
+
+typedef void AtspiKeystrokeListener;
+
+/**
+ * AtspiKeySet:
+ * @keysyms:
+ * @keycodes:
+ * @len:
+ *
+ * Structure containing identifying information about a set of keycode or
+ * keysyms.
+ **/
+typedef struct _AtspiKeySet
+{
+ guint *keysyms;
+ gushort *keycodes;
+ gchar **keystrings;
+ gshort len;
+} AtspiKeySet;
+
+/**
+ *AtspiKeyListenerSyncType:
+ *@SPI_KEYLISTENER_NOSYNC: Events may be delivered asynchronously,
+ * which means in some cases they may already have been delivered to the
+ * application before the AT client receives the notification.
+ *@SPI_KEYLISTENER_SYNCHRONOUS: Events are delivered synchronously, before the
+ * currently focussed application sees them.
+ *@ATSPI_KEYLISTENER_CANCONSUME: Events may be consumed by the AT client. Presumes and
+ * requires #ATSPI_KEYLISTENER_SYNCHRONOUS, incompatible with #ATSPI_KEYLISTENER_NOSYNC.
+ *@SPI_KEYLISTENER_ALL_WINDOWS: Events are received not from the application toolkit layer, but
+ * from the device driver or windowing system subsystem; such notifications are 'global' in the
+ * sense that they are not broken or defeated by applications that participate poorly
+ * in the accessibility APIs, or not at all; however because of the intrusive nature of
+ * such snooping, it can have side-effects on certain older platforms. If unconditional
+ * event notifications, even when inaccessible or "broken" applications have focus, are not
+ * required, it may be best to avoid this enum value/flag.
+ *
+ *Specified the tyupe of a key listener event.
+ * Certain of the values above can and should be bitwise-'OR'ed
+ * together, observing the compatibility limitations specified in the description of
+ * each value. For instance, #ATSPI_KEYLISTENER_ALL_WINDOWS | #ATSPI_KEYLISTENER_CANCONSUME is
+ * a commonly used combination which gives the AT complete control over the delivery of matching
+ * events. However, such filters should be used sparingly as they may have a negative impact on
+ * system performance.
+ **/
+typedef enum {
+ ATSPI_KEYLISTENER_NOSYNC = 0,
+ ATSPI_KEYLISTENER_SYNCHRONOUS = 1,
+ ATSPI_KEYLISTENER_CANCONSUME = 2,
+ ATSPI_KEYLISTENER_ALL_WINDOWS = 4
+} AtspiKeyListenerSyncType;
#endif /* _ATSPI_TYPES_H_ */