#ifndef _SPI_H
#define _SPI_H
+#include <glib.h>
+#include <spi-common/spi-types.h>
#include <cspi/spi-impl.h>
/*
* Definitions for AccessibleRole, AccessibleState,
#include <cspi/spi-statetypes.h>
#include <cspi/spi-listener.h>
+
/*
* Auxiliary typedefs and mask definitions
*/
-#include <libspi/keymasks.h>
+#include <spi-common/keymasks.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
+ *AccessibleCollectionMatchType:
+ *
+ *@SPI_COLLECTION_MATCH_INVALID
+ *@SPI_COLLECTION_MATCH_ALL TRUE if all of the criteria are met
+ *@SPI_COLLECTION_MATCH_ANY TRUE if any of the criteria are met
+ *@SPI_COLLECTION_MATCH_NONE TRUE if none of the criteria are met
+ *@SPI_COLLECTION_MATCH_EMPTY Same as MATCH_ALL if the criteria is non-empty;
+ * for empty criteria this rule requires returned value to also have empty set.
+ *@SPI_COLLECTION_MATCH_LAST_DEFINED
+ *
+ **/
+typedef enum
+{
+ SPI_COLLECTION_MATCH_INVALID,
+ SPI_COLLECTION_MATCH_ALL,
+ SPI_COLLECTION_MATCH_ANY,
+ SPI_COLLECTION_MATCH_NONE,
+ SPI_COLLECTION_MATCH_EMPTY,
+ SPI_COLLECTION_MATCH_LAST_DEFINED
+}AccessibleCollectionMatchType;
+
+
+/**
*AccessibleTextBoundaryType:
*@SPI_TEXT_BOUNDARY_CHAR: Delimiter is the current character's bounds.
*@SPI_TEXT_BOUNDARY_CURSOR_POS: Delimiter is the current text caret position.
typedef unsigned long AccessibleKeyEventMask;
typedef unsigned long AccessibleDeviceEventMask;
-/**
- * SPIRect:
- * @x: The position of the minimum x value of the rectangle (i.e. left hand corner)
- * @y: The position of the minimum y value of the rectangle's bounds.
- * @width: Width of the rectangle in pixels.
- * @height: Height of the rectangle in pixels.
- *
- * A structure encapsulating a rectangle.
- **/
-typedef struct {
- long x;
- long y;
- long width;
- long height;
-} SPIRect;
/**
*AccessibleComponentLayer:
char **attributes;
} AccessibleAttributeSet;
+typedef struct _AccessibleRoleSet
+{
+ int len;
+ AccessibleRole *roles;
+} AccessibleRoleSet;
+
+
+
/* Basic SPI initialization and event loop function prototypes */
int SPI_init (void);
SPIBoolean Accessible_isAction (Accessible *obj);
SPIBoolean Accessible_isApplication (Accessible *obj);
+SPIBoolean Accessible_isCollection (Accessible *obj);
SPIBoolean Accessible_isComponent (Accessible *obj);
SPIBoolean Accessible_isDocument (Accessible *obj);
SPIBoolean Accessible_isEditableText (Accessible *obj);
SPIBoolean Accessible_isHypertext (Accessible *obj);
SPIBoolean Accessible_isImage (Accessible *obj);
+SPIBoolean Accessible_isMatchRule (Accessible *obj);
SPIBoolean Accessible_isSelection (Accessible *obj);
SPIBoolean Accessible_isStreamableContent (Accessible *obj);
SPIBoolean Accessible_isTable (Accessible *obj);
AccessibleAction * Accessible_getAction (Accessible *obj);
AccessibleApplication * Accessible_getApplication (Accessible *obj);
+AccessibleCollection * Accessible_getCollection (Accessible *obj);
AccessibleComponent * Accessible_getComponent (Accessible *obj);
AccessibleDocument * Accessible_getDocument (Accessible *obj);
AccessibleEditableText * Accessible_getEditableText (Accessible *obj);
AccessibleHypertext * Accessible_getHypertext (Accessible *obj);
AccessibleImage * Accessible_getImage (Accessible *obj);
+AccessibleMatchRule * Accessible_getMatchRule (Accessible *obj);
AccessibleSelection * Accessible_getSelection (Accessible *obj);
AccessibleStreamableContent * Accessible_getStreamableContent (Accessible *obj);
AccessibleTable * Accessible_getTable (Accessible *obj);
SPIBoolean AccessibleApplication_pause (AccessibleApplication *obj);
SPIBoolean AccessibleApplication_resume (AccessibleApplication *obj);
+/* AccessibleCollection function prototypes */
+void AccessibleCollection_ref (AccessibleCollection *obj);
+void AccessibleCollection_unref (AccessibleCollection *obj);
+AccessibleMatchRule *
+AccessibleCollection_createMatchRule (AccessibleCollection *obj,
+ AccessibleStateSet *states,
+ AccessibleCollectionMatchType statematchtype,
+ AccessibleAttributeSet *attributes,
+ AccessibleCollectionMatchType attributematchtype,
+ AccessibleRoleSet *roles,
+ AccessibleCollectionMatchType rolematchtype,
+ char *interfaces,
+ AccessibleCollectionMatchType interfacematchtype,
+ long int invert);
+void
+AccessibleCollection_freeMatchRule (AccessibleCollection *obj,
+ AccessibleMatchRule *matchrule);
/* AccessibleComponent function prototypes */
void AccessibleComponent_ref (AccessibleComponent *obj);
/*
*
+ * AccessibleMatchRule function prototypes
+ *
+ */
+void AccessibleMatchRule_ref (AccessibleMatchRule *obj);
+void AccessibleMatchRule_unref (AccessibleMatchRule *obj);
+
+/*
+ *
* AccessibleRelation function prototypes
*
*/