Revved to 1.0.0; at-spi 1.0 is now API frozen.
[platform/core/uifw/at-spi2-atk.git] / cspi / spi.h
index b07f9d7..cc1f52d 100644 (file)
@@ -1,3 +1,25 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2001 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
 #ifndef _SPI_H
 #define _SPI_H
 
@@ -43,11 +65,15 @@ typedef enum
 
 typedef enum
 {
+  SPI_RELATION_NULL,
   SPI_RELATION_LABEL_FOR,
   SPI_RELATION_LABELED_BY,
   SPI_RELATION_CONTROLLER_FOR,
   SPI_RELATION_CONTROLLED_BY,
-  SPI_RELATION_MEMBER_OF
+  SPI_RELATION_MEMBER_OF,
+  SPI_RELATION_NODE_CHILD_OF,
+  SPI_RELATION_EXTENDED,
+  SPI_RELATION_LAST_DEFINED
 } AccessibleRelationType;
 
 
@@ -61,7 +87,8 @@ typedef enum {
   SPI_KEY_PRESS,
   SPI_KEY_RELEASE, 
   SPI_KEY_PRESSRELEASE,
-  SPI_KEY_SYM
+  SPI_KEY_SYM,
+  SPI_KEY_STRING
 } AccessibleKeySynthType;
 
 typedef enum {
@@ -195,10 +222,13 @@ SPIBoolean SPI_deregisterAccessibleKeystrokeListener (
 
 int         SPI_getDesktopCount                  (void);
 Accessible *SPI_getDesktop                       (int i);
-int         SPI_getDesktopList                   (Accessible **list);
+int         SPI_getDesktopList                   (Accessible ***desktop_list);
+void        SPI_freeDesktopList                  (Accessible  **desktop_list);
 
-SPIBoolean  SPI_generateKeyEvent                 (long int                    keyval,
+SPIBoolean  SPI_generateKeyboardEvent            (long int                    keyval,
+                                                 char                       *keystring,
                                                  AccessibleKeySynthType      synth_type);
+
 SPIBoolean  SPI_generateMouseEvent               (long int x, long int y, char *name);
 
 /* Accessible function prototypes  */
@@ -219,29 +249,31 @@ AccessibleStateSet * Accessible_getStateSet      (Accessible *obj);
 
 /* Interface query methods */
 
-SPIBoolean Accessible_isAction       (Accessible *obj);
-SPIBoolean Accessible_isApplication  (Accessible *obj);
-SPIBoolean Accessible_isComponent    (Accessible *obj);
-SPIBoolean Accessible_isEditableText (Accessible *obj);
-SPIBoolean Accessible_isHypertext    (Accessible *obj);
-SPIBoolean Accessible_isImage        (Accessible *obj);
-SPIBoolean Accessible_isSelection    (Accessible *obj);
-SPIBoolean Accessible_isTable        (Accessible *obj);
-SPIBoolean Accessible_isText         (Accessible *obj);
-SPIBoolean Accessible_isValue        (Accessible *obj);
-
-AccessibleAction *       Accessible_getAction       (Accessible *obj);
-AccessibleApplication *  Accessible_getApplication  (Accessible *obj);
-AccessibleComponent *    Accessible_getComponent    (Accessible *obj);
-AccessibleEditableText * Accessible_getEditableText (Accessible *obj);
-AccessibleHypertext *    Accessible_getHypertext    (Accessible *obj);
-AccessibleImage *        Accessible_getImage        (Accessible *obj);
-AccessibleSelection *    Accessible_getSelection    (Accessible *obj);
-AccessibleTable *        Accessible_getTable        (Accessible *obj);
-AccessibleText *         Accessible_getText         (Accessible *obj);
-AccessibleValue *        Accessible_getValue        (Accessible *obj);
-AccessibleUnknown *      Accessible_queryInterface  (Accessible *obj,
-                                                    const char *interface_name);
+SPIBoolean Accessible_isAction            (Accessible *obj);
+SPIBoolean Accessible_isApplication       (Accessible *obj);
+SPIBoolean Accessible_isComponent         (Accessible *obj);
+SPIBoolean Accessible_isEditableText      (Accessible *obj);
+SPIBoolean Accessible_isHypertext         (Accessible *obj);
+SPIBoolean Accessible_isImage             (Accessible *obj);
+SPIBoolean Accessible_isSelection         (Accessible *obj);
+SPIBoolean Accessible_isStreamableContent (Accessible *obj);
+SPIBoolean Accessible_isTable             (Accessible *obj);
+SPIBoolean Accessible_isText              (Accessible *obj);
+SPIBoolean Accessible_isValue             (Accessible *obj);
+
+AccessibleAction *            Accessible_getAction            (Accessible *obj);
+AccessibleApplication *       Accessible_getApplication       (Accessible *obj);
+AccessibleComponent *         Accessible_getComponent         (Accessible *obj);
+AccessibleEditableText *      Accessible_getEditableText      (Accessible *obj);
+AccessibleHypertext *         Accessible_getHypertext         (Accessible *obj);
+AccessibleImage *             Accessible_getImage             (Accessible *obj);
+AccessibleSelection *         Accessible_getSelection         (Accessible *obj);
+AccessibleStreamableContent * Accessible_getStreamableContent (Accessible *obj);
+AccessibleTable *             Accessible_getTable             (Accessible *obj);
+AccessibleText *              Accessible_getText              (Accessible *obj);
+AccessibleValue *             Accessible_getValue             (Accessible *obj);
+AccessibleUnknown *           Accessible_queryInterface       (Accessible *obj,
+                                                  const char *interface_name);
 
 /* AccessibleAction function prototypes  */
 
@@ -295,7 +327,7 @@ void        AccessibleComponent_getSize     (AccessibleComponent *obj,
                                             long int            *height);
 AccessibleComponentLayer
             AccessibleComponent_getLayer    (AccessibleComponent *obj);
-void        AccessibleComponent_grabFocus   (AccessibleComponent *obj);
+SPIBoolean  AccessibleComponent_grabFocus   (AccessibleComponent *obj);
 short       AccessibleComponent_getMDIZOrder(AccessibleComponent *obj);
 
 /* AccessibleEditableText function prototypes  */
@@ -476,7 +508,7 @@ AccessibleSelection_isChildSelected (AccessibleSelection *obj,
 SPIBoolean
 AccessibleSelection_selectAll (AccessibleSelection *obj);
 
-void
+SPIBoolean
 AccessibleSelection_clearSelection (AccessibleSelection *obj);
 
 
@@ -512,7 +544,24 @@ AccessibleStateSet_compare (AccessibleStateSet *obj,
 SPIBoolean
 AccessibleStateSet_isEmpty (AccessibleStateSet *obj);
 
-
+void
+AccessibleStreamableContent_ref (AccessibleStreamableContent *obj);
+void
+AccessibleStreamableContent_unref (AccessibleStreamableContent *obj);
+char **
+AccessibleStreamableContent_getContentTypes (AccessibleStreamableContent *obj);
+SPIBoolean
+AccessibleStreamableContent_open (AccessibleStreamableContent *obj,
+                                 const char *content_type);
+SPIBoolean
+AccessibleStreamableContent_seek (AccessibleStreamableContent *obj,
+                                 long int offset,
+                                 unsigned int seek_type);
+SPIBoolean
+AccessibleStreamableContent_read (AccessibleStreamableContent *obj,
+                                 void *buff,
+                                 long int nbytes,
+                                 unsigned int read_type);
 /*
  *
  * AccessibleTable function prototypes