[gtk/docs-gtk-org] Add the AT-SPI2 reference



commit e7617b10fffa2347a993bf2f8772ca3d0288d42b
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Thu Aug 19 17:05:30 2021 +0100

    Add the AT-SPI2 reference
    
    The AT-SPI2 API is still in use for consumers of the accessibility
    stack.

 .gitlab-ci.yml            |     1 +
 README.md                 |    21 +-
 atk/atspi2/Atspi-2.0.gir  | 11937 ++++++++++++++++++++++++++++++++++++++++++++
 atk/atspi2/atspi2.toml.in |    31 +
 atk/atspi2/meson.build    |    22 +
 atk/atspi2/urlmap.js      |    16 +
 meson.build               |     1 +
 7 files changed, 12022 insertions(+), 7 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f41b999453..106fc86650 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,6 +21,7 @@ reference:
     - mv _build/gtk3/gdk/gdk3-x11/ docs/gdk3-x11/
     - mv _build/gtk3/gtk/gtk3/ docs/gtk3/
     - mv _build/atk/atk/atk/ docs/atk/
+    - mv _build/atk/atspi2/atspi2/ docs/atspi2/
   artifacts:
     paths:
       - docs
diff --git a/README.md b/README.md
index e8e8d6b785..6c0f58d22e 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,9 @@ Contents
 
 ```
 .
+├── atk
+│   ├── atk
+│   └── atspi2
 ├── glib
 │   ├── gio
 │   ├── glib
@@ -23,6 +26,9 @@ Contents
 
 The landing page is store inside the [`static`](./static) directory.
 
+The [`atk`](./atk) directory contains the introspection data and gi-docgen
+project files for ATK and AT-SPI2.
+
 The [`glib`](./glib) directory contains the introspection data and gi-docgen
 project files for GLib, GObject, and GIO.
 
@@ -53,16 +59,17 @@ The CI pipeline for the `docs-gtk-org` branch will:
  - extract the various API references
  - run gi-docgen on the introspection data of the following projects:
    - glib
+   - atk
    - gtk3
  - publish the static landing page
  - publish all the API references
 
- Notes
- -----
+Notes
+-----
 
- The token for the pipeline trigger is stored in the `PAGES_TRIGGER_TOKEN`
- environment variable, which is exposed to the CI pipelines of the GTK
- project.
+The token for the pipeline trigger is stored in the `PAGES_TRIGGER_TOKEN`
+environment variable, which is exposed to the CI pipelines of the GTK
+project.
 
- Only the `docs-gtk-org` branch can publish the contents of the docs.gtk.org
- website.
+Only the `docs-gtk-org` branch can publish the contents of the docs.gtk.org
+website.
diff --git a/atk/atspi2/Atspi-2.0.gir b/atk/atspi2/Atspi-2.0.gir
new file mode 100644
index 0000000000..f139eb667d
--- /dev/null
+++ b/atk/atspi2/Atspi-2.0.gir
@@ -0,0 +1,11937 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations.  -->
+<repository version="1.2"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0";>
+  <include name="DBus" version="1.0"/>
+  <include name="GLib" version="2.0"/>
+  <include name="GObject" version="2.0"/>
+  <package name="atspi-2"/>
+  <c:include name="atspi/atspi.h"/>
+  <namespace name="Atspi"
+             version="2.0"
+             shared-library="libatspi.so.0"
+             c:identifier-prefixes="Atspi"
+             c:symbol-prefixes="atspi">
+    <alias name="ControllerEventMask" c:type="AtspiControllerEventMask">
+      <source-position filename="../atspi/atspi-types.h" line="47"/>
+      <type name="guint" c:type="guint"/>
+    </alias>
+    <alias name="DeviceEventMask" c:type="AtspiDeviceEventMask">
+      <source-position filename="../atspi/atspi-types.h" line="52"/>
+      <type name="guint" c:type="guint"/>
+    </alias>
+    <alias name="KeyEventMask" c:type="AtspiKeyEventMask">
+      <source-position filename="../atspi/atspi-types.h" line="51"/>
+      <type name="guint" c:type="guint"/>
+    </alias>
+    <alias name="KeyMaskType" c:type="AtspiKeyMaskType">
+      <source-position filename="../atspi/atspi-types.h" line="49"/>
+      <type name="guint" c:type="guint"/>
+    </alias>
+    <alias name="KeystrokeListener" c:type="AtspiKeystrokeListener">
+      <source-position filename="../atspi/atspi-types.h" line="109"/>
+      <type name="none" c:type="void"/>
+    </alias>
+    <function-macro name="ACCESSIBLE"
+                    c:identifier="ATSPI_ACCESSIBLE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-accessible.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="ACCESSIBLE_CLASS"
+                    c:identifier="ATSPI_ACCESSIBLE_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-accessible.h" line="41"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="ACCESSIBLE_GET_CLASS"
+                    c:identifier="ATSPI_ACCESSIBLE_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-accessible.h" line="44"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="ACTION"
+                    c:identifier="ATSPI_ACTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-action.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="ACTION_GET_IFACE"
+                    c:identifier="ATSPI_ACTION_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-action.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="APPLICATION"
+                    c:identifier="ATSPI_APPLICATION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-application.h" line="37"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="APPLICATION_CLASS"
+                    c:identifier="ATSPI_APPLICATION_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-application.h" line="38"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="APPLICATION_GET_CLASS"
+                    c:identifier="ATSPI_APPLICATION_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-application.h" line="41"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <class name="Accessible"
+           c:symbol-prefix="accessible"
+           c:type="AtspiAccessible"
+           parent="Object"
+           glib:type-name="AtspiAccessible"
+           glib:get-type="atspi_accessible_get_type"
+           glib:type-struct="AccessibleClass">
+      <source-position filename="../atspi/atspi-accessible.h" line="69"/>
+      <implements name="Action"/>
+      <implements name="Collection"/>
+      <implements name="Component"/>
+      <implements name="Document"/>
+      <implements name="EditableText"/>
+      <implements name="Hypertext"/>
+      <implements name="Image"/>
+      <implements name="Selection"/>
+      <implements name="Table"/>
+      <implements name="TableCell"/>
+      <implements name="Text"/>
+      <implements name="Value"/>
+      <virtual-method name="region_changed">
+        <source-position filename="../atspi/atspi-accessible.h" line="68"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="accessible" transfer-ownership="none">
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+          <parameter name="current_offset" transfer-ownership="none">
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="last_offset" transfer-ownership="none">
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <method name="clear_cache" c:identifier="atspi_accessible_clear_cache">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1714">Clears the cached information for the given accessible and all of its
+descendants.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="168"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1716">The #AtspiAccessible whose cache to clear.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_accessible_id"
+              c:identifier="atspi_accessible_get_accessible_id"
+              version="2.34"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1860">Gets the accessible id of the accessible.  This is not meant to be presented
+to the user, but to be an id which is stable over application development.
+Typically, this is the gtkbuilder id.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="172"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1870">a character string representing the accessible id of the
+#AtspiAccessible object or NULL on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1862">an #AtspiAccessible</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_action"
+              c:identifier="atspi_accessible_get_action"
+              shadows="get_action_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1195">Gets the #AtspiAction interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_action_iface instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="113"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1201">a pointer to an #AtspiAction interface
+         instance, or NULL if @obj does not implement #AtspiAction.</doc>
+          <type name="Action" c:type="AtspiAction*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1197">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_action_iface"
+              c:identifier="atspi_accessible_get_action_iface"
+              shadowed-by="get_action">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1213">Gets the #AtspiAction interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="140"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1219">a pointer to an #AtspiAction interface
+         instance, or NULL if @obj does not implement #AtspiAction.</doc>
+          <type name="Action" c:type="AtspiAction*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1215">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_application"
+              c:identifier="atspi_accessible_get_application"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="762">Gets the containing #AtspiApplication for an object.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="110"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="768">the containing #AtspiApplication instance for
+         this object.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="764">The #AtspiAccessible being queried.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_atspi_version"
+              c:identifier="atspi_accessible_get_atspi_version"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="857">Gets the AT-SPI IPC specification version supported by the application
+pointed to by the #AtspiAccessible object.
+Only works on application root objects.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="106"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="865">a UTF-8 string indicating the AT-SPI version for the #AtspiAccessible object or 
NULL on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="859">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_attributes"
+              c:identifier="atspi_accessible_get_attributes"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="680">Gets the #AttributeSet representing any assigned
+name-value pair attributes or annotations for this object.
+For typographic, textual, or textually-semantic attributes, see
+atspi_text_get_attributes instead.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="98"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="689">The name-value-pair
+attributes assigned to this object.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="682">The #AtspiAccessible being queried.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_attributes_as_array"
+              c:identifier="atspi_accessible_get_attributes_as_array"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="727">Gets a #GArray representing any assigned
+name-value pair attributes or annotations for this object.
+For typographic, textual, or textually-semantic attributes, see
+atspi_text_get_attributes_as_array instead.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="100"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="736">The name-value-pair
+         attributes assigned to this object.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="utf8"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="729">The #AtspiAccessible being queried.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_child_at_index"
+              c:identifier="atspi_accessible_get_child_at_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="425">Gets the #AtspiAccessible child of an #AtspiAccessible object at a given index.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="84"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="432">a pointer to the #AtspiAccessible child object at
+index @child_index or NULL on exception.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="427">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+          <parameter name="child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="428">a #long indicating which child is specified.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_child_count"
+              c:identifier="atspi_accessible_get_child_count"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="395">Gets the number of children contained by an #AtspiAccessible object.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="82"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="401">a #long indicating the number of #AtspiAccessible children
+         contained by an #AtspiAccessible object or -1 on exception.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="397">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_collection"
+              c:identifier="atspi_accessible_get_collection"
+              shadows="get_collection_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1229">Gets the #AtspiCollection interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_collection_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="115"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1235">a pointer to an #AtspiCollection interface
+         instance, or NULL if @obj does not implement #AtspiCollection.</doc>
+          <type name="Collection" c:type="AtspiCollection*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1231">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_collection_iface"
+              c:identifier="atspi_accessible_get_collection_iface"
+              shadowed-by="get_collection">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1247">Gets the #AtspiCollection interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="142"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1253">a pointer to an #AtspiCollection interface
+         instance, or NULL if @obj does not implement #AtspiCollection.</doc>
+          <type name="Collection" c:type="AtspiCollection*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1249">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_component"
+              c:identifier="atspi_accessible_get_component"
+              shadows="get_component_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1263">Gets the #AtspiComponent interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_component_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="117"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1269">a pointer to an #AtspiComponent interface
+         instance, or NULL if @obj does not implement #AtspiComponent.</doc>
+          <type name="Component" c:type="AtspiComponent*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1265">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_component_iface"
+              c:identifier="atspi_accessible_get_component_iface"
+              shadowed-by="get_component">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1281">Gets the #AtspiComponent interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="144"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1287">a pointer to an #AtspiComponent interface
+         instance, or NULL if @obj does not implement #AtspiComponent.</doc>
+          <type name="Component" c:type="AtspiComponent*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1283">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_description"
+              c:identifier="atspi_accessible_get_description"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="318">Gets the description of an #AtspiAccessible object.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="78"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="324">a UTF-8 string describing the #AtspiAccessible object
+or NULL on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="320">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_document"
+              c:identifier="atspi_accessible_get_document"
+              shadows="get_document_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1297">Gets the #AtspiDocument interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_document_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="119"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1303">a pointer to an #AtspiDocument interface
+         instance, or NULL if @obj does not implement #AtspiDocument.</doc>
+          <type name="Document" c:type="AtspiDocument*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1299">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_document_iface"
+              c:identifier="atspi_accessible_get_document_iface"
+              shadowed-by="get_document">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1315">Gets the #AtspiDocument interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="146"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1321">a pointer to an #AtspiDocument interface
+         instance, or NULL if @obj does not implement #AtspiDocument.</doc>
+          <type name="Document" c:type="AtspiDocument*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1317">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_editable_text"
+              c:identifier="atspi_accessible_get_editable_text"
+              shadows="get_editable_text_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1331">Gets the #AtspiEditableText interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_editable_text_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="121"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1337">a pointer to an #AtspiEditableText interface
+         instance, or NULL if @obj does not implement #AtspiEditableText.</doc>
+          <type name="EditableText" c:type="AtspiEditableText*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1333">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_editable_text_iface"
+              c:identifier="atspi_accessible_get_editable_text_iface"
+              shadowed-by="get_editable_text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1349">Gets the #AtspiEditableText interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="148"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1355">a pointer to an #AtspiEditableText interface
+         instance, or NULL if @obj does not implement #AtspiEditableText.</doc>
+          <type name="EditableText" c:type="AtspiEditableText*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1351">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_hyperlink"
+              c:identifier="atspi_accessible_get_hyperlink">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1365">Gets the #AtspiHyperlink interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="123"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1371">the #AtspiHyperlink object associated with
+         the given #AtspiAccessible, or NULL if not supported.</doc>
+          <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1367">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_hypertext"
+              c:identifier="atspi_accessible_get_hypertext"
+              shadows="get_hypertext_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1381">Gets the #AtspiHypertext interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_hypertext_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="125"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1387">a pointer to an #AtspiHypertext interface
+         instance, or NULL if @obj does not implement #AtspiHypertext.</doc>
+          <type name="Hypertext" c:type="AtspiHypertext*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1383">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_hypertext_iface"
+              c:identifier="atspi_accessible_get_hypertext_iface"
+              shadowed-by="get_hypertext">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1399">Gets the #AtspiHypertext interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="150"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1405">a pointer to an #AtspiHypertext interface
+         instance, or NULL if @obj does not implement #AtspiHypertext.</doc>
+          <type name="Hypertext" c:type="AtspiHypertext*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1401">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_id" c:identifier="atspi_accessible_get_id" throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="882">Gets the application id for a #AtspiAccessible object.
+Only works on application root objects.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="108"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="889">a positive #gint indicating the id for the #AtspiAccessible object
+or -1 on exception.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="884">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_image"
+              c:identifier="atspi_accessible_get_image"
+              shadows="get_image_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1415">Gets the #AtspiImage interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_image_iface instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="127"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1421">a pointer to an #AtspiImage interface instance, or
+         NULL if @obj does not implement #AtspiImage.</doc>
+          <type name="Image" c:type="AtspiImage*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1417">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_image_iface"
+              c:identifier="atspi_accessible_get_image_iface"
+              shadowed-by="get_image">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1433">Gets the #AtspiImage interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="152"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1439">a pointer to an #AtspiImage interface instance, or
+         NULL if @obj does not implement #AtspiImage.</doc>
+          <type name="Image" c:type="AtspiImage*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1435">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_index_in_parent"
+              c:identifier="atspi_accessible_get_index_in_parent"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="471">Gets the index of an #AtspiAccessible object within its parent's
+#AtspiAccessible children list.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="86"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="478">a #glong indicating the index of the #AtspiAccessible object
+         in its parent,
+         or -1 if @obj has no containing parent or on exception.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="473">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_interfaces"
+              c:identifier="atspi_accessible_get_interfaces">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1628">A set of pointers to all interfaces supported by an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="162"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1634">A #GArray of strings
+         describing the interfaces supported by the object.  Interfaces are
+         denoted in short-hand (i.e. "Component", "Text" etc.).</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="utf8"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1630">The #AtspiAccessible to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_localized_role_name"
+              c:identifier="atspi_accessible_get_localized_role_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="612">Gets a UTF-8 string corresponding to the name of the role played by an
+object, translated to the current locale.
+This method will return useful values for roles that fall outside the
+enumeration used in atspi_accessible_getRole ().</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="94"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="621">a localized, UTF-8 string specifying the type of UI role played
+by an #AtspiAccessible object.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="614">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_name"
+              c:identifier="atspi_accessible_get_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="295">Gets the name of an #AtspiAccessible object.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="76"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="301">a UTF-8 string indicating the name of the #AtspiAccessible object
+or NULL on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="297">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_object_locale"
+              c:identifier="atspi_accessible_get_object_locale"
+              throws="1">
+        <source-position filename="../atspi/atspi-accessible.h" line="164"/>
+        <return-value transfer-ownership="none">
+          <type name="utf8" c:type="const gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="accessible" transfer-ownership="none">
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_parent"
+              c:identifier="atspi_accessible_get_parent"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="345">Gets an #AtspiAccessible object's parent container.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="80"/>
+        <return-value transfer-ownership="full" nullable="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="351">a pointer to the
+         #AtspiAccessible object which contains the given
+         #AtspiAccessible instance, or NULL if the @obj has no
+         parent container.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="347">a pointer to the #AtspiAccessible object to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_process_id"
+              c:identifier="atspi_accessible_get_process_id"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1735">Returns the process id associated with the given accessible.  Mainly
+added for debugging; it is a shortcut to explicitly querying the
+accessible's app-&gt;bus_name and then calling GetConnectionUnixProcessID.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="170"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1744">The process ID or undetermined value if @error is set.</doc>
+          <type name="guint" c:type="guint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="accessible" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1737">The #AtspiAccessible to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_relation_set"
+              c:identifier="atspi_accessible_get_relation_set"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="514">Gets the set of #AtspiRelation objects which describes this #AtspiAccessible object's
+relationships with other #AtspiAccessible objects.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="88"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="521">a #GArray of
+         #AtspiRelation pointers or NULL on exception.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="Relation"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="516">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_role"
+              c:identifier="atspi_accessible_get_role"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="552">Gets the UI role played by an #AtspiAccessible object.
+This role's name can be obtained via atspi_accessible_get_role_name ().</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="90"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="559">the #AtspiRole of an #AtspiAccessible object.</doc>
+          <type name="Role" c:type="AtspiRole"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="554">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_role_name"
+              c:identifier="atspi_accessible_get_role_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="580">Gets a UTF-8 string corresponding to the name of the role played by an object.
+This method will return useful values for roles that fall outside the
+enumeration used in atspi_accessible_get_role ().</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="92"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="588">a UTF-8 string specifying the type of UI role played by an
+#AtspiAccessible object.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="582">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_selection"
+              c:identifier="atspi_accessible_get_selection"
+              shadows="get_selection_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1449">Gets the #AtspiSelection interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_selection_iface 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="129"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1455">a pointer to an #AtspiSelection interface
+         instance, or NULL if @obj does not implement #AtspiSelection.</doc>
+          <type name="Selection" c:type="AtspiSelection*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1451">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_selection_iface"
+              c:identifier="atspi_accessible_get_selection_iface"
+              shadowed-by="get_selection">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1467">Gets the #AtspiSelection interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="154"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1473">a pointer to an #AtspiSelection interface
+         instance, or NULL if @obj does not implement #AtspiSelection.</doc>
+          <type name="Selection" c:type="AtspiSelection*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1469">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_state_set"
+              c:identifier="atspi_accessible_get_state_set">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="648">Gets the states currently held by an object.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="96"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="654">a pointer to an #AtspiStateSet representing an
+object's current state set.</doc>
+          <type name="StateSet" c:type="AtspiStateSet*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="650">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_table"
+              c:identifier="atspi_accessible_get_table"
+              shadows="get_table_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1501">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_table_iface instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="131"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1507">a pointer to an #AtspiTable interface instance, or
+         NULL if @obj does not implement #AtspiTable.</doc>
+          <type name="Table" c:type="AtspiTable*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1503">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_table_cell"
+              c:identifier="atspi_accessible_get_table_cell">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1535">Gets the #AtspiTableCell interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="133"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1541">a pointer to an #AtspiTableCell interface instance,
+         or NULL if @obj does not implement #AtspiTable.</doc>
+          <type name="TableCell" c:type="AtspiTableCell*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1537">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_table_iface"
+              c:identifier="atspi_accessible_get_table_iface"
+              shadowed-by="get_table">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1519">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="156"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1525">a pointer to an #AtspiTable interface instance, or
+         NULL if @obj does not implement #AtspiTable.</doc>
+          <type name="Table" c:type="AtspiTable*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1521">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_text"
+              c:identifier="atspi_accessible_get_text"
+              shadows="get_text_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1551">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_text_iface instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="135"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1557">a pointer to an #AtspiText interface instance, or
+         NULL if @obj does not implement #AtspiText.</doc>
+          <type name="Text" c:type="AtspiText*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1553">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_text_iface"
+              c:identifier="atspi_accessible_get_text_iface"
+              shadowed-by="get_text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1569">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="158"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1575">a pointer to an #AtspiText interface instance, or
+         NULL if @obj does not implement #AtspiText.</doc>
+          <type name="Text" c:type="AtspiText*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1571">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_toolkit_name"
+              c:identifier="atspi_accessible_get_toolkit_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="809">Gets the toolkit name for an #AtspiAccessible object.
+Only works on application root objects.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="102"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="816">a UTF-8 string indicating the toolkit name for the #AtspiAccessible object or NULL 
on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="811">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_toolkit_version"
+              c:identifier="atspi_accessible_get_toolkit_version"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="833">Gets the toolkit version for an #AtspiAccessible object.
+Only works on application root objects.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="104"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="840">a UTF-8 string indicating the toolkit version for the #AtspiAccessible object or 
NULL on exception.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="835">a pointer to the #AtspiAccessible object on which to operate.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_value"
+              c:identifier="atspi_accessible_get_value"
+              shadows="get_value_iface"
+              deprecated="1"
+              deprecated-version="2.10">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1585">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_accessible_get_value_iface instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-accessible.h" line="137"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1591">a pointer to an #AtspiValue interface instance, or
+         NULL if @obj does not implement #AtspiValue.</doc>
+          <type name="Value" c:type="AtspiValue*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1587">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_value_iface"
+              c:identifier="atspi_accessible_get_value_iface"
+              shadowed-by="get_value">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1603">Gets the #AtspiTable interface for an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="160"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-accessible.c"
+               line="1609">a pointer to an #AtspiValue interface instance, or
+         NULL if @obj does not implement #AtspiValue.</doc>
+          <type name="Value" c:type="AtspiValue*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1605">a pointer to the #AtspiAccessible instance to query.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="set_cache_mask"
+              c:identifier="atspi_accessible_set_cache_mask">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="1690">Sets the type of data to cache for accessibles.
+If this is not set for an application or is reset to ATSPI_CACHE_UNDEFINED,
+then the desktop's cache flag will be used.
+If the desktop's cache flag is also undefined, then all possible data will
+be cached.
+This function is intended to work around bugs in toolkits where the proper
+events are not raised / to aid in testing for such bugs.</doc>
+        <source-position filename="../atspi/atspi-accessible.h" line="166"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="accessible" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1692">The #AtspiAccessible to operate on.  Must be the desktop or
+            the root of an application.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </instance-parameter>
+          <parameter name="mask" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="1694">An #AtspiCache specifying a bit mask of the types of data to cache.</doc>
+            <type name="Cache" c:type="AtspiCache"/>
+          </parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="Object" c:type="AtspiObject"/>
+      </field>
+      <field name="accessible_parent">
+        <type name="Accessible" c:type="AtspiAccessible*"/>
+      </field>
+      <field name="children">
+        <array name="GLib.PtrArray" c:type="GPtrArray*">
+          <type name="gpointer" c:type="gpointer"/>
+        </array>
+      </field>
+      <field name="role">
+        <type name="Role" c:type="AtspiRole"/>
+      </field>
+      <field name="interfaces">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="name">
+        <type name="utf8" c:type="char*"/>
+      </field>
+      <field name="description">
+        <type name="utf8" c:type="char*"/>
+      </field>
+      <field name="states">
+        <type name="StateSet" c:type="AtspiStateSet*"/>
+      </field>
+      <field name="attributes">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="gpointer" c:type="gpointer"/>
+          <type name="gpointer" c:type="gpointer"/>
+        </type>
+      </field>
+      <field name="cached_properties">
+        <type name="guint" c:type="guint"/>
+      </field>
+      <field name="priv">
+        <type name="AccessiblePrivate" c:type="AtspiAccessiblePrivate*"/>
+      </field>
+      <glib:signal name="region-changed" when="last">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-accessible.c"
+             line="267">The signal "region-changed" is emitted by a screen reader to indicate
+that it is now reading or tracking a new object, or, a new piece of
+text within an object. This allows a magnifier to gain the information
+needed to highlight the object that the screen reader is reading.</doc>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="arg1" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="270">an integer specifying the current offset of the text being read,
+       if the object is textual.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="arg2" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-accessible.c"
+                 line="272">an integer specifying the ending offset of the text being read,
+       if the object is textual.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </glib:signal>
+    </class>
+    <record name="AccessibleClass"
+            c:type="AtspiAccessibleClass"
+            glib:is-gtype-struct-for="Accessible">
+      <source-position filename="../atspi/atspi-accessible.h" line="69"/>
+      <field name="parent_class">
+        <type name="ObjectClass" c:type="AtspiObjectClass"/>
+      </field>
+      <field name="region_changed">
+        <callback name="region_changed">
+          <source-position filename="../atspi/atspi-accessible.h" line="68"/>
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+          <parameters>
+            <parameter name="accessible" transfer-ownership="none">
+              <type name="Accessible" c:type="AtspiAccessible*"/>
+            </parameter>
+            <parameter name="current_offset" transfer-ownership="none">
+              <type name="gint" c:type="gint"/>
+            </parameter>
+            <parameter name="last_offset" transfer-ownership="none">
+              <type name="gint" c:type="gint"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+    </record>
+    <record name="AccessiblePrivate"
+            c:type="AtspiAccessiblePrivate"
+            disguised="1">
+      <source-position filename="../atspi/atspi-accessible.h" line="46"/>
+    </record>
+    <interface name="Action"
+               c:symbol-prefix="action"
+               c:type="AtspiAction"
+               glib:type-name="AtspiAction"
+               glib:get-type="atspi_action_get_type">
+      <method name="do_action"
+              c:identifier="atspi_action_do_action"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="195">Invoke the action indicated by #index.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="59"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="202">#TRUE if the action is successfully invoked, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="197">a pointer to the #AtspiAction to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="198">an integer specifying which action to invoke.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_action_description"
+              c:identifier="atspi_action_get_action_description"
+              shadowed-by="get_description"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="64">Get the description of '@i-th' action invocable on an
+     object implementing #AtspiAction.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="48"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="72">a UTF-8 string describing the '@i-th' invocable action.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="66">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="67">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="int"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_action_name"
+              c:identifier="atspi_action_get_action_name"
+              shadowed-by="get_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="148">Get the name of the '@i-th' action invocable on an
+     object implementing #AtspiAction.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="50"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="156">the non-localized name of the action, as a UTF-8 string.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="150">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="151">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_description"
+              c:identifier="atspi_action_get_description"
+              shadows="get_action_description"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="46">Get the description of '@i-th' action invocable on an
+     object implementing #AtspiAction.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_action_get_action_description 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-action.h" line="62"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="54">a UTF-8 string describing the '@i-th' invocable action.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="48">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="49">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_key_binding"
+              c:identifier="atspi_action_get_key_binding"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="87">Get the keybindings for the @i-th action invocable on an
+     object implementing #AtspiAction, if any are defined.
+     The keybindings string format is as follows:
+       there are multiple parts to a keybinding string (typically 3).
+       They are delimited with ";".  The first is the action's
+       keybinding which is usable if the object implementing the action
+       is currently posted to the screen, e.g. if a menu is posted
+       then these keybindings for the corresponding menu-items are
+       available.  The second keybinding substring is the full key sequence
+       necessary to post the action's widget and activate it, e.g. for
+       a menu item such as "File-&gt;Open" it would both post the menu and
+       activate the item.  Thus the second keybinding string is available
+       during the lifetime of the containing toplevel window as a whole,
+       whereas the first keybinding string only works while the object
+       implementing AtkAction is posted.  The third (and optional)
+       keybinding string is the "keyboard shortcut" which invokes the
+       action without posting any menus.
+       Meta-keys are indicated by the conventional strings
+       "&amp;lt;Control&amp;gt;", "&amp;lt;Alt&amp;gt;", "&amp;lt;Shift&amp;gt;", "&amp;lt;Mod2&amp;gt;",
+       etc. (we use the same string as gtk_accelerator_name() in
+       gtk+-2.X.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="54"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="114">a UTF-8 string which can be parsed to determine the @i-th
+      invocable action's keybindings.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="89">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="90">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_localized_name"
+              c:identifier="atspi_action_get_localized_name"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="171">Get the name of the '@i-th' action invocable on an
+     object implementing #AtspiAction.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="57"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="179">the name of the action, as a UTF-8 string.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="173">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="174">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_n_actions"
+              c:identifier="atspi_action_get_n_actions"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="26">Get the number of actions invokable on an #AtspiAction implementor.</doc>
+        <source-position filename="../atspi/atspi-action.h" line="52"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="32">an integer indicating the number of invocable actions.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="28">a pointer to the #AtspiAction to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_name"
+              c:identifier="atspi_action_get_name"
+              shadows="get_action_name"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-action.c"
+             line="130">Get the name of the '@i-th' action invocable on an
+     object implementing #AtspiAction.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_action_get_action_name instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-action.h" line="63"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-action.c"
+               line="138">the non-localized name of the action, as a UTF-8 string.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="132">a pointer to the #AtspiAction implementor to query.</doc>
+            <type name="Action" c:type="AtspiAction*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-action.c"
+                 line="133">an integer indicating which action to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <class name="Application"
+           c:symbol-prefix="application"
+           c:type="AtspiApplication"
+           parent="GObject.Object"
+           glib:type-name="AtspiApplication"
+           glib:get-type="atspi_application_get_type"
+           glib:type-struct="ApplicationClass">
+      <source-position filename="../atspi/atspi-application.h" line="62"/>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="hash">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="gpointer" c:type="gpointer"/>
+          <type name="gpointer" c:type="gpointer"/>
+        </type>
+      </field>
+      <field name="bus_name">
+        <type name="utf8" c:type="char*"/>
+      </field>
+      <field name="bus">
+        <type name="DBus.Connection" c:type="DBusConnection*"/>
+      </field>
+      <field name="root">
+        <type name="gpointer" c:type="_AtspiAccessible*"/>
+      </field>
+      <field name="cache">
+        <type name="Cache" c:type="AtspiCache"/>
+      </field>
+      <field name="toolkit_name">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="toolkit_version">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="atspi_version">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="time_added">
+        <type name="gpointer" c:type="timeval"/>
+      </field>
+    </class>
+    <record name="ApplicationClass"
+            c:type="AtspiApplicationClass"
+            glib:is-gtype-struct-for="Application">
+      <source-position filename="../atspi/atspi-application.h" line="62"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <function-macro name="COLLECTION"
+                    c:identifier="ATSPI_COLLECTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-collection.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="COLLECTION_GET_IFACE"
+                    c:identifier="ATSPI_COLLECTION_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-collection.h" line="41"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="COMPONENT"
+                    c:identifier="ATSPI_COMPONENT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-component.h" line="76"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="COMPONENTLAYER_COUNT"
+              value="9"
+              c:type="ATSPI_COMPONENTLAYER_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="298">One higher than the highest valid value of #AtspiComponentLayer.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="303"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="COMPONENT_GET_IFACE"
+                    c:identifier="ATSPI_COMPONENT_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-component.h" line="77"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="COORD_TYPE_COUNT"
+              value="3"
+              c:type="ATSPI_COORD_TYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="144">One higher than the highest valid value of #AtspiCoordType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="149"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <bitfield name="Cache"
+              glib:type-name="AtspiCache"
+              glib:get-type="atspi_cache_get_type"
+              c:type="AtspiCache">
+      <member name="none"
+              value="0"
+              c:identifier="ATSPI_CACHE_NONE"
+              glib:nick="none">
+      </member>
+      <member name="parent"
+              value="1"
+              c:identifier="ATSPI_CACHE_PARENT"
+              glib:nick="parent">
+      </member>
+      <member name="children"
+              value="2"
+              c:identifier="ATSPI_CACHE_CHILDREN"
+              glib:nick="children">
+      </member>
+      <member name="name"
+              value="4"
+              c:identifier="ATSPI_CACHE_NAME"
+              glib:nick="name">
+      </member>
+      <member name="description"
+              value="8"
+              c:identifier="ATSPI_CACHE_DESCRIPTION"
+              glib:nick="description">
+      </member>
+      <member name="states"
+              value="16"
+              c:identifier="ATSPI_CACHE_STATES"
+              glib:nick="states">
+      </member>
+      <member name="role"
+              value="32"
+              c:identifier="ATSPI_CACHE_ROLE"
+              glib:nick="role">
+      </member>
+      <member name="interfaces"
+              value="64"
+              c:identifier="ATSPI_CACHE_INTERFACES"
+              glib:nick="interfaces">
+      </member>
+      <member name="attributes"
+              value="128"
+              c:identifier="ATSPI_CACHE_ATTRIBUTES"
+              glib:nick="attributes">
+      </member>
+      <member name="all"
+              value="1073741823"
+              c:identifier="ATSPI_CACHE_ALL"
+              glib:nick="all">
+      </member>
+      <member name="default"
+              value="127"
+              c:identifier="ATSPI_CACHE_DEFAULT"
+              glib:nick="default">
+      </member>
+      <member name="undefined"
+              value="1073741824"
+              c:identifier="ATSPI_CACHE_UNDEFINED"
+              glib:nick="undefined">
+      </member>
+    </bitfield>
+    <interface name="Collection"
+               c:symbol-prefix="collection"
+               c:type="AtspiCollection"
+               glib:type-name="AtspiCollection"
+               glib:get-type="atspi_collection_get_type">
+      <method name="get_active_descendant"
+              c:identifier="atspi_collection_get_active_descendant"
+              throws="1">
+        <source-position filename="../atspi/atspi-collection.h" line="58"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-collection.c"
+               line="264">The active descendant of the given object.
+Not yet implemented.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="collection" transfer-ownership="none">
+            <type name="Collection" c:type="AtspiCollection*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_matches"
+              c:identifier="atspi_collection_get_matches"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-collection.c"
+             line="102">Gets all #AtspiAccessible objects from the @collection matching a given
+@rule.</doc>
+        <source-position filename="../atspi/atspi-collection.h" line="52"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-collection.c"
+               line="114">All
+         #AtspiAccessible objects matching the given match rule.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="Accessible"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="collection" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="104">A pointer to the #AtspiCollection to query.</doc>
+            <type name="Collection" c:type="AtspiCollection*"/>
+          </instance-parameter>
+          <parameter name="rule" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="105">An #AtspiMatchRule describing the match criteria.</doc>
+            <type name="MatchRule" c:type="AtspiMatchRule*"/>
+          </parameter>
+          <parameter name="sortby" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="106">An #AtspiCollectionSortOrder specifying the way the results are to
+         be sorted.</doc>
+            <type name="CollectionSortOrder"
+                  c:type="AtspiCollectionSortOrder"/>
+          </parameter>
+          <parameter name="count" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="108">The maximum number of results to return, or 0 for no limit.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="traverse" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="109">Not supported.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_matches_from"
+              c:identifier="atspi_collection_get_matches_from"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-collection.c"
+             line="207">Gets all #AtspiAccessible objects from the @collection, before
+@current_object, matching a given @rule.</doc>
+        <source-position filename="../atspi/atspi-collection.h" line="56"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-collection.c"
+               line="222">All
+         #AtspiAccessible objects matching the given match rule that preceed
+         @current_object.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="Accessible"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="collection" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="209">A pointer to the #AtspiCollection to query.</doc>
+            <type name="Collection" c:type="AtspiCollection*"/>
+          </instance-parameter>
+          <parameter name="current_object" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="210">Upon reaching this object, searching should stop.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </parameter>
+          <parameter name="rule" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="211">An #AtspiMatchRule describing the match criteria.</doc>
+            <type name="MatchRule" c:type="AtspiMatchRule*"/>
+          </parameter>
+          <parameter name="sortby" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="212">An #AtspiCollectionSortOrder specifying the way the results are to
+         be sorted.</doc>
+            <type name="CollectionSortOrder"
+                  c:type="AtspiCollectionSortOrder"/>
+          </parameter>
+          <parameter name="tree" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="214">An #AtspiCollectionTreeTraversalType specifying restrictions on
+         the objects to be traversed.</doc>
+            <type name="CollectionTreeTraversalType"
+                  c:type="AtspiCollectionTreeTraversalType"/>
+          </parameter>
+          <parameter name="count" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="216">The maximum number of results to return, or 0 for no limit.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="traverse" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="217">Not supported.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_matches_to"
+              c:identifier="atspi_collection_get_matches_to"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-collection.c"
+             line="146">Gets all #AtspiAccessible objects from the @collection, after
+@current_object, matching a given @rule.</doc>
+        <source-position filename="../atspi/atspi-collection.h" line="54"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-collection.c"
+               line="165">All
+         #AtspiAccessible objects matching the given match rule after
+         @current_object.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="Accessible"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="collection" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="148">A pointer to the #AtspiCollection to query.</doc>
+            <type name="Collection" c:type="AtspiCollection*"/>
+          </instance-parameter>
+          <parameter name="current_object" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="149">The object at which to start searching.</doc>
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </parameter>
+          <parameter name="rule" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="150">An #AtspiMatchRule describing the match criteria.</doc>
+            <type name="MatchRule" c:type="AtspiMatchRule*"/>
+          </parameter>
+          <parameter name="sortby" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="151">An #AtspiCollectionSortOrder specifying the way the results are to
+         be sorted.</doc>
+            <type name="CollectionSortOrder"
+                  c:type="AtspiCollectionSortOrder"/>
+          </parameter>
+          <parameter name="tree" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="153">An #AtspiCollectionTreeTraversalType specifying restrictions on
+         the objects to be traversed.</doc>
+            <type name="CollectionTreeTraversalType"
+                  c:type="AtspiCollectionTreeTraversalType"/>
+          </parameter>
+          <parameter name="limit_scope" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="155">If #TRUE, only descendants of @current_object's parent
+         will be returned. Otherwise (if #FALSE), any accessible may be
+         returned if it would preceed @current_object in a flattened
+         hierarchy.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+          <parameter name="count" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="159">The maximum number of results to return, or 0 for no limit.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="traverse" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-collection.c"
+                 line="160">Not supported.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="is_ancestor_of"
+              c:identifier="atspi_collection_is_ancestor_of"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-collection.c"
+             line="28">Not yet implemented.</doc>
+        <source-position filename="../atspi/atspi-collection.h" line="50"/>
+        <return-value transfer-ownership="none">
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="collection" transfer-ownership="none">
+            <type name="Collection" c:type="AtspiCollection*"/>
+          </instance-parameter>
+          <parameter name="test" transfer-ownership="none">
+            <type name="Accessible" c:type="AtspiAccessible*"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <enumeration name="CollectionMatchType"
+                 glib:type-name="AtspiCollectionMatchType"
+                 glib:get-type="atspi_collection_match_type_get_type"
+                 c:type="AtspiCollectionMatchType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="186">Enumeration used by #AtspiMatchRule to specify
+how to interpret #AtspiAccessible objects.</doc>
+      <member name="invalid"
+              value="0"
+              c:identifier="ATSPI_Collection_MATCH_INVALID"
+              glib:nick="invalid">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="188">Indicates an error condition or
+uninitialized value.</doc>
+      </member>
+      <member name="all"
+              value="1"
+              c:identifier="ATSPI_Collection_MATCH_ALL"
+              glib:nick="all">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="190">#TRUE if all of the criteria are met.</doc>
+      </member>
+      <member name="any"
+              value="2"
+              c:identifier="ATSPI_Collection_MATCH_ANY"
+              glib:nick="any">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="191">#TRUE if any of the criteria are met.</doc>
+      </member>
+      <member name="none"
+              value="3"
+              c:identifier="ATSPI_Collection_MATCH_NONE"
+              glib:nick="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="192">#TRUE if none of the criteria are met.</doc>
+      </member>
+      <member name="empty"
+              value="4"
+              c:identifier="ATSPI_Collection_MATCH_EMPTY"
+              glib:nick="empty">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="193">Same as @ATSPI_Collection_MATCH_ALL if
+the criteria is non-empty; for empty criteria this rule requires returned
+value to also have empty set.</doc>
+      </member>
+      <member name="last_defined"
+              value="5"
+              c:identifier="ATSPI_Collection_MATCH_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="196">Used only to determine the end of the
+enumeration.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="CollectionSortOrder"
+                 glib:type-name="AtspiCollectionSortOrder"
+                 glib:get-type="atspi_collection_sort_order_get_type"
+                 c:type="AtspiCollectionSortOrder">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="151">Enumeration used by interface #AtspiCollection to specify
+the way #AtspiAccesible objects should be sorted.</doc>
+      <member name="invalid"
+              value="0"
+              c:identifier="ATSPI_Collection_SORT_ORDER_INVALID"
+              glib:nick="invalid">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="153">Invalid sort order</doc>
+      </member>
+      <member name="canonical"
+              value="1"
+              c:identifier="ATSPI_Collection_SORT_ORDER_CANONICAL"
+              glib:nick="canonical">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="154">Canonical sort order</doc>
+      </member>
+      <member name="flow"
+              value="2"
+              c:identifier="ATSPI_Collection_SORT_ORDER_FLOW"
+              glib:nick="flow">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="155">Flow sort order</doc>
+      </member>
+      <member name="tab"
+              value="3"
+              c:identifier="ATSPI_Collection_SORT_ORDER_TAB"
+              glib:nick="tab">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="156">Tab sort order</doc>
+      </member>
+      <member name="reverse_canonical"
+              value="4"
+              c:identifier="ATSPI_Collection_SORT_ORDER_REVERSE_CANONICAL"
+              glib:nick="reverse-canonical">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="157">Reverse canonical sort order</doc>
+      </member>
+      <member name="reverse_flow"
+              value="5"
+              c:identifier="ATSPI_Collection_SORT_ORDER_REVERSE_FLOW"
+              glib:nick="reverse-flow">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="158">Reverse flow sort order</doc>
+      </member>
+      <member name="reverse_tab"
+              value="6"
+              c:identifier="ATSPI_Collection_SORT_ORDER_REVERSE_TAB"
+              glib:nick="reverse-tab">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="159">Reverse tab sort order</doc>
+      </member>
+      <member name="last_defined"
+              value="7"
+              c:identifier="ATSPI_Collection_SORT_ORDER_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="160">Used only to determine the end of the
+enumeration.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="CollectionTreeTraversalType"
+                 glib:type-name="AtspiCollectionTreeTraversalType"
+                 glib:get-type="atspi_collection_tree_traversal_type_get_type"
+                 c:type="AtspiCollectionTreeTraversalType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="219">Enumeration used by interface #AtspiCollection to specify
+restrictions on #AtspiAccesible objects to be traversed.</doc>
+      <member name="restrict_children"
+              value="0"
+              c:identifier="ATSPI_Collection_TREE_RESTRICT_CHILDREN"
+              glib:nick="restrict-children">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="221">Restrict children tree traveral</doc>
+      </member>
+      <member name="restrict_sibling"
+              value="1"
+              c:identifier="ATSPI_Collection_TREE_RESTRICT_SIBLING"
+              glib:nick="restrict-sibling">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="222">Restrict sibling tree traversal</doc>
+      </member>
+      <member name="inorder"
+              value="2"
+              c:identifier="ATSPI_Collection_TREE_INORDER"
+              glib:nick="inorder">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="223">In-order tree traversal.</doc>
+      </member>
+      <member name="last_defined"
+              value="3"
+              c:identifier="ATSPI_Collection_TREE_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="224">Used only to determine the end of the
+enumeration.</doc>
+      </member>
+    </enumeration>
+    <interface name="Component"
+               c:symbol-prefix="component"
+               c:type="AtspiComponent"
+               glib:type-name="AtspiComponent"
+               glib:get-type="atspi_component_get_type">
+      <method name="contains"
+              c:identifier="atspi_component_contains"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="63">Queries whether a given #AtspiComponent contains a particular point.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="86"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="73">#TRUE if the specified component contains the point (@x, @y),
+         #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="65">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="66">a #gint specifying the x coordinate in question.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="67">a #gint specifying the y coordinate in question.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="68">the desired coordinate system of the point (@x, @y)
+        (e.g. CSPI_COORD_TYPE_WINDOW, CSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_accessible_at_point"
+              c:identifier="atspi_component_get_accessible_at_point"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="93">Gets the accessible child at a given coordinate within an #AtspiComponent.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="88"/>
+        <return-value transfer-ownership="full" nullable="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="103">a pointer to an
+         #AtspiAccessible child of the specified component which
+         contains the point (@x, @y), or NULL if no child contains
+         the point.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="95">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="96">a #gint specifying the x coordinate of the point in question.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="97">a #gint specifying the y coordinate of the point in question.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="98">the coordinate system of the point (@x, @y)
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_alpha"
+              c:identifier="atspi_component_get_alpha"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="279">Gets the opacity/alpha value of a component, if alpha blending is in use.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="102"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="285">the opacity value of a component, as a #gdouble between 0.0 and 1.0.</doc>
+          <type name="gdouble" c:type="gdouble"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="281">The #AtspiComponent to be queried.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_extents"
+              c:identifier="atspi_component_get_extents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="125">Gets the bounding box of the specified #AtspiComponent.
+The returned values are meaningful only if the Component has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="90"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="135">An #AtspiRect giving the accessible's extents.</doc>
+          <type name="Rect" c:type="AtspiRect*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="127">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="128">the desired coordinate system into which to return the results,
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_layer"
+              c:identifier="atspi_component_get_layer"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="220">Queries which layer the component is painted into, to help determine its
+     visibility in terms of stacking order.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="96"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="227">the #AtspiComponentLayer into which this component is painted.</doc>
+          <type name="ComponentLayer" c:type="AtspiComponentLayer"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="222">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_mdi_z_order"
+              c:identifier="atspi_component_get_mdi_z_order"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="239">Queries the z stacking order of a component which is in the MDI or window
+      layer. (Bigger z-order numbers mean nearer the top)</doc>
+        <source-position filename="../atspi/atspi-component.h" line="98"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="246">a #gshort indicating the stacking order of the component
+      in the MDI layer, or -1 if the component is not in the MDI layer.</doc>
+          <type name="gshort" c:type="gshort"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="241">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_position"
+              c:identifier="atspi_component_get_position"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="162">Gets the minimum x and y coordinates of the specified #AtspiComponent.
+The returned values are meaningful only if the Component has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="92"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="172">An #AtspiPoint giving the @obj's position.</doc>
+          <type name="Point" c:type="AtspiPoint*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="164">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="165">the desired coordinate system into which to return the results,
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_size"
+              c:identifier="atspi_component_get_size"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="194">Gets the size of the specified #AtspiComponent.
+The returned values are meaningful only if the Component has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="94"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="202">An #AtspiPoint giving the @obj's size.</doc>
+          <type name="Point" c:type="AtspiPoint*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="196">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="grab_focus"
+              c:identifier="atspi_component_grab_focus"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="259">Attempts to set the keyboard input focus to the specified
+        #AtspiComponent.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="100"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="266">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="261">a pointer to the #AtspiComponent on which to operate.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="scroll_to"
+              c:identifier="atspi_component_scroll_to"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="421">Scrolls whatever container of the #AtspiComponent object so it becomes
+visible on the screen.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="110"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="430">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="423">a pointer to the #AtspiComponent object on which to operate.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="424">a #AtspiScrollType indicating where the object should be placed on the
+       screen.</doc>
+            <type name="ScrollType" c:type="AtspiScrollType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="scroll_to_point"
+              c:identifier="atspi_component_scroll_to_point"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="447">Scrolls whatever container of the #AtspiComponent object so it becomes
+visible on the screen at a given position.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="112"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="459">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="449">a pointer to the #AtspiComponent object on which to operate.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="coords" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="450">a #AtspiCoordType indicating whether the coordinates are relative to
+         the screen, to the window, or to the parent object.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="452">the x coordinate of the point to reach</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="453">the y coordinate of the point to reach</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_extents"
+              c:identifier="atspi_component_set_extents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="297">Moves and resizes the specified component.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="104"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="309">#TRUE if successful; #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="299">a pointer to the #AtspiComponent to move.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="300">the new vertical position to which the component should be moved.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="301">the new horizontal position to which the component should be moved.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="width" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="302">the width to which the component should be resized.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="height" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="303">the height to which the component should be resized.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="304">the coordinate system in which the position is specified.
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_position"
+              c:identifier="atspi_component_set_position"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="363">Moves the component to the specified position.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="106"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="373">#TRUE if successful; #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="365">a pointer to the #AtspiComponent to move.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="366">the new vertical position to which the component should be moved.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="367">the new horizontal position to which the component should be moved.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="368">the coordinate system in which the position is specified.
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_size"
+              c:identifier="atspi_component_set_size"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-component.c"
+             line="394">Resizes the specified component to the given coordinates.</doc>
+        <source-position filename="../atspi/atspi-component.h" line="108"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-component.c"
+               line="402">#TRUE if successful; #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="396">a pointer to the #AtspiComponent to query.</doc>
+            <type name="Component" c:type="AtspiComponent*"/>
+          </instance-parameter>
+          <parameter name="width" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="397">the width to which the component should be resized.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="height" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-component.c"
+                 line="398">the height to which the component should be resized.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <enumeration name="ComponentLayer"
+                 glib:type-name="AtspiComponentLayer"
+                 glib:get-type="atspi_component_layer_get_type"
+                 c:type="AtspiComponentLayer">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="246">The #AtspiComponentLayer of an #AtspiComponent instance indicates its
+relative stacking order with respect to the onscreen visual representation
+of the UI. #AtspiComponentLayer, in combination with #AtspiComponent bounds
+information, can be used to compute the visibility of all or part of a
+component.  This is important in programmatic determination of
+region-of-interest for magnification, and in
+flat screen review models of the screen, as well as
+for other uses. Objects residing in two of the #AtspiComponentLayer
+categories support further z-ordering information, with respect to their
+peers in the same layer: namely, @ATSPI_LAYER_WINDOW and
+@ATSPI_LAYER_MDI.  Relative stacking order for other objects within the
+same layer is not available; the recommended heuristic is
+first child paints first. In other words, assume that the
+first siblings in the child list are subject to being overpainted by later
+siblings if their bounds intersect. The order of layers, from bottom to top,
+ is: @ATSPI_LAYER_BACKGROUND, @ATSPI_LAYER_WINDOW, @ATSPI_LAYER_MDI,
+@ATSPI_LAYER_CANVAS, @ATSPI_LAYER_WIDGET, @ATSPI_LAYER_POPUP, and
+@ATSPI_LAYER_OVERLAY.</doc>
+      <member name="invalid"
+              value="0"
+              c:identifier="ATSPI_LAYER_INVALID"
+              glib:nick="invalid">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="248">Indicates an error condition or uninitialized value.</doc>
+      </member>
+      <member name="background"
+              value="1"
+              c:identifier="ATSPI_LAYER_BACKGROUND"
+              glib:nick="background">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="249">The bottom-most layer, over which everything else
+is painted.        The 'desktop background' is generally in this layer.</doc>
+      </member>
+      <member name="canvas"
+              value="2"
+              c:identifier="ATSPI_LAYER_CANVAS"
+              glib:nick="canvas">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="251">The 'background' layer for most content renderers and
+UI #AtspiComponent containers.</doc>
+      </member>
+      <member name="widget"
+              value="3"
+              c:identifier="ATSPI_LAYER_WIDGET"
+              glib:nick="widget">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="253">The layer in which the majority of ordinary
+'foreground' widgets reside.</doc>
+      </member>
+      <member name="mdi"
+              value="4"
+              c:identifier="ATSPI_LAYER_MDI"
+              glib:nick="mdi">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="255">A special layer between @ATSPI_LAYER_CANVAS and
+@ATSPI_LAYER_WIDGET, in which the 'pseudo windows' (e.g. the MDI frames)
+reside. See #atspi_component_get_mdi_z_order.</doc>
+      </member>
+      <member name="popup"
+              value="5"
+              c:identifier="ATSPI_LAYER_POPUP"
+              glib:nick="popup">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="258">A layer for popup window content, above
+@ATSPI_LAYER_WIDGET.</doc>
+      </member>
+      <member name="overlay"
+              value="6"
+              c:identifier="ATSPI_LAYER_OVERLAY"
+              glib:nick="overlay">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="260">The topmost layer.</doc>
+      </member>
+      <member name="window"
+              value="7"
+              c:identifier="ATSPI_LAYER_WINDOW"
+              glib:nick="window">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="261">The layer in which a toplevel window background usually
+resides.</doc>
+      </member>
+      <member name="last_defined"
+              value="8"
+              c:identifier="ATSPI_LAYER_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="263">Used only to determine the end of the
+enumeration.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="CoordType"
+                 glib:type-name="AtspiCoordType"
+                 glib:get-type="atspi_coord_type_get_type"
+                 c:type="AtspiCoordType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="126">Enumeration used by #AtspiComponent, #AtspiImage, and #AtspiText interfaces
+to specify whether coordinates are relative to the window or the screen.</doc>
+      <member name="screen"
+              value="0"
+              c:identifier="ATSPI_COORD_TYPE_SCREEN"
+              glib:nick="screen">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="128">Specifies xy coordinates relative to the screen.</doc>
+      </member>
+      <member name="window"
+              value="1"
+              c:identifier="ATSPI_COORD_TYPE_WINDOW"
+              glib:nick="window">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="129">Specifies xy coordinates relative to the widget's
+top-level window.</doc>
+      </member>
+      <member name="parent"
+              value="2"
+              c:identifier="ATSPI_COORD_TYPE_PARENT"
+              glib:nick="parent">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="131">Specifies xy coordinates relative to the widget's
+immediate parent.</doc>
+      </member>
+    </enumeration>
+    <constant name="DBUS_INTERFACE_ACCESSIBLE"
+              value="org.a11y.atspi.Accessible"
+              c:type="ATSPI_DBUS_INTERFACE_ACCESSIBLE">
+      <source-position filename="../atspi/atspi-constants.h" line="1467"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_ACTION"
+              value="org.a11y.atspi.Action"
+              c:type="ATSPI_DBUS_INTERFACE_ACTION">
+      <source-position filename="../atspi/atspi-constants.h" line="1468"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_APPLICATION"
+              value="org.a11y.atspi.Application"
+              c:type="ATSPI_DBUS_INTERFACE_APPLICATION">
+      <source-position filename="../atspi/atspi-constants.h" line="1469"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_CACHE"
+              value="org.a11y.atspi.Cache"
+              c:type="ATSPI_DBUS_INTERFACE_CACHE">
+      <source-position filename="../atspi/atspi-constants.h" line="1466"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_COLLECTION"
+              value="org.a11y.atspi.Collection"
+              c:type="ATSPI_DBUS_INTERFACE_COLLECTION">
+      <source-position filename="../atspi/atspi-constants.h" line="1470"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_COMPONENT"
+              value="org.a11y.atspi.Component"
+              c:type="ATSPI_DBUS_INTERFACE_COMPONENT">
+      <source-position filename="../atspi/atspi-constants.h" line="1471"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_DEC"
+              value="org.a11y.atspi.DeviceEventController"
+              c:type="ATSPI_DBUS_INTERFACE_DEC">
+      <source-position filename="../atspi/atspi-constants.h" line="1463"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_DEVICE_EVENT_LISTENER"
+              value="org.a11y.atspi.DeviceEventListener"
+              c:type="ATSPI_DBUS_INTERFACE_DEVICE_EVENT_LISTENER">
+      <source-position filename="../atspi/atspi-constants.h" line="1464"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_DOCUMENT"
+              value="org.a11y.atspi.Document"
+              c:type="ATSPI_DBUS_INTERFACE_DOCUMENT">
+      <source-position filename="../atspi/atspi-constants.h" line="1472"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_EDITABLE_TEXT"
+              value="org.a11y.atspi.EditableText"
+              c:type="ATSPI_DBUS_INTERFACE_EDITABLE_TEXT">
+      <source-position filename="../atspi/atspi-constants.h" line="1473"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_EVENT_KEYBOARD"
+              value="org.a11y.atspi.Event.Keyboard"
+              c:type="ATSPI_DBUS_INTERFACE_EVENT_KEYBOARD">
+      <source-position filename="../atspi/atspi-constants.h" line="1474"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_EVENT_MOUSE"
+              value="org.a11y.atspi.Event.Mouse"
+              c:type="ATSPI_DBUS_INTERFACE_EVENT_MOUSE">
+      <source-position filename="../atspi/atspi-constants.h" line="1475"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_EVENT_OBJECT"
+              value="org.a11y.atspi.Event.Object"
+              c:type="ATSPI_DBUS_INTERFACE_EVENT_OBJECT">
+      <source-position filename="../atspi/atspi-constants.h" line="1476"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_EVENT_SCREEN_READER"
+              value="org.a11y.atspi.Event.ScreenReader"
+              c:type="ATSPI_DBUS_INTERFACE_EVENT_SCREEN_READER">
+      <source-position filename="../atspi/atspi-constants.h" line="1488"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_HYPERLINK"
+              value="org.a11y.atspi.Hyperlink"
+              c:type="ATSPI_DBUS_INTERFACE_HYPERLINK">
+      <source-position filename="../atspi/atspi-constants.h" line="1477"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_HYPERTEXT"
+              value="org.a11y.atspi.Hypertext"
+              c:type="ATSPI_DBUS_INTERFACE_HYPERTEXT">
+      <source-position filename="../atspi/atspi-constants.h" line="1478"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_IMAGE"
+              value="org.a11y.atspi.Image"
+              c:type="ATSPI_DBUS_INTERFACE_IMAGE">
+      <source-position filename="../atspi/atspi-constants.h" line="1479"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_REGISTRY"
+              value="org.a11y.atspi.Registry"
+              c:type="ATSPI_DBUS_INTERFACE_REGISTRY">
+      <source-position filename="../atspi/atspi-constants.h" line="1457"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_SELECTION"
+              value="org.a11y.atspi.Selection"
+              c:type="ATSPI_DBUS_INTERFACE_SELECTION">
+      <source-position filename="../atspi/atspi-constants.h" line="1480"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_SOCKET"
+              value="org.a11y.atspi.Socket"
+              c:type="ATSPI_DBUS_INTERFACE_SOCKET">
+      <source-position filename="../atspi/atspi-constants.h" line="1485"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_TABLE"
+              value="org.a11y.atspi.Table"
+              c:type="ATSPI_DBUS_INTERFACE_TABLE">
+      <source-position filename="../atspi/atspi-constants.h" line="1481"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_TABLE_CELL"
+              value="org.a11y.atspi.TableCell"
+              c:type="ATSPI_DBUS_INTERFACE_TABLE_CELL">
+      <source-position filename="../atspi/atspi-constants.h" line="1482"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_TEXT"
+              value="org.a11y.atspi.Text"
+              c:type="ATSPI_DBUS_INTERFACE_TEXT">
+      <source-position filename="../atspi/atspi-constants.h" line="1483"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_INTERFACE_VALUE"
+              value="org.a11y.atspi.Value"
+              c:type="ATSPI_DBUS_INTERFACE_VALUE">
+      <source-position filename="../atspi/atspi-constants.h" line="1484"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_NAME_REGISTRY"
+              value="org.a11y.atspi.Registry"
+              c:type="ATSPI_DBUS_NAME_REGISTRY">
+      <source-position filename="../atspi/atspi-constants.h" line="1455"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_PATH_DEC"
+              value="/org/a11y/atspi/registry/deviceeventcontroller"
+              c:type="ATSPI_DBUS_PATH_DEC">
+      <source-position filename="../atspi/atspi-constants.h" line="1462"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_PATH_NULL"
+              value="/org/a11y/atspi/null"
+              c:type="ATSPI_DBUS_PATH_NULL">
+      <source-position filename="../atspi/atspi-constants.h" line="1459"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_PATH_REGISTRY"
+              value="/org/a11y/atspi/registry"
+              c:type="ATSPI_DBUS_PATH_REGISTRY">
+      <source-position filename="../atspi/atspi-constants.h" line="1456"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_PATH_ROOT"
+              value="/org/a11y/atspi/accessible/root"
+              c:type="ATSPI_DBUS_PATH_ROOT">
+      <source-position filename="../atspi/atspi-constants.h" line="1460"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <constant name="DBUS_PATH_SCREEN_READER"
+              value="/org/a11y/atspi/screenreader"
+              c:type="ATSPI_DBUS_PATH_SCREEN_READER">
+      <source-position filename="../atspi/atspi-constants.h" line="1487"/>
+      <type name="utf8" c:type="gchar*"/>
+    </constant>
+    <function-macro name="DEVICE_LISTENER"
+                    c:identifier="ATSPI_DEVICE_LISTENER"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-device-listener.h" line="64"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="DEVICE_LISTENER_CLASS"
+                    c:identifier="ATSPI_DEVICE_LISTENER_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-device-listener.h" line="65"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="DEVICE_LISTENER_GET_CLASS"
+                    c:identifier="ATSPI_DEVICE_LISTENER_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-device-listener.h" line="68"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="DOCUMENT"
+                    c:identifier="ATSPI_DOCUMENT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-document.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="DOCUMENT_GET_IFACE"
+                    c:identifier="ATSPI_DOCUMENT_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-document.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <record name="DeviceEvent"
+            c:type="AtspiDeviceEvent"
+            glib:type-name="AtspiDeviceEvent"
+            glib:get-type="atspi_device_event_get_type"
+            c:symbol-prefix="device_event">
+      <source-position filename="../atspi/atspi-types.h" line="65"/>
+      <field name="type" writable="1">
+        <type name="EventType" c:type="AtspiEventType"/>
+      </field>
+      <field name="id" writable="1">
+        <type name="guint" c:type="guint"/>
+      </field>
+      <field name="hw_code" writable="1">
+        <type name="gushort" c:type="gushort"/>
+      </field>
+      <field name="modifiers" writable="1">
+        <type name="gushort" c:type="gushort"/>
+      </field>
+      <field name="timestamp" writable="1">
+        <type name="guint" c:type="guint"/>
+      </field>
+      <field name="event_string" writable="1">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="is_text" writable="1">
+        <type name="gboolean" c:type="gboolean"/>
+      </field>
+    </record>
+    <class name="DeviceListener"
+           c:symbol-prefix="device_listener"
+           c:type="AtspiDeviceListener"
+           parent="GObject.Object"
+           glib:type-name="AtspiDeviceListener"
+           glib:get-type="atspi_device_listener_get_type"
+           glib:type-struct="DeviceListenerClass">
+      <source-position filename="../atspi/atspi-device-listener.h" line="83"/>
+      <constructor name="new" c:identifier="atspi_device_listener_new">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.c"
+             line="205">Creates a new #AtspiDeviceListener with a specified callback function.</doc>
+        <source-position filename="../atspi/atspi-device-listener.h"
+                         line="87"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-device-listener.c"
+               line="216">a pointer to a newly-created #AtspiDeviceListener.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     closure="1"
+                     destroy="2">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="207">an #AtspiDeviceListenerCB callback function,
+           or NULL.</doc>
+            <type name="DeviceListenerCB" c:type="AtspiDeviceListenerCB"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="209">a pointer to data which will be passed to the
+callback when invoked.</doc>
+            <type name="gpointer" c:type="void*"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="211">A #GDestroyNotify called when the listener is freed
+and data associated with the callback should be freed. It can be NULL.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor name="new_simple"
+                   c:identifier="atspi_device_listener_new_simple"
+                   introspectable="0">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.c"
+             line="232">Creates a new #AtspiDeviceListener with a specified callback function.
+This method is similar to #atspi_device_listener_new, but callback
+takes no user data.</doc>
+        <source-position filename="../atspi/atspi-device-listener.h"
+                         line="89"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-device-listener.c"
+               line="243">a pointer to a newly-created #AtspiDeviceListener.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     destroy="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="234">an #AtspiDeviceListenerCB callback function,
+           or NULL.</doc>
+            <type name="DeviceListenerSimpleCB"
+                  c:type="AtspiDeviceListenerSimpleCB"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="236">A #GDestroyNotify called when the listener is freed
+and data associated with the callback should be freed.  It an be NULL.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <virtual-method name="device_event">
+        <source-position filename="../atspi/atspi-device-listener.h"
+                         line="82"/>
+        <return-value transfer-ownership="none">
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+          </instance-parameter>
+          <parameter name="event" transfer-ownership="none">
+            <type name="DeviceEvent" c:type="const AtspiDeviceEvent*"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <method name="add_callback"
+              c:identifier="atspi_device_listener_add_callback">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.c"
+             line="253">Adds an in-process callback function to an existing #AtspiDeviceListener.</doc>
+        <source-position filename="../atspi/atspi-device-listener.h"
+                         line="91"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="255">the #AtspiDeviceListener instance to modify.</doc>
+            <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+          </instance-parameter>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     closure="2"
+                     destroy="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="256">an #AtspiDeviceListenerCB function pointer.</doc>
+            <type name="DeviceListenerCB" c:type="AtspiDeviceListenerCB"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="257">A #GDestroyNotify called when the listener is freed
+and data associated with the callback should be freed. It can be NULL.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="259">a pointer to data which will be passed to the
+            callback when invoked.</doc>
+            <type name="gpointer" c:type="void*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="remove_callback"
+              c:identifier="atspi_device_listener_remove_callback">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.c"
+             line="280">Removes an in-process callback function from an existing
+#AtspiDeviceListener.</doc>
+        <source-position filename="../atspi/atspi-device-listener.h"
+                         line="93"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="282">the #AtspiDeviceListener instance to modify.</doc>
+            <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+          </instance-parameter>
+          <parameter name="callback" transfer-ownership="none" scope="call">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-device-listener.c"
+                 line="283">an #AtspiDeviceListenerCB function pointer.</doc>
+            <type name="DeviceListenerCB" c:type="AtspiDeviceListenerCB"/>
+          </parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="id">
+        <type name="guint" c:type="guint"/>
+      </field>
+      <field name="callbacks">
+        <type name="GLib.List" c:type="GList*">
+          <type name="gpointer" c:type="gpointer"/>
+        </type>
+      </field>
+    </class>
+    <callback name="DeviceListenerCB" c:type="AtspiDeviceListenerCB">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-device-listener.h"
+           line="37">A callback function prototype via which clients receive device event 
notifications.</doc>
+      <source-position filename="../atspi/atspi-device-listener.h" line="48"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.h"
+             line="45">#TRUE if the client wishes to consume/preempt the event, preventing it from being
+relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="stroke" transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-device-listener.h"
+               line="39">The #AtspiDeviceEvent for which notification is
+         being received.</doc>
+          <type name="DeviceEvent" c:type="const AtspiDeviceEvent*"/>
+        </parameter>
+        <parameter name="user_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-device-listener.h"
+               line="41">Data which is passed to the client each time this callback is notified.</doc>
+          <type name="gpointer" c:type="void*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="DeviceListenerClass"
+            c:type="AtspiDeviceListenerClass"
+            glib:is-gtype-struct-for="DeviceListener">
+      <source-position filename="../atspi/atspi-device-listener.h" line="83"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+      <field name="device_event">
+        <callback name="device_event">
+          <source-position filename="../atspi/atspi-device-listener.h"
+                           line="82"/>
+          <return-value transfer-ownership="none">
+            <type name="gboolean" c:type="gboolean"/>
+          </return-value>
+          <parameters>
+            <parameter name="listener" transfer-ownership="none">
+              <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+            </parameter>
+            <parameter name="event" transfer-ownership="none">
+              <type name="DeviceEvent" c:type="const AtspiDeviceEvent*"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+    </record>
+    <callback name="DeviceListenerSimpleCB"
+              c:type="AtspiDeviceListenerSimpleCB">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-device-listener.h"
+           line="51">Similar to #AtspiDeviceListenerCB, but with no user data.</doc>
+      <source-position filename="../atspi/atspi-device-listener.h" line="61"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-device-listener.h"
+             line="58">#TRUE if the client wishes to consume/preempt the event, preventing it from being
+relayed to the currently focussed application, #FALSE if the event delivery should proceed as normal.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="stroke" transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-device-listener.h"
+               line="53">The #AtspiDeviceEvent for which notification is
+         being received.</doc>
+          <type name="DeviceEvent" c:type="const AtspiDeviceEvent*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <interface name="Document"
+               c:symbol-prefix="document"
+               c:type="AtspiDocument"
+               glib:type-name="AtspiDocument"
+               glib:get-type="atspi_document_get_type">
+      <method name="get_attribute_value"
+              c:identifier="atspi_document_get_attribute_value"
+              shadows="get_document_attribute_value"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="47">Gets the value of a single attribute, if specified for the document as a whole.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_document_get_document_attribute_value 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-document.h" line="51"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="54">a string corresponding to the value of the specified attribute, or
+an empty string if the attribute is unspecified for the object.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="49">a pointer to the #AtspiDocument object on which to operate.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+          <parameter name="attribute" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="50">a string indicating the name of a specific attribute.</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_attributes"
+              c:identifier="atspi_document_get_attributes"
+              shadows="get_document_attributes"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="95">Gets all constant attributes for the document as a whole. For attributes
+that change within the document content, see @atspi_text_get_attribute_run instead.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_document_get_document_attributes 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-document.h" line="57"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="102">a #GHashTable
+         containing the constant attributes of the document, as name-value pairs.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="97">a pointer to the #AtspiDocument object on which to operate.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_current_page_number"
+              c:identifier="atspi_document_get_current_page_number"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="155">Gets the current page number of an #AccessibleDocument object.</doc>
+        <source-position filename="../atspi/atspi-document.h" line="63"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="161">a #gint indicating the current page number in the
+#AccessibleDocument object.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="157">a pointer to the #AtspiDocument object to query.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_document_attribute_value"
+              c:identifier="atspi_document_get_document_attribute_value"
+              shadowed-by="get_attribute_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="67">Gets the value of a single attribute, if specified for the document as a whole.</doc>
+        <source-position filename="../atspi/atspi-document.h" line="54"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="74">a string corresponding to the value of the specified attribute, or
+an empty string if the attribute is unspecified for the object.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="69">a pointer to the #AtspiDocument object on which to operate.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+          <parameter name="attribute" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="70">a string indicating the name of a specific attribute.</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_document_attributes"
+              c:identifier="atspi_document_get_document_attributes"
+              shadowed-by="get_attributes"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="113">Gets all constant attributes for the document as a whole. For attributes
+that change within the document content, see @atspi_text_get_attribute_run instead.</doc>
+        <source-position filename="../atspi/atspi-document.h" line="60"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="120">a #GHashTable
+         containing the constant attributes of the document, as name-value pairs.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="115">a pointer to the #AtspiDocument object on which to operate.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_locale"
+              c:identifier="atspi_document_get_locale"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="26">Gets the locale associated with the document's content,
+e.g. the locale for LOCALE_TYPE_MESSAGES.</doc>
+        <source-position filename="../atspi/atspi-document.h" line="48"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="33">a string compliant with the POSIX standard for locale description.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="28">a pointer to the #AtspiDocument object on which to operate.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_page_count"
+              c:identifier="atspi_document_get_page_count"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-document.c"
+             line="134">Gets the page count of an #AccessibleDocument object.</doc>
+        <source-position filename="../atspi/atspi-document.h" line="62"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-document.c"
+               line="140">a #gint indicating the page count of an
+#AccessibleDocument object.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-document.c"
+                 line="136">a pointer to the #AtspiDocument object to query.</doc>
+            <type name="Document" c:type="AtspiDocument*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </interface>
+    <function-macro name="EDITABLE_TEXT"
+                    c:identifier="ATSPI_EDITABLE_TEXT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-editabletext.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="EDITABLE_TEXT_GET_IFACE"
+                    c:identifier="ATSPI_EDITABLE_TEXT_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-editabletext.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="EVENTTYPE_COUNT" value="4" c:type="ATSPI_EVENTTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="688">One higher than the highest valid value of #AtspiEventType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="693"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="EVENT_LISTENER"
+                    c:identifier="ATSPI_EVENT_LISTENER"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-event-listener.h" line="58"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="EVENT_LISTENER_CLASS"
+                    c:identifier="ATSPI_EVENT_LISTENER_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-event-listener.h" line="59"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="EVENT_LISTENER_GET_CLASS"
+                    c:identifier="ATSPI_EVENT_LISTENER_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-event-listener.h" line="62"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <interface name="EditableText"
+               c:symbol-prefix="editable_text"
+               c:type="AtspiEditableText"
+               glib:type-name="AtspiEditableText"
+               glib:get-type="atspi_editable_text_get_type">
+      <method name="copy_text"
+              c:identifier="atspi_editable_text_copy_text"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="117">Copies text from an #AtspiEditableText object into the system clipboard.
+
+see: #atspi_editable_text_paste_text</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="56"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="129">#TRUE if the operation was successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="119">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="start_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="120">a #gint indicating the starting character offset
+      of the text to copy.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="122">a #gint indicating the offset of the first character
+      past the end of the text section to be copied.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="cut_text"
+              c:identifier="atspi_editable_text_cut_text"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="146">Deletes text from an #AtspiEditableText object, copying the
+      excised portion into the system clipboard.
+
+see: #atspi_editable_text_paste_text</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="58"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="159">#TRUE if operation was successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="148">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="start_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="149">a #gint indicating the starting character offset
+      of the text to cut.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="151">a #gint indicating the offset of the first character
+      past the end of the text section to be cut.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="delete_text"
+              c:identifier="atspi_editable_text_delete_text"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="177">Deletes text from an #AtspiEditableText object, without copying the
+      excised portion into the system clipboard.
+
+see: #atspi_editable_text_cut_text</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="60"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="190">#TRUE if the operation was successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="179">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="start_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="180">a #gint indicating the starting character offset
+      of the text to delete.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_pos" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="182">a #gint indicating the offset of the first character
+      past the end of the text section to be deleted.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="insert_text"
+              c:identifier="atspi_editable_text_insert_text"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="83">Inserts text into an #AtspiEditableText object.
+As with all character offsets, the specified @position may not be the
+same as the resulting byte offset, since the text is in a
+variable-width encoding.</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="54"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="98">#TRUE if the operation was successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="85">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="position" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="86">a #gint indicating the character offset at which to insert
+      the new text.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="text" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="88">a string representing the text to insert, in UTF-8 encoding.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="length" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="89">the number of characters of text to insert, in bytes. If the
+byte count of text is less than or equal to length, the entire contents
+of text will be inserted.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="paste_text"
+              c:identifier="atspi_editable_text_paste_text"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="208">Inserts text from the system clipboard into an #AtspiEditableText object.
+As with all character offsets, the specified @position may not be the
+      same as the resulting byte offset, since the text is in a
+      variable-width encoding.</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="62"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="219">#TRUE if the operation was successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="210">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="position" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="211">a #gint indicating the character offset at which to insert
+      the new text.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_text_contents"
+              c:identifier="atspi_editable_text_set_text_contents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-editabletext.c"
+             line="59">Replace the entire text contents of an #AtspiEditableText object.</doc>
+        <source-position filename="../atspi/atspi-editabletext.h" line="52"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-editabletext.c"
+               line="67">#TRUE if the operation was successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="61">a pointer to the #AtspiEditableText object to modify.</doc>
+            <type name="EditableText" c:type="AtspiEditableText*"/>
+          </instance-parameter>
+          <parameter name="new_contents" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-editabletext.c"
+                 line="62">a character string, encoded in UTF-8, which is to
+     become the new text contents of the #AtspiEditableText object.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <record name="Event"
+            c:type="AtspiEvent"
+            glib:type-name="AtspiEvent"
+            glib:get-type="atspi_event_get_type"
+            c:symbol-prefix="event">
+      <source-position filename="../atspi/atspi-types.h" line="93"/>
+      <field name="type" writable="1">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="source" writable="1">
+        <type name="Accessible" c:type="AtspiAccessible*"/>
+      </field>
+      <field name="detail1" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="detail2" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="any_data" writable="1">
+        <type name="GObject.Value" c:type="GValue"/>
+      </field>
+      <field name="sender" writable="1">
+        <type name="Accessible" c:type="AtspiAccessible*"/>
+      </field>
+      <function name="main" c:identifier="atspi_event_main">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="957">Starts/enters the main event loop for the AT-SPI services.
+
+NOTE: This method does not return control; it is exited via a call to
+#atspi_event_quit from within an event handler.</doc>
+        <source-position filename="../atspi/atspi-misc.h" line="34"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </function>
+      <function name="quit" c:identifier="atspi_event_quit">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="974">Quits the last main event loop for the AT-SPI services,
+See: #atspi_event_main</doc>
+        <source-position filename="../atspi/atspi-misc.h" line="36"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </function>
+    </record>
+    <class name="EventListener"
+           c:symbol-prefix="event_listener"
+           c:type="AtspiEventListener"
+           parent="GObject.Object"
+           glib:type-name="AtspiEventListener"
+           glib:get-type="atspi_event_listener_get_type"
+           glib:type-struct="EventListenerClass">
+      <source-position filename="../atspi/atspi-event-listener.h" line="77"/>
+      <constructor name="new" c:identifier="atspi_event_listener_new">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="121">Creates a new #AtspiEventListener associated with a specified @callback.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h" line="82"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="131">A new #AtspiEventListener.</doc>
+          <type name="EventListener" c:type="AtspiEventListener*"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     closure="1"
+                     destroy="2">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="123">An #AtspiEventListenerCB to be called
+when an event is fired.</doc>
+            <type name="EventListenerCB" c:type="AtspiEventListenerCB"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="125">data to pass to the callback.</doc>
+            <type name="gpointer" c:type="gpointer"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="126">A #GDestroyNotify called when the listener is freed
+and data associated with the callback should be freed.  Can be NULL.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <constructor name="new_simple"
+                   c:identifier="atspi_event_listener_new_simple"
+                   introspectable="0">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="146">Creates a new #AtspiEventListener associated with a specified @callback.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h" line="87"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="154">A new #AtspiEventListener.</doc>
+          <type name="EventListener" c:type="AtspiEventListener*"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     destroy="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="148">An #AtspiEventListenerSimpleCB to be called
+when an event is fired.</doc>
+            <type name="EventListenerSimpleCB"
+                  c:type="AtspiEventListenerSimpleCB"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="150">A #GDestroyNotify called when the listener is freed
+and data associated with the callback should be freed.  Can be NULL.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <function name="deregister_from_callback"
+                c:identifier="atspi_event_listener_deregister_from_callback"
+                throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="776">Deregisters an #AtspiEventListenerCB from the registry, for a specific
+            event type.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="128"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="787">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="call"
+                     closure="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="778">the #AtspiEventListenerCB registered against an
+           event type.</doc>
+            <type name="EventListenerCB" c:type="AtspiEventListenerCB"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="780">User data that was passed in for this callback.</doc>
+            <type name="gpointer" c:type="void*"/>
+          </parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="781">a string specifying the event type for which this
+            listener is to be deregistered.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
+      <function name="deregister_no_data"
+                c:identifier="atspi_event_listener_deregister_no_data"
+                introspectable="0"
+                throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="853">deregisters an #AtspiEventListenerSimpleCB from the registry, for a specific
+            event type.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="134"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="863">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback" transfer-ownership="none" scope="call">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="855">the #AtspiEventListenerSimpleCB registered against
+           an event type.</doc>
+            <type name="EventListenerSimpleCB"
+                  c:type="AtspiEventListenerSimpleCB"/>
+          </parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="857">a string specifying the event type for which this
+            listener is to be deregistered.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
+      <function name="register_from_callback"
+                c:identifier="atspi_event_listener_register_from_callback"
+                throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="589">Registers an #AtspiEventListenerCB against an @event_type.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="102"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="601">#TRUE if successfull, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     closure="1"
+                     destroy="2">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="591">the #AtspiEventListenerCB to be registered
+against an event type.</doc>
+            <type name="EventListenerCB" c:type="AtspiEventListenerCB"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="593">User data to be passed to the callback.</doc>
+            <type name="gpointer" c:type="void*"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="594">A #GDestroyNotify called when the callback is destroyed.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="595">a character string indicating the type of events for which
+           notification is requested.  See #atspi_event_listener_register
+for a description of the format.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
+      <function name="register_from_callback_full"
+                c:identifier="atspi_event_listener_register_from_callback_full"
+                throws="1">
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="109"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="644">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     scope="notified"
+                     closure="1"
+                     destroy="2">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="637">an #AtspiEventListenerCB function pointer.</doc>
+            <type name="EventListenerCB" c:type="AtspiEventListenerCB"/>
+          </parameter>
+          <parameter name="user_data"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1"
+                     closure="0">
+            <type name="gpointer" c:type="void*"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async"
+                     destroy="0">
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="properties" transfer-ownership="none">
+            <array name="GLib.Array" c:type="GArray*">
+              <type name="utf8"/>
+            </array>
+          </parameter>
+        </parameters>
+      </function>
+      <function name="register_no_data"
+                c:identifier="atspi_event_listener_register_no_data"
+                introspectable="0"
+                throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="718">Registers an #AtspiEventListenetSimpleCB. The method is similar to
+#atspi_event_listener_register, but @callback takes no user_data.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="117"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="734">#TRUE if successfull, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="callback"
+                     transfer-ownership="none"
+                     scope="notified"
+                     destroy="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="720">the #AtspiEventListenerSimpleCB to be
+           registered against an event type.</doc>
+            <type name="EventListenerSimpleCB"
+                  c:type="AtspiEventListenerSimpleCB"/>
+          </parameter>
+          <parameter name="callback_destroyed"
+                     transfer-ownership="none"
+                     scope="async">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="722">A #GDestroyNotify called when the callback is destroyed.</doc>
+            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="723">a character string indicating the type of events for which
+           notification is requested.  Format is
+           EventClass:major_type:minor_type:detail
+           where all subfields other than EventClass are optional.
+           EventClasses include "object", "window", "mouse",
+           and toolkit events (e.g. "Gtk", "AWT").
+           Examples: "focus:", "Gtk:GtkWidget:button_press_event".</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </function>
+      <method name="deregister"
+              c:identifier="atspi_event_listener_deregister"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="755">Deregisters an #AtspiEventListener from the registry, for a specific
+            event type.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h"
+                         line="123"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="764">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="757">The #AtspiEventListener to deregister.</doc>
+            <type name="EventListener" c:type="AtspiEventListener*"/>
+          </instance-parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="758">a string specifying the event type for which this
+            listener is to be deregistered.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="register"
+              c:identifier="atspi_event_listener_register"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="426">Adds an in-process callback function to an existing #AtspiEventListener.
+
+Legal object event types:
+
+   (property change events)
+
+           object:property-change
+           object:property-change:accessible-name
+           object:property-change:accessible-description
+           object:property-change:accessible-parent
+           object:property-change:accessible-value
+           object:property-change:accessible-role
+           object:property-change:accessible-table-caption
+           object:property-change:accessible-table-column-description
+           object:property-change:accessible-table-column-header
+           object:property-change:accessible-table-row-description
+           object:property-change:accessible-table-row-header
+           object:property-change:accessible-table-summary
+
+   (other object events)
+
+           object:state-changed
+           object:children-changed
+           object:visible-data-changed
+           object:selection-changed
+           object:text-selection-changed
+           object:text-changed
+           object:text-caret-moved
+           object:row-inserted
+           object:row-reordered
+           object:row-deleted
+           object:column-inserted
+           object:column-reordered
+           object:column-deleted
+           object:model-changed
+           object:active-descendant-changed
+
+ (screen reader events)
+            screen-reader:region-changed
+
+ (window events)
+
+           window:minimize
+           window:maximize
+           window:restore
+           window:close
+           window:create
+           window:reparent
+           window:desktop-create
+           window:desktop-destroy
+           window:activate
+           window:deactivate
+           window:raise
+           window:lower
+           window:move
+           window:resize
+           window:shade
+           window:unshade
+           window:restyle
+
+ (other events)
+
+           focus:
+           mouse:abs
+           mouse:rel
+           mouse:b1p
+           mouse:b1r
+           mouse:b2p
+           mouse:b2r
+           mouse:b3p
+           mouse:b3r
+
+NOTE: this character string may be UTF-8, but should not contain byte
+value 56
+           (ascii ':'), except as a delimiter, since non-UTF-8 string
+           delimiting functions are used internally.
+           In general, listening to
+           toolkit-specific events is not recommended.
+
+Currently, object:text-reading-position needs to be specified explicitly
+(it is not implied by object:text), since it is generated by the screen
+reader and is thus a special case internally.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h" line="91"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="520">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="428">The #AtspiEventListener to register against an event type.</doc>
+            <type name="EventListener" c:type="AtspiEventListener*"/>
+          </instance-parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="429">a character string indicating the type of events for which
+           notification is requested.  Format is
+           EventClass:major_type:minor_type:detail
+           where all subfields other than EventClass are optional.
+           EventClasses include "object", "window", "mouse",
+           and toolkit events (e.g. "Gtk", "AWT").
+           Examples: "focus:", "Gtk:GtkWidget:button_press_event".</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="register_full"
+              c:identifier="atspi_event_listener_register_full"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-event-listener.c"
+             line="536">Adds an in-process callback function to an existing #AtspiEventListener.</doc>
+        <source-position filename="../atspi/atspi-event-listener.h" line="96"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.c"
+               line="549">#TRUE if successful, otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="listener" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="538">The #AtspiEventListener to register against an event type.</doc>
+            <type name="EventListener" c:type="AtspiEventListener*"/>
+          </instance-parameter>
+          <parameter name="event_type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="539">a character string indicating the type of events for which
+           notification is requested.  See #atspi_event_listener_register
+for a description of the format and legal event types.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="properties"
+                     transfer-ownership="none"
+                     nullable="1"
+                     allow-none="1">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-event-listener.c"
+                 line="542">a list of
+            properties that should be sent along with the event. The
+            properties are valued for the duration of the event callback.k
+            TODO: Document.</doc>
+            <array name="GLib.Array" c:type="GArray*">
+              <type name="utf8"/>
+            </array>
+          </parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="callback">
+        <type name="EventListenerCB" c:type="AtspiEventListenerCB"/>
+      </field>
+      <field name="user_data">
+        <type name="gpointer" c:type="void*"/>
+      </field>
+      <field name="cb_destroyed">
+        <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+      </field>
+    </class>
+    <callback name="EventListenerCB" c:type="AtspiEventListenerCB">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-event-listener.h"
+           line="37">A function prototype for callbacks via which clients are notified of AT-SPI 
events.</doc>
+      <source-position filename="../atspi/atspi-event-listener.h" line="45"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="event" transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.h"
+               line="39">The event for which notification is sent.</doc>
+          <type name="Event" c:type="AtspiEvent*"/>
+        </parameter>
+        <parameter name="user_data"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1"
+                   closure="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.h"
+               line="40">User data which is passed to the callback each time a notification takes 
place.</doc>
+          <type name="gpointer" c:type="void*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="EventListenerClass"
+            c:type="AtspiEventListenerClass"
+            glib:is-gtype-struct-for="EventListener">
+      <source-position filename="../atspi/atspi-event-listener.h" line="77"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <record name="EventListenerMode" c:type="AtspiEventListenerMode">
+      <source-position filename="../atspi/atspi-types.h" line="73"/>
+      <field name="synchronous" writable="1">
+        <type name="gboolean" c:type="gboolean"/>
+      </field>
+      <field name="preemptive" writable="1">
+        <type name="gboolean" c:type="gboolean"/>
+      </field>
+      <field name="global" writable="1">
+        <type name="gboolean" c:type="gboolean"/>
+      </field>
+    </record>
+    <callback name="EventListenerSimpleCB" c:type="AtspiEventListenerSimpleCB">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-event-listener.h"
+           line="48">Like #AtspiEventlistenerCB, but with no user_data.</doc>
+      <source-position filename="../atspi/atspi-event-listener.h" line="55"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="event" transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-event-listener.h"
+               line="50">The event for which notification is sent.</doc>
+          <type name="Event" c:type="const AtspiEvent*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="EventType"
+                 glib:type-name="AtspiEventType"
+                 glib:get-type="atspi_event_type_get_type"
+                 c:type="AtspiEventType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="665">Enumeration used to specify the event types of interest to an
+#AtspiEventListener, or
+to identify the type of an event for which notification has been sent.</doc>
+      <member name="key_pressed_event"
+              value="0"
+              c:identifier="ATSPI_KEY_PRESSED_EVENT"
+              glib:nick="key-pressed-event">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="667">Indicates that a key on a keyboard device was
+pressed.</doc>
+      </member>
+      <member name="key_released_event"
+              value="1"
+              c:identifier="ATSPI_KEY_RELEASED_EVENT"
+              glib:nick="key-released-event">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="669">Indicates that a key on a keyboard device was
+released.</doc>
+      </member>
+      <member name="button_pressed_event"
+              value="2"
+              c:identifier="ATSPI_BUTTON_PRESSED_EVENT"
+              glib:nick="button-pressed-event">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="671">Indicates that a button on a non-keyboard
+human interface device (HID) was pressed.</doc>
+      </member>
+      <member name="button_released_event"
+              value="3"
+              c:identifier="ATSPI_BUTTON_RELEASED_EVENT"
+              glib:nick="button-released-event">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="673">Indicates that a button on a non-keyboard
+human interface device (HID) was released.</doc>
+      </member>
+    </enumeration>
+    <function-macro name="HYPERLINK"
+                    c:identifier="ATSPI_HYPERLINK"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="HYPERLINK_CLASS"
+                    c:identifier="ATSPI_HYPERLINK_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="40"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="HYPERLINK_GET_CLASS"
+                    c:identifier="ATSPI_HYPERLINK_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="43"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="HYPERTEXT"
+                    c:identifier="ATSPI_HYPERTEXT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hypertext.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="HYPERTEXT_GET_IFACE"
+                    c:identifier="ATSPI_HYPERTEXT_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hypertext.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <class name="Hyperlink"
+           c:symbol-prefix="hyperlink"
+           c:type="AtspiHyperlink"
+           parent="Object"
+           glib:type-name="AtspiHyperlink"
+           glib:get-type="atspi_hyperlink_get_type"
+           glib:type-struct="HyperlinkClass">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="54"/>
+      <method name="get_end_index"
+              c:identifier="atspi_hyperlink_get_end_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="173">Gets the ending character offset of the text range associated with
+      an #AtspiHyperlink, in its originating #AtspiHypertext.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="71"/>
+        <return-value transfer-ownership="none">
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="175">a pointer to the #AtspiHyperlink implementor on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_index_range"
+              c:identifier="atspi_hyperlink_get_index_range"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="125">Gets the starting and ending character offsets of the text range
+associated with an #AtspiHyperlink, in its originating #AtspiHypertext.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="67"/>
+        <return-value transfer-ownership="full">
+          <type name="Range" c:type="AtspiRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="127">a pointer to the #AtspiHyperlink implementor on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_n_anchors"
+              c:identifier="atspi_hyperlink_get_n_anchors"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="51">Gets the total number of anchors which an #AtspiHyperlink implementor has.
+Though typical hyperlinks have only one anchor, client-side image maps and
+other hypertext objects may potentially activate or refer to multiple
+URIs.  For each anchor there is a corresponding URI and object.
+
+see: #atspi_hyperlink_get_uri and #atspi_hyperlink_get_object.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="61"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hyperlink.c"
+               line="62">a #gint indicating the number of anchors in this hyperlink.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="53">a pointer to the #AtspiHyperlink object on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_object"
+              c:identifier="atspi_hyperlink_get_object"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="101">Gets the object associated with a particular hyperlink anchor, as an
+#AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="65"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hyperlink.c"
+               line="109">an #AtspiAccessible that represents the object
+       associated with the @ith anchor of the specified #AtspiHyperlink.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="103">a pointer to the #AtspiHyperlink implementor on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="104">a (zero-index) #gint indicating which hyperlink anchor to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_start_index"
+              c:identifier="atspi_hyperlink_get_start_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="152">Gets the starting character offset of the text range associated with
+      an #AtspiHyperlink, in its originating #AtspiHypertext.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="69"/>
+        <return-value transfer-ownership="none">
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="154">a pointer to the #AtspiHyperlink implementor on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_uri" c:identifier="atspi_hyperlink_get_uri" throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="76">Gets the URI associated with a particular hyperlink anchor.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="63"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hyperlink.c"
+               line="83">a UTF-8 string giving the URI of the @ith hyperlink anchor.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="78">a pointer to the #AtspiHyperlink implementor on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="79">a (zero-index) integer indicating which hyperlink anchor to query.</doc>
+            <type name="gint" c:type="int"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="is_valid"
+              c:identifier="atspi_hyperlink_is_valid"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hyperlink.c"
+             line="196">Tells whether an #AtspiHyperlink object is still valid with respect to its
+         originating hypertext object.</doc>
+        <source-position filename="../atspi/atspi-hyperlink.h" line="73"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hyperlink.c"
+               line="203">#TRUE if the specified #AtspiHyperlink is still valid with respect
+         to its originating #AtspiHypertext object, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hyperlink.c"
+                 line="198">a pointer to the #AtspiHyperlink on which to operate.</doc>
+            <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="Object" c:type="AtspiObject"/>
+      </field>
+    </class>
+    <record name="HyperlinkClass"
+            c:type="AtspiHyperlinkClass"
+            glib:is-gtype-struct-for="Hyperlink">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="54"/>
+      <field name="parent_class">
+        <type name="ObjectClass" c:type="AtspiObjectClass"/>
+      </field>
+    </record>
+    <interface name="Hypertext"
+               c:symbol-prefix="hypertext"
+               c:type="AtspiHypertext"
+               glib:type-name="AtspiHypertext"
+               glib:get-type="atspi_hypertext_get_type">
+      <method name="get_link"
+              c:identifier="atspi_hypertext_get_link"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hypertext.c"
+             line="52">Gets the #AtspiHyperlink object at a specified index.</doc>
+        <source-position filename="../atspi/atspi-hypertext.h" line="51"/>
+        <return-value transfer-ownership="full" nullable="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hypertext.c"
+               line="59">the #AtspiHyperlink object
+         specified by @link_index.</doc>
+          <type name="Hyperlink" c:type="AtspiHyperlink*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hypertext.c"
+                 line="54">a pointer to the #AtspiHypertext implementor on which to operate.</doc>
+            <type name="Hypertext" c:type="AtspiHypertext*"/>
+          </instance-parameter>
+          <parameter name="link_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hypertext.c"
+                 line="55">a (zero-index) #gint indicating which hyperlink to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_link_index"
+              c:identifier="atspi_hypertext_get_link_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hypertext.c"
+             line="75">Gets the index of the #AtspiHyperlink object at a specified
+       character offset.</doc>
+        <source-position filename="../atspi/atspi-hypertext.h" line="53"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hypertext.c"
+               line="83">the linkIndex of the #AtspiHyperlink active at
+       character offset @character_offset, or -1 if there is
+       no hyperlink at the specified character offset.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hypertext.c"
+                 line="77">a pointer to the #AtspiHypertext implementor on which to operate.</doc>
+            <type name="Hypertext" c:type="AtspiHypertext*"/>
+          </instance-parameter>
+          <parameter name="character_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hypertext.c"
+                 line="78">a #gint specifying the character offset to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_n_links"
+              c:identifier="atspi_hypertext_get_n_links"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-hypertext.c"
+             line="27">Gets the total number of #AtspiHyperlink objects that an
+#AtspiHypertext implementor has.</doc>
+        <source-position filename="../atspi/atspi-hypertext.h" line="49"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-hypertext.c"
+               line="34">a #gint indicating the number of #AtspiHyperlink objects
+       of the #AtspiHypertext implementor, or -1 if
+       the number cannot be determined (for example, if the
+       #AtspiHypertext object is so large that it is not
+       all currently in the memory cache).</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-hypertext.c"
+                 line="29">a pointer to the #AtspiHypertext implementor on which to operate.</doc>
+            <type name="Hypertext" c:type="AtspiHypertext*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </interface>
+    <function-macro name="IMAGE" c:identifier="ATSPI_IMAGE" introspectable="0">
+      <source-position filename="../atspi/atspi-image.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IMAGE_GET_IFACE"
+                    c:identifier="ATSPI_IMAGE_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-image.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_ACCESSIBLE"
+                    c:identifier="ATSPI_IS_ACCESSIBLE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-accessible.h" line="42"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_ACCESSIBLE_CLASS"
+                    c:identifier="ATSPI_IS_ACCESSIBLE_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-accessible.h" line="43"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_ACTION"
+                    c:identifier="ATSPI_IS_ACTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-action.h" line="37"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_APPLICATION"
+                    c:identifier="ATSPI_IS_APPLICATION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-application.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_APPLICATION_CLASS"
+                    c:identifier="ATSPI_IS_APPLICATION_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-application.h" line="40"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_COLLECTION"
+                    c:identifier="ATSPI_IS_COLLECTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-collection.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_COMPONENT"
+                    c:identifier="ATSPI_IS_COMPONENT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-component.h" line="75"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_DEVICE_LISTENER"
+                    c:identifier="ATSPI_IS_DEVICE_LISTENER"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-device-listener.h" line="66"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_DEVICE_LISTENER_CLASS"
+                    c:identifier="ATSPI_IS_DEVICE_LISTENER_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-device-listener.h" line="67"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_DOCUMENT"
+                    c:identifier="ATSPI_IS_DOCUMENT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-document.h" line="37"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_EDITABLE_TEXT"
+                    c:identifier="ATSPI_IS_EDITABLE_TEXT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-editabletext.h" line="37"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_EVENT_LISTENER"
+                    c:identifier="ATSPI_IS_EVENT_LISTENER"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-event-listener.h" line="60"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_EVENT_LISTENER_CLASS"
+                    c:identifier="ATSPI_IS_EVENT_LISTENER_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-event-listener.h" line="61"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_HYPERLINK"
+                    c:identifier="ATSPI_IS_HYPERLINK"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="41"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_HYPERLINK_CLASS"
+                    c:identifier="ATSPI_IS_HYPERLINK_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hyperlink.h" line="42"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_HYPERTEXT"
+                    c:identifier="ATSPI_IS_HYPERTEXT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-hypertext.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_IMAGE"
+                    c:identifier="ATSPI_IS_IMAGE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-image.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_MATCH_RULE"
+                    c:identifier="ATSPI_IS_MATCH_RULE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-matchrule.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_MATCH_RULE_CLASS"
+                    c:identifier="ATSPI_IS_MATCH_RULE_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-matchrule.h" line="41"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_OBJECT"
+                    c:identifier="ATSPI_IS_OBJECT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-object.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_OBJECT_CLASS"
+                    c:identifier="ATSPI_IS_OBJECT_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-object.h" line="39"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_RELATION"
+                    c:identifier="ATSPI_IS_RELATION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-relation.h" line="36"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_SELECTION"
+                    c:identifier="ATSPI_IS_SELECTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-selection.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_STATE_SET"
+                    c:identifier="ATSPI_IS_STATE_SET"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-stateset.h" line="31"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_STATE_SET_CLASS"
+                    c:identifier="ATSPI_IS_STATE_SET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-stateset.h" line="32"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_TABLE"
+                    c:identifier="ATSPI_IS_TABLE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-table.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_TABLE_CELL"
+                    c:identifier="ATSPI_IS_TABLE_CELL"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-table-cell.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_TEXT"
+                    c:identifier="ATSPI_IS_TEXT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-text.h" line="72"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="IS_VALUE"
+                    c:identifier="ATSPI_IS_VALUE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-value.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <interface name="Image"
+               c:symbol-prefix="image"
+               c:type="AtspiImage"
+               glib:type-name="AtspiImage"
+               glib:get-type="atspi_image_get_type">
+      <method name="get_image_description"
+              c:identifier="atspi_image_get_image_description"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-image.c"
+             line="27">Gets the description of the image displayed in an #AtspiImage object.</doc>
+        <source-position filename="../atspi/atspi-image.h" line="49"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-image.c"
+               line="33">a UTF-8 string describing the image.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="29">a pointer to the #AtspiImage implementor on which to operate.</doc>
+            <type name="Image" c:type="AtspiImage*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_image_extents"
+              c:identifier="atspi_image_get_image_extents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-image.c"
+             line="111">Gets the bounding box of the image displayed in a
+        specified #AtspiImage implementor.
+The returned values are meaningful only if the Image has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-image.h" line="55"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-image.c"
+               line="122">a pointer to an #AtspiRect corresponding to the image's bounding box. The minimum 
x and y coordinates,
+width, and height are specified.</doc>
+          <type name="Rect" c:type="AtspiRect*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="113">a pointer to the #AtspiImage implementor to query.</doc>
+            <type name="Image" c:type="AtspiImage*"/>
+          </instance-parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="114">the desired coordinate system into which to return the results,
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_image_locale"
+              c:identifier="atspi_image_get_image_locale"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-image.c"
+             line="141">Gets the locale associated with an image and its textual representation.</doc>
+        <source-position filename="../atspi/atspi-image.h" line="57"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-image.c"
+               line="147">A POSIX LC_MESSAGES-style locale value for image description and text.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="143">a pointer to the #AtspiImage to query.</doc>
+            <type name="Image" c:type="AtspiImage*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_image_position"
+              c:identifier="atspi_image_get_image_position"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-image.c"
+             line="75">Gets the minimum x and y coordinates of the image displayed in a
+        specified #AtspiImage implementor.
+The returned values are meaningful only if the Image has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-image.h" line="53"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-image.c"
+               line="86">a pointer to an #AtspiPoint where x and y correspond to the
+minimum coordinates of the displayed image.</doc>
+          <type name="Point" c:type="AtspiPoint*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="77">a pointer to the #AtspiImage implementor to query.</doc>
+            <type name="Image" c:type="AtspiImage*"/>
+          </instance-parameter>
+          <parameter name="ctype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="78">the desired coordinate system into which to return the results,
+        (e.g. ATSPI_COORD_TYPE_WINDOW, ATSPI_COORD_TYPE_SCREEN).</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_image_size"
+              c:identifier="atspi_image_get_image_size"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-image.c"
+             line="47">Gets the size of the image displayed in a specified #AtspiImage object.
+The returned values are meaningful only if the Image has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-image.h" line="51"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-image.c"
+               line="55">a pointer to an #AtspiPoint where x corresponds to
+the image's width and y corresponds to the image's height.</doc>
+          <type name="Point" c:type="AtspiPoint*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-image.c"
+                 line="49">a pointer to the #AtspiImage to query.</doc>
+            <type name="Image" c:type="AtspiImage*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </interface>
+    <constant name="KEYEVENTTYPE_COUNT"
+              value="2"
+              c:type="ATSPI_KEYEVENTTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="658">One higher than the highest valid value of #AtspiKeyEventType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="663"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <constant name="KEYSYNTHTYPE_COUNT"
+              value="5"
+              c:type="ATSPI_KEYSYNTHTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="735">One higher than the highest valid value of #AtspiKeySynthType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="740"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <record name="KeyDefinition"
+            c:type="AtspiKeyDefinition"
+            glib:type-name="AtspiKeyDefinition"
+            glib:get-type="atspi_key_definition_get_type"
+            c:symbol-prefix="key_definition">
+      <source-position filename="../atspi/atspi-types.h" line="82"/>
+      <field name="keycode" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="keysym" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="keystring" writable="1">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+      <field name="unused" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+    </record>
+    <enumeration name="KeyEventType"
+                 glib:type-name="AtspiKeyEventType"
+                 glib:get-type="atspi_key_event_type_get_type"
+                 c:type="AtspiKeyEventType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="645">Deprecated. Should not be used.</doc>
+      <member name="pressed"
+              value="0"
+              c:identifier="ATSPI_KEY_PRESSED"
+              glib:nick="pressed">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="647">Key press event</doc>
+      </member>
+      <member name="released"
+              value="1"
+              c:identifier="ATSPI_KEY_RELEASED"
+              glib:nick="released">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="648">Key release event</doc>
+      </member>
+    </enumeration>
+    <bitfield name="KeyListenerSyncType"
+              glib:type-name="AtspiKeyListenerSyncType"
+              glib:get-type="atspi_key_listener_sync_type_get_type"
+              c:type="AtspiKeyListenerSyncType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-types.h"
+           line="128">Specifies the type of a key listener event.
+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.</doc>
+      <member name="nosync"
+              value="0"
+              c:identifier="ATSPI_KEYLISTENER_NOSYNC"
+              glib:nick="nosync">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-types.h"
+             line="130">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.</doc>
+      </member>
+      <member name="synchronous"
+              value="1"
+              c:identifier="ATSPI_KEYLISTENER_SYNCHRONOUS"
+              glib:nick="synchronous">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-types.h"
+             line="133">Events are delivered synchronously, before the
+currently focussed application sees them.</doc>
+      </member>
+      <member name="canconsume"
+              value="2"
+              c:identifier="ATSPI_KEYLISTENER_CANCONSUME"
+              glib:nick="canconsume">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-types.h"
+             line="135">Events may be consumed by the AT client.  Presumes and
+requires #ATSPI_KEYLISTENER_SYNCHRONOUS, incompatible with #ATSPI_KEYLISTENER_NOSYNC.</doc>
+      </member>
+      <member name="all_windows"
+              value="4"
+              c:identifier="ATSPI_KEYLISTENER_ALL_WINDOWS"
+              glib:nick="all-windows">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-types.h"
+             line="137">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.</doc>
+      </member>
+    </bitfield>
+    <record name="KeySet" c:type="AtspiKeySet">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-types.h"
+           line="111">Structure containing identifying information about a set of keycode or
+       keysyms.</doc>
+      <source-position filename="../atspi/atspi-types.h" line="126"/>
+      <field name="keysyms" writable="1">
+        <type name="guint" c:type="guint*"/>
+      </field>
+      <field name="keycodes" writable="1">
+        <type name="gushort" c:type="gushort*"/>
+      </field>
+      <field name="keystrings" writable="1">
+        <type name="utf8" c:type="gchar**"/>
+      </field>
+      <field name="len" writable="1">
+        <type name="gshort" c:type="gshort"/>
+      </field>
+    </record>
+    <enumeration name="KeySynthType"
+                 glib:type-name="AtspiKeySynthType"
+                 glib:get-type="atspi_key_synth_type_get_type"
+                 c:type="AtspiKeySynthType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="695">Enumeration used when synthesizing keyboard input via
+#atspi_generate_keyboard_event.</doc>
+      <member name="press"
+              value="0"
+              c:identifier="ATSPI_KEY_PRESS"
+              glib:nick="press">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="697">Emulates the pressing of a hardware keyboard key.</doc>
+      </member>
+      <member name="release"
+              value="1"
+              c:identifier="ATSPI_KEY_RELEASE"
+              glib:nick="release">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="698">Emulates the release of a hardware keyboard key.</doc>
+      </member>
+      <member name="pressrelease"
+              value="2"
+              c:identifier="ATSPI_KEY_PRESSRELEASE"
+              glib:nick="pressrelease">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="699">Emulates the pressing and immediate releasing
+of a hardware keyboard key.</doc>
+      </member>
+      <member name="sym"
+              value="3"
+              c:identifier="ATSPI_KEY_SYM"
+              glib:nick="sym">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="701">A symbolic key event is generated, without specifying a
+hardware key. Note: if the keysym is not present in the current keyboard
+map, the #AtspiDeviceEventController instance has a limited ability to
+generate such keysyms on-the-fly. Reliability of GenerateKeyboardEvent
+calls using out-of-keymap keysyms will vary from system to system, and on
+the number of different out-of-keymap keysyms being generated in quick
+succession.
+In practice this is rarely significant, since the keysyms of interest to
+AT clients and keyboard emulators are usually part of the current keymap,
+i.e., present on the system keyboard for the current locale (even if a
+physical hardware keyboard is not connected).</doc>
+      </member>
+      <member name="string"
+              value="4"
+              c:identifier="ATSPI_KEY_STRING"
+              glib:nick="string">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="712">A string is converted to its equivalent keyboard events
+and emitted. If the string consists of complex characters or composed
+characters which are not in the current keymap, string emission is
+subject to the out-of-keymap limitations described for
+@ATSPI_KEY_SYM. In practice this limitation primarily effects
+Chinese and Japanese locales.</doc>
+      </member>
+      <member name="lockmodifiers"
+              value="5"
+              c:identifier="ATSPI_KEY_LOCKMODIFIERS"
+              glib:nick="lockmodifiers">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="718">Emulates locking a set of modifiers.</doc>
+      </member>
+      <member name="unlockmodifiers"
+              value="6"
+              c:identifier="ATSPI_KEY_UNLOCKMODIFIERS"
+              glib:nick="unlockmodifiers">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="719">Emulates unlocking a set of modifiers.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="LocaleType"
+                 glib:type-name="AtspiLocaleType"
+                 glib:get-type="atspi_locale_type_get_type"
+                 c:type="AtspiLocaleType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="93">Used by interfaces #AtspiText and #AtspiDocument, this
+enumeration corresponds to the POSIX 'setlocale' enum values.</doc>
+      <member name="messages"
+              value="0"
+              c:identifier="ATSPI_LOCALE_TYPE_MESSAGES"
+              glib:nick="messages">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="95">For localizable natural-language messages.</doc>
+      </member>
+      <member name="collate"
+              value="1"
+              c:identifier="ATSPI_LOCALE_TYPE_COLLATE"
+              glib:nick="collate">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="96">For regular expression matching and string
+collation.</doc>
+      </member>
+      <member name="ctype"
+              value="2"
+              c:identifier="ATSPI_LOCALE_TYPE_CTYPE"
+              glib:nick="ctype">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="98">For regular expression matching, character
+classification, conversion, case-sensitive comparison, and wide character
+functions.</doc>
+      </member>
+      <member name="monetary"
+              value="3"
+              c:identifier="ATSPI_LOCALE_TYPE_MONETARY"
+              glib:nick="monetary">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="101">For monetary formatting.</doc>
+      </member>
+      <member name="numeric"
+              value="4"
+              c:identifier="ATSPI_LOCALE_TYPE_NUMERIC"
+              glib:nick="numeric">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="102">For number formatting (such as the decimal
+point and the thousands separator).</doc>
+      </member>
+      <member name="time"
+              value="5"
+              c:identifier="ATSPI_LOCALE_TYPE_TIME"
+              glib:nick="time">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="104">For time and date formatting.</doc>
+      </member>
+    </enumeration>
+    <constant name="MATCHTYPES_COUNT"
+              value="6"
+              c:type="ATSPI_MATCHTYPES_COUNT">
+      <source-position filename="../atspi/atspi-constants.h" line="217"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="MATCH_RULE"
+                    c:identifier="ATSPI_MATCH_RULE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-matchrule.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="MATCH_RULE_CLASS"
+                    c:identifier="ATSPI_MATCH_RULE_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-matchrule.h" line="39"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="MATCH_RULE_GET_CLASS"
+                    c:identifier="ATSPI_MATCH_RULE_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-matchrule.h" line="42"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="MODIFIERTYPE_COUNT"
+              value="8"
+              c:type="ATSPI_MODIFIERTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="773">One higher than the highest valid value of #AtspiModifierType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="778"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <class name="MatchRule"
+           c:symbol-prefix="match_rule"
+           c:type="AtspiMatchRule"
+           parent="GObject.Object"
+           glib:type-name="AtspiMatchRule"
+           glib:get-type="atspi_match_rule_get_type"
+           glib:type-struct="MatchRuleClass">
+      <source-position filename="../atspi/atspi-matchrule.h" line="63"/>
+      <constructor name="new" c:identifier="atspi_match_rule_new">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-matchrule.c"
+             line="82">Creates a new #AtspiMatchRule with specified @states, @attributes,
+@interfaces, and @roles.</doc>
+        <source-position filename="../atspi/atspi-matchrule.h" line="68"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-matchrule.c"
+               line="113">A new #AtspiMatchRule.</doc>
+          <type name="MatchRule" c:type="AtspiMatchRule*"/>
+        </return-value>
+        <parameters>
+          <parameter name="states" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="84">An #AtspiStateSet specifying the states to match or NULL if none.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </parameter>
+          <parameter name="statematchtype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="85">An #AtspiCollectionMatchType specifying how to interpret
+         @states.</doc>
+            <type name="CollectionMatchType"
+                  c:type="AtspiCollectionMatchType"/>
+          </parameter>
+          <parameter name="attributes" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="87">A #GHashTable specifying
+         attributes to match. To specify multiple attribute values,
+         separate each value with a :: If an attribute value contains a :,
+         then it can be escaped by preceding it with a \. A backslash can
+         likewise be escaped by inserting a double backslash.</doc>
+            <type name="GLib.HashTable" c:type="GHashTable*">
+              <type name="utf8"/>
+              <type name="utf8"/>
+            </type>
+          </parameter>
+          <parameter name="attributematchtype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="92">An #AtspiCollectionMatchType specifying how to
+         interpret @attributes.</doc>
+            <type name="CollectionMatchType"
+                  c:type="AtspiCollectionMatchType"/>
+          </parameter>
+          <parameter name="roles" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="100">A #GArray of roles to match, or NULL if
+         not applicable.</doc>
+            <array name="GLib.Array" c:type="GArray*">
+              <type name="Role"/>
+            </array>
+          </parameter>
+          <parameter name="rolematchtype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="102">An #AtspiCollectionMatchType specifying how to
+         interpret @roles.</doc>
+            <type name="CollectionMatchType"
+                  c:type="AtspiCollectionMatchType"/>
+          </parameter>
+          <parameter name="interfaces" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="94">An array of interfaces to match, or
+         NULL if not applicable.  Interface names should be specified
+         by their DBus names (org.a11y.Atspi.Accessible,
+         org.a11y.Atspi.Component, etc).</doc>
+            <array name="GLib.Array" c:type="GArray*">
+              <type name="utf8"/>
+            </array>
+          </parameter>
+          <parameter name="interfacematchtype" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="98">An #AtspiCollectionMatchType specifying how to
+         interpret @interfaces.</doc>
+            <type name="CollectionMatchType"
+                  c:type="AtspiCollectionMatchType"/>
+          </parameter>
+          <parameter name="invert" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-matchrule.c"
+                 line="104">if #TRUE, the match rule should be denied (inverted); if #FALSE,
+         it should not. For example, if the match rule defines that a match is
+         an object of ROLE_HEADING which has STATE_FOCUSABLE and a click action,
+         inverting it would match all objects that are not of ROLE_HEADING,
+         focusable and clickable at the same time.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="states">
+        <type name="StateSet" c:type="AtspiStateSet*"/>
+      </field>
+      <field name="statematchtype">
+        <type name="CollectionMatchType" c:type="AtspiCollectionMatchType"/>
+      </field>
+      <field name="attributes">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="gpointer" c:type="gpointer"/>
+          <type name="gpointer" c:type="gpointer"/>
+        </type>
+      </field>
+      <field name="attributematchtype">
+        <type name="CollectionMatchType" c:type="AtspiCollectionMatchType"/>
+      </field>
+      <field name="interfaces">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="gpointer" c:type="gpointer"/>
+        </array>
+      </field>
+      <field name="interfacematchtype">
+        <type name="CollectionMatchType" c:type="AtspiCollectionMatchType"/>
+      </field>
+      <field name="roles">
+        <array zero-terminated="0" fixed-size="4">
+          <type name="gint" c:type="gint"/>
+        </array>
+      </field>
+      <field name="rolematchtype">
+        <type name="CollectionMatchType" c:type="AtspiCollectionMatchType"/>
+      </field>
+      <field name="invert">
+        <type name="gboolean" c:type="gboolean"/>
+      </field>
+    </class>
+    <record name="MatchRuleClass"
+            c:type="AtspiMatchRuleClass"
+            glib:is-gtype-struct-for="MatchRule">
+      <source-position filename="../atspi/atspi-matchrule.h" line="63"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <enumeration name="ModifierType"
+                 glib:type-name="AtspiModifierType"
+                 glib:get-type="atspi_modifier_type_get_type"
+                 c:type="AtspiModifierType">
+      <member name="shift"
+              value="0"
+              c:identifier="ATSPI_MODIFIER_SHIFT"
+              glib:nick="shift">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="744">The left or right 'Shift' key.</doc>
+      </member>
+      <member name="shiftlock"
+              value="1"
+              c:identifier="ATSPI_MODIFIER_SHIFTLOCK"
+              glib:nick="shiftlock">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="745">The ShiftLock or CapsLock key.</doc>
+      </member>
+      <member name="control"
+              value="2"
+              c:identifier="ATSPI_MODIFIER_CONTROL"
+              glib:nick="control">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="746">'Control'/'Ctrl'.</doc>
+      </member>
+      <member name="alt"
+              value="3"
+              c:identifier="ATSPI_MODIFIER_ALT"
+              glib:nick="alt">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="747">The Alt key (as opposed to AltGr).</doc>
+      </member>
+      <member name="meta"
+              value="4"
+              c:identifier="ATSPI_MODIFIER_META"
+              glib:nick="meta">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="748">Depending on the platform, this may map to 'Window',
+'Function', 'Meta', 'Menu', or 'NumLock'. Such 'Meta keys' will
+map to one of META, META2, META3. On X Windows platforms these META
+values map to the modifier masks Mod1Mask, Mod2Mask, Mod3Mask, e.g. an
+event having @ATSPI_MODIFIER_META2 means that the 'Mod2Mask' bit
+is set in the corresponding XEvent.</doc>
+      </member>
+      <member name="meta2"
+              value="5"
+              c:identifier="ATSPI_MODIFIER_META2"
+              glib:nick="meta2">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="754">See @ATSPI_MODIFIER_META.</doc>
+      </member>
+      <member name="meta3"
+              value="6"
+              c:identifier="ATSPI_MODIFIER_META3"
+              glib:nick="meta3">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="755">See @ATSPI_MODIFIER_META.</doc>
+      </member>
+      <member name="numlock"
+              value="14"
+              c:identifier="ATSPI_MODIFIER_NUMLOCK"
+              glib:nick="numlock">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="756">A symbolic meta key name that is mapped by AT-SPI
+to the appropriate META value, for the convenience of the client.</doc>
+      </member>
+    </enumeration>
+    <function-macro name="OBJECT"
+                    c:identifier="ATSPI_OBJECT"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-object.h" line="36"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="OBJECT_CLASS"
+                    c:identifier="ATSPI_OBJECT_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-object.h" line="37"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="OBJECT_GET_CLASS"
+                    c:identifier="ATSPI_OBJECT_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-object.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <class name="Object"
+           c:symbol-prefix="object"
+           c:type="AtspiObject"
+           parent="GObject.Object"
+           glib:type-name="AtspiObject"
+           glib:get-type="atspi_object_get_type"
+           glib:type-struct="ObjectClass">
+      <source-position filename="../atspi/atspi-object.h" line="54"/>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="app">
+        <type name="Application" c:type="AtspiApplication*"/>
+      </field>
+      <field name="path">
+        <type name="utf8" c:type="char*"/>
+      </field>
+    </class>
+    <record name="ObjectClass"
+            c:type="AtspiObjectClass"
+            glib:is-gtype-struct-for="Object">
+      <source-position filename="../atspi/atspi-object.h" line="54"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <record name="Point"
+            c:type="AtspiPoint"
+            glib:type-name="AtspiPoint"
+            glib:get-type="atspi_point_get_type"
+            c:symbol-prefix="point">
+      <source-position filename="../atspi/atspi-component.h" line="61"/>
+      <field name="x" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="y" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <method name="copy" c:identifier="atspi_point_copy">
+        <source-position filename="../atspi/atspi-component.h" line="72"/>
+        <return-value transfer-ownership="full">
+          <type name="Point" c:type="AtspiPoint*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="src" transfer-ownership="none">
+            <type name="Point" c:type="AtspiPoint*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </record>
+    <function-macro name="RELATION"
+                    c:identifier="ATSPI_RELATION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-relation.h" line="37"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="RELATIONTYPE_COUNT"
+              value="24"
+              c:type="ATSPI_RELATIONTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="911">One higher than the highest valid value of #AtspiRelationType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="916"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="RELATION_GET_IFACE"
+                    c:identifier="ATSPI_RELATION_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-relation.h" line="38"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="ROLE_COUNT" value="130" c:type="ATSPI_ROLE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="1395">One higher than the highest valid value of #AtspiRole.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="1400"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <record name="Range"
+            c:type="AtspiRange"
+            glib:type-name="AtspiRange"
+            glib:get-type="atspi_range_get_type"
+            c:symbol-prefix="range">
+      <source-position filename="../atspi/atspi-text.h" line="42"/>
+      <field name="start_offset" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="end_offset" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <method name="copy" c:identifier="atspi_range_copy">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="26">Gets a copy of an #AtspiRange object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="54"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="32">the #AtspiRange copy of an #AtspiRange object.</doc>
+          <type name="Range" c:type="AtspiRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="src" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="28">a pointer to the source #AtspiRange object that will be copied.</doc>
+            <type name="Range" c:type="AtspiRange*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </record>
+    <record name="Rect"
+            c:type="AtspiRect"
+            glib:type-name="AtspiRect"
+            glib:get-type="atspi_rect_get_type"
+            c:symbol-prefix="rect">
+      <source-position filename="../atspi/atspi-component.h" line="43"/>
+      <field name="x" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="y" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="width" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="height" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <method name="copy" c:identifier="atspi_rect_copy">
+        <source-position filename="../atspi/atspi-component.h" line="54"/>
+        <return-value transfer-ownership="full">
+          <type name="Rect" c:type="AtspiRect*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="src" transfer-ownership="none">
+            <type name="Rect" c:type="AtspiRect*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </record>
+    <class name="Relation"
+           c:symbol-prefix="relation"
+           c:type="AtspiRelation"
+           parent="GObject.Object"
+           glib:type-name="AtspiRelation"
+           glib:get-type="atspi_relation_get_type"
+           glib:type-struct="RelationClass">
+      <source-position filename="../atspi/atspi-relation.h" line="54"/>
+      <method name="get_n_targets" c:identifier="atspi_relation_get_n_targets">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-relation.c"
+             line="43">Gets the number of objects which this relationship has as its
+      target objects (the subject is the #AtspiAccessible from which this
+      #AtspiRelation originated).</doc>
+        <source-position filename="../atspi/atspi-relation.h" line="58"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-relation.c"
+               line="51">a #gint indicating how many target objects which the
+      originating #AtspiAccessible object has the #AtspiRelation
+      relationship with.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-relation.c"
+                 line="45">a pointer to the #AtspiRelation object to query.</doc>
+            <type name="Relation" c:type="AtspiRelation*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_relation_type"
+              c:identifier="atspi_relation_get_relation_type">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-relation.c"
+             line="27">Gets the type of relationship represented by an #AtspiRelation.</doc>
+        <source-position filename="../atspi/atspi-relation.h" line="56"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-relation.c"
+               line="33">an #AtspiRelationType indicating the type of relation
+        encapsulated in this #AtspiRelation object.</doc>
+          <type name="RelationType" c:type="AtspiRelationType"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-relation.c"
+                 line="29">a pointer to the #AtspiRelation object to query.</doc>
+            <type name="Relation" c:type="AtspiRelation*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_target" c:identifier="atspi_relation_get_target">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-relation.c"
+             line="61">Gets the @i-th target of a specified #AtspiRelation relationship.</doc>
+        <source-position filename="../atspi/atspi-relation.h" line="60"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-relation.c"
+               line="68">an #AtspiAccessible which is the @i-th object
+         with which the originating #AtspiAccessible has relationship
+         specified in the #AtspiRelation object.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-relation.c"
+                 line="63">a pointer to the #AtspiRelation object to query.</doc>
+            <type name="Relation" c:type="AtspiRelation*"/>
+          </instance-parameter>
+          <parameter name="i" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-relation.c"
+                 line="64">a (zero-index) #gint indicating which (of possibly several) target is 
requested.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="relation_type">
+        <type name="RelationType" c:type="AtspiRelationType"/>
+      </field>
+      <field name="targets">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="gpointer" c:type="gpointer"/>
+        </array>
+      </field>
+    </class>
+    <record name="RelationClass"
+            c:type="AtspiRelationClass"
+            glib:is-gtype-struct-for="Relation">
+      <source-position filename="../atspi/atspi-relation.h" line="54"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <enumeration name="RelationType"
+                 glib:type-name="AtspiRelationType"
+                 glib:get-type="atspi_relation_type_get_type"
+                 c:type="AtspiRelationType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="780">#AtspiRelationType specifies a relationship between objects
+(possibly one-to-many
+or many-to-one) outside of the normal parent/child hierarchical
+relationship. It allows better semantic       identification of how objects
+are associated with one another.       For instance the
+@ATSPI_RELATION_LABELLED_BY
+relationship may be used to identify labelling information       that should
+accompany the accessible name property when presenting an object's content or
+identity       to the end user.  Similarly,
+@ATSPI_RELATION_CONTROLLER_FOR can be used
+to further specify the context in which a valuator is useful, and/or the
+other UI components which are directly effected by user interactions with
+the valuator. Common examples include association of scrollbars with the
+viewport or panel which they control.
+
+
+Enumeration used to specify
+the type of relation encapsulated in an #AtspiRelation object.</doc>
+      <member name="null"
+              value="0"
+              c:identifier="ATSPI_RELATION_NULL"
+              glib:nick="null">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="782">Not a meaningful relationship; clients should not
+normally encounter this #AtspiRelationType value.</doc>
+      </member>
+      <member name="label_for"
+              value="1"
+              c:identifier="ATSPI_RELATION_LABEL_FOR"
+              glib:nick="label-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="784">Object is a label for one or more other objects.</doc>
+      </member>
+      <member name="labelled_by"
+              value="2"
+              c:identifier="ATSPI_RELATION_LABELLED_BY"
+              glib:nick="labelled-by">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="785">Object is labelled by one or more other
+objects.</doc>
+      </member>
+      <member name="controller_for"
+              value="3"
+              c:identifier="ATSPI_RELATION_CONTROLLER_FOR"
+              glib:nick="controller-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="787">Object is an interactive object which
+modifies the state, onscreen location, or other attributes of one or more
+target objects.</doc>
+      </member>
+      <member name="controlled_by"
+              value="4"
+              c:identifier="ATSPI_RELATION_CONTROLLED_BY"
+              glib:nick="controlled-by">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="790">Object state, position, etc. is
+modified/controlled by user interaction with one or more other objects.
+For instance a viewport or scroll pane may be @ATSPI_RELATION_CONTROLLED_BY
+scrollbars.</doc>
+      </member>
+      <member name="member_of"
+              value="5"
+              c:identifier="ATSPI_RELATION_MEMBER_OF"
+              glib:nick="member-of">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="794">Object has a grouping relationship (e.g. 'same
+group as') to one or more other objects.</doc>
+      </member>
+      <member name="tooltip_for"
+              value="6"
+              c:identifier="ATSPI_RELATION_TOOLTIP_FOR"
+              glib:nick="tooltip-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="796">Object is a tooltip associated with another
+object.</doc>
+      </member>
+      <member name="node_child_of"
+              value="7"
+              c:identifier="ATSPI_RELATION_NODE_CHILD_OF"
+              glib:nick="node-child-of">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="798">Object is a child of the target.</doc>
+      </member>
+      <member name="node_parent_of"
+              value="8"
+              c:identifier="ATSPI_RELATION_NODE_PARENT_OF"
+              glib:nick="node-parent-of">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="799">Object is a parent of the target.</doc>
+      </member>
+      <member name="extended"
+              value="9"
+              c:identifier="ATSPI_RELATION_EXTENDED"
+              glib:nick="extended">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="800">Used to indicate that a relationship exists, but
+its type is not specified in the enumeration.</doc>
+      </member>
+      <member name="flows_to"
+              value="10"
+              c:identifier="ATSPI_RELATION_FLOWS_TO"
+              glib:nick="flows-to">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="802">Object renders content which flows logically to
+another object. For instance, text in a paragraph may flow to another
+object which is not the 'next sibling' in the accessibility hierarchy.</doc>
+      </member>
+      <member name="flows_from"
+              value="11"
+              c:identifier="ATSPI_RELATION_FLOWS_FROM"
+              glib:nick="flows-from">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="805">Reciprocal of @ATSPI_RELATION_FLOWS_TO.</doc>
+      </member>
+      <member name="subwindow_of"
+              value="12"
+              c:identifier="ATSPI_RELATION_SUBWINDOW_OF"
+              glib:nick="subwindow-of">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="806">Object is visually and semantically considered
+a subwindow of another object, even though it is not the object's child.
+Useful when dealing with embedded applications and other cases where the
+widget hierarchy does not map cleanly to the onscreen presentation.</doc>
+      </member>
+      <member name="embeds"
+              value="13"
+              c:identifier="ATSPI_RELATION_EMBEDS"
+              glib:nick="embeds">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="810">Similar to @ATSPI_RELATION_SUBWINDOW_OF, but
+specifically used for cross-process embedding.</doc>
+      </member>
+      <member name="embedded_by"
+              value="14"
+              c:identifier="ATSPI_RELATION_EMBEDDED_BY"
+              glib:nick="embedded-by">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="812">Reciprocal of @ATSPI_RELATION_EMBEDS. Used to
+denote content rendered by embedded renderers that live in a separate process
+space from the embedding context.</doc>
+      </member>
+      <member name="popup_for"
+              value="15"
+              c:identifier="ATSPI_RELATION_POPUP_FOR"
+              glib:nick="popup-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="815">Denotes that the object is a transient window or
+frame associated with another onscreen object. Similar to @ATSPI_TOOLTIP_FOR,
+but more general. Useful for windows which are technically toplevels
+but which, for one or more reasons, do not explicitly cause their
+associated window to lose 'window focus'. Creation of an @ATSPI_ROLE_WINDOW
+object with the @ATSPI_RELATION_POPUP_FOR relation usually requires
+some presentation action on the part
+of assistive technology clients, even though the previous toplevel
+@ATSPI_ROLE_FRAME object may still be the active window.</doc>
+      </member>
+      <member name="parent_window_of"
+              value="16"
+              c:identifier="ATSPI_RELATION_PARENT_WINDOW_OF"
+              glib:nick="parent-window-of">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="824">This is the reciprocal relation to
+@ATSPI_RELATION_POPUP_FOR.</doc>
+      </member>
+      <member name="description_for"
+              value="17"
+              c:identifier="ATSPI_RELATION_DESCRIPTION_FOR"
+              glib:nick="description-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="838">Reciprocal of %ATSPI_RELATION_DESCRIBED_BY.
+Indicates that this object provides descriptive information about the target
+object(s). See also %ATSPI_RELATION_DETAILS_FOR and %ATSPI_RELATION_ERROR_FOR.</doc>
+      </member>
+      <member name="described_by"
+              value="18"
+              c:identifier="ATSPI_RELATION_DESCRIBED_BY"
+              glib:nick="described-by">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="826">Reciprocal of %ATSPI_RELATION_DESCRIPTION_FOR.
+Indicates that one or more target objects provide descriptive information
+about this object. This relation type is most appropriate for information
+that is not essential as its presentation may be user-configurable and/or
+limited to an on-demand mechanism such as an assistive technology command.
+For brief, essential information such as can be found in a widget's on-screen
+label, use %ATSPI_RELATION_LABELLED_BY. For an on-screen error message, use
+%ATSPI_RELATION_ERROR_MESSAGE. For lengthy extended descriptive information
+contained in an on-screen object, consider using %ATSPI_RELATION_DETAILS as
+assistive technologies may provide a means for the user to navigate to
+objects containing detailed descriptions so that their content can be more
+closely reviewed.</doc>
+      </member>
+      <member name="details"
+              value="19"
+              c:identifier="ATSPI_RELATION_DETAILS"
+              glib:nick="details">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="841">Reciprocal of %ATSPI_RELATION_DETAILS_FOR. Indicates
+that this object has a detailed or extended description, the contents of
+which can be found in the target object(s). This relation type is most
+appropriate for information that is sufficiently lengthy as to make
+navigation to the container of that information desirable. For less verbose
+information suitable for announcement only, see %ATSPI_RELATION_DESCRIBED_BY.
+If the detailed information describes an error condition,
+%ATSPI_RELATION_ERROR_FOR should be used instead. @Since: 2.26.</doc>
+      </member>
+      <member name="details_for"
+              value="20"
+              c:identifier="ATSPI_RELATION_DETAILS_FOR"
+              glib:nick="details-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="849">Reciprocal of %ATSPI_RELATION_DETAILS. Indicates
+that this object provides a detailed or extended description about the target
+object(s). See also %ATSPI_RELATION_DESCRIPTION_FOR and
+%ATSPI_RELATION_ERROR_FOR. @Since: 2.26.</doc>
+      </member>
+      <member name="error_message"
+              value="21"
+              c:identifier="ATSPI_RELATION_ERROR_MESSAGE"
+              glib:nick="error-message">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="853">Reciprocal of %ATSPI_RELATION_ERROR_FOR.
+Indicates that this object has one or more errors, the nature of which is
+described in the contents of the target object(s). Objects that have this
+relation type should also contain %ATSPI_STATE_INVALID_ENTRY in their
+#AtspiStateSet. @Since: 2.26.</doc>
+      </member>
+      <member name="error_for"
+              value="22"
+              c:identifier="ATSPI_RELATION_ERROR_FOR"
+              glib:nick="error-for">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="858">Reciprocal of %ATSPI_RELATION_ERROR_MESSAGE.
+Indicates that this object contains an error message describing an invalid
+condition in the target object(s). @Since: 2.26.</doc>
+      </member>
+      <member name="last_defined"
+              value="23"
+              c:identifier="ATSPI_RELATION_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="861">Do not use as a parameter value, used to
+determine the size of the enumeration.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="Role"
+                 glib:type-name="AtspiRole"
+                 glib:get-type="atspi_role_get_type"
+                 c:type="AtspiRole">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="918">Enumeration used by interface #AtspiAccessible to specify the role
+of an #AtspiAccessible object.</doc>
+      <member name="invalid"
+              value="0"
+              c:identifier="ATSPI_ROLE_INVALID"
+              glib:nick="invalid">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="920">A role indicating an error condition, such as
+uninitialized Role data.</doc>
+      </member>
+      <member name="accelerator_label"
+              value="1"
+              c:identifier="ATSPI_ROLE_ACCELERATOR_LABEL"
+              glib:nick="accelerator-label">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="922">Object is a label indicating the keyboard
+accelerators for the parent.</doc>
+      </member>
+      <member name="alert"
+              value="2"
+              c:identifier="ATSPI_ROLE_ALERT"
+              glib:nick="alert">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="924">Object is used to alert the user about something.</doc>
+      </member>
+      <member name="animation"
+              value="3"
+              c:identifier="ATSPI_ROLE_ANIMATION"
+              glib:nick="animation">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="925">Object contains a dynamic or moving image of some
+kind.</doc>
+      </member>
+      <member name="arrow"
+              value="4"
+              c:identifier="ATSPI_ROLE_ARROW"
+              glib:nick="arrow">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="927">Object is a 2d directional indicator.</doc>
+      </member>
+      <member name="calendar"
+              value="5"
+              c:identifier="ATSPI_ROLE_CALENDAR"
+              glib:nick="calendar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="928">Object contains one or more dates, usually arranged
+into a 2d list.</doc>
+      </member>
+      <member name="canvas"
+              value="6"
+              c:identifier="ATSPI_ROLE_CANVAS"
+              glib:nick="canvas">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="930">Object that can be drawn into and is used to trap
+events.</doc>
+      </member>
+      <member name="check_box"
+              value="7"
+              c:identifier="ATSPI_ROLE_CHECK_BOX"
+              glib:nick="check-box">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="932">A choice that can be checked or unchecked and
+provides a separate       indicator for the current state.</doc>
+      </member>
+      <member name="check_menu_item"
+              value="8"
+              c:identifier="ATSPI_ROLE_CHECK_MENU_ITEM"
+              glib:nick="check-menu-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="934">A menu item that behaves like a check box. See
+@ATSPI_ROLE_CHECK_BOX.</doc>
+      </member>
+      <member name="color_chooser"
+              value="9"
+              c:identifier="ATSPI_ROLE_COLOR_CHOOSER"
+              glib:nick="color-chooser">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="936">A specialized dialog that lets the user choose a
+color.</doc>
+      </member>
+      <member name="column_header"
+              value="10"
+              c:identifier="ATSPI_ROLE_COLUMN_HEADER"
+              glib:nick="column-header">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="938">The header for a column of data.</doc>
+      </member>
+      <member name="combo_box"
+              value="11"
+              c:identifier="ATSPI_ROLE_COMBO_BOX"
+              glib:nick="combo-box">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="939">A list of choices the user can select from.</doc>
+      </member>
+      <member name="date_editor"
+              value="12"
+              c:identifier="ATSPI_ROLE_DATE_EDITOR"
+              glib:nick="date-editor">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="940">An object which allows entry of a date.</doc>
+      </member>
+      <member name="desktop_icon"
+              value="13"
+              c:identifier="ATSPI_ROLE_DESKTOP_ICON"
+              glib:nick="desktop-icon">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="941">An inconifed internal frame within a DESKTOP_PANE.</doc>
+      </member>
+      <member name="desktop_frame"
+              value="14"
+              c:identifier="ATSPI_ROLE_DESKTOP_FRAME"
+              glib:nick="desktop-frame">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="942">A pane that supports internal frames and
+iconified versions of those internal frames.</doc>
+      </member>
+      <member name="dial"
+              value="15"
+              c:identifier="ATSPI_ROLE_DIAL"
+              glib:nick="dial">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="944">An object that allows a value to be changed via rotating a
+visual element, or which displays a value via such a rotating element.</doc>
+      </member>
+      <member name="dialog"
+              value="16"
+              c:identifier="ATSPI_ROLE_DIALOG"
+              glib:nick="dialog">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="946">A top level window with title bar and a border.</doc>
+      </member>
+      <member name="directory_pane"
+              value="17"
+              c:identifier="ATSPI_ROLE_DIRECTORY_PANE"
+              glib:nick="directory-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="947">A pane that allows the user to navigate through
+and select the contents of a directory.</doc>
+      </member>
+      <member name="drawing_area"
+              value="18"
+              c:identifier="ATSPI_ROLE_DRAWING_AREA"
+              glib:nick="drawing-area">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="949">A specialized dialog that displays the files in
+the directory and lets the user select a file, browse a different
+directory, or specify a filename.</doc>
+      </member>
+      <member name="file_chooser"
+              value="19"
+              c:identifier="ATSPI_ROLE_FILE_CHOOSER"
+              glib:nick="file-chooser">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="952">An object used for drawing custom user interface
+elements.</doc>
+      </member>
+      <member name="filler"
+              value="20"
+              c:identifier="ATSPI_ROLE_FILLER"
+              glib:nick="filler">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="954">A object that fills up space in a user interface.</doc>
+      </member>
+      <member name="focus_traversable"
+              value="21"
+              c:identifier="ATSPI_ROLE_FOCUS_TRAVERSABLE"
+              glib:nick="focus-traversable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="955">Don't use, reserved for future use.</doc>
+      </member>
+      <member name="font_chooser"
+              value="22"
+              c:identifier="ATSPI_ROLE_FONT_CHOOSER"
+              glib:nick="font-chooser">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="956">Allows selection of a display font.</doc>
+      </member>
+      <member name="frame"
+              value="23"
+              c:identifier="ATSPI_ROLE_FRAME"
+              glib:nick="frame">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="957">A top level window with a title bar, border, menubar,
+etc.</doc>
+      </member>
+      <member name="glass_pane"
+              value="24"
+              c:identifier="ATSPI_ROLE_GLASS_PANE"
+              glib:nick="glass-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="959">A pane that is guaranteed to be painted on top of
+all panes beneath it.</doc>
+      </member>
+      <member name="html_container"
+              value="25"
+              c:identifier="ATSPI_ROLE_HTML_CONTAINER"
+              glib:nick="html-container">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="961">A document container for HTML, whose children
+represent the document content.</doc>
+      </member>
+      <member name="icon"
+              value="26"
+              c:identifier="ATSPI_ROLE_ICON"
+              glib:nick="icon">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="963">A small fixed size picture, typically used to decorate
+components.</doc>
+      </member>
+      <member name="image"
+              value="27"
+              c:identifier="ATSPI_ROLE_IMAGE"
+              glib:nick="image">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="965">An image, typically static.</doc>
+      </member>
+      <member name="internal_frame"
+              value="28"
+              c:identifier="ATSPI_ROLE_INTERNAL_FRAME"
+              glib:nick="internal-frame">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="966">A frame-like object that is clipped by a desktop
+pane.</doc>
+      </member>
+      <member name="label"
+              value="29"
+              c:identifier="ATSPI_ROLE_LABEL"
+              glib:nick="label">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="968">An object used to present an icon or short string in an
+interface.</doc>
+      </member>
+      <member name="layered_pane"
+              value="30"
+              c:identifier="ATSPI_ROLE_LAYERED_PANE"
+              glib:nick="layered-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="970">A specialized pane that allows its children to be
+drawn in layers, providing a form of stacking order.</doc>
+      </member>
+      <member name="list"
+              value="31"
+              c:identifier="ATSPI_ROLE_LIST"
+              glib:nick="list">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="972">An object that presents a list of objects to the user and
+allows the user to select one or more of them.</doc>
+      </member>
+      <member name="list_item"
+              value="32"
+              c:identifier="ATSPI_ROLE_LIST_ITEM"
+              glib:nick="list-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="974">An object that represents an element of a list.</doc>
+      </member>
+      <member name="menu"
+              value="33"
+              c:identifier="ATSPI_ROLE_MENU"
+              glib:nick="menu">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="975">An object usually found inside a menu bar that contains a
+list of actions the user can choose from.</doc>
+      </member>
+      <member name="menu_bar"
+              value="34"
+              c:identifier="ATSPI_ROLE_MENU_BAR"
+              glib:nick="menu-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="977">An object usually drawn at the top of the primary
+dialog box of an application that contains a list of menus the user can
+choose from.</doc>
+      </member>
+      <member name="menu_item"
+              value="35"
+              c:identifier="ATSPI_ROLE_MENU_ITEM"
+              glib:nick="menu-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="980">An object usually contained in a menu that presents
+an action the user can choose.</doc>
+      </member>
+      <member name="option_pane"
+              value="36"
+              c:identifier="ATSPI_ROLE_OPTION_PANE"
+              glib:nick="option-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="982">A specialized pane whose primary use is inside a
+dialog.</doc>
+      </member>
+      <member name="page_tab"
+              value="37"
+              c:identifier="ATSPI_ROLE_PAGE_TAB"
+              glib:nick="page-tab">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="984">An object that is a child of a page tab list.</doc>
+      </member>
+      <member name="page_tab_list"
+              value="38"
+              c:identifier="ATSPI_ROLE_PAGE_TAB_LIST"
+              glib:nick="page-tab-list">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="985">An object that presents a series of panels (or
+page tabs), one at a time,through some mechanism provided by the
+object.</doc>
+      </member>
+      <member name="panel"
+              value="39"
+              c:identifier="ATSPI_ROLE_PANEL"
+              glib:nick="panel">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="988">A generic container that is often used to group objects.</doc>
+      </member>
+      <member name="password_text"
+              value="40"
+              c:identifier="ATSPI_ROLE_PASSWORD_TEXT"
+              glib:nick="password-text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="989">A text object uses for passwords, or other places
+where the text content is not shown visibly to the user.</doc>
+      </member>
+      <member name="popup_menu"
+              value="41"
+              c:identifier="ATSPI_ROLE_POPUP_MENU"
+              glib:nick="popup-menu">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="991">A temporary window that is usually used to offer the
+user a list of choices, and then hides when the user selects one of those
+choices.</doc>
+      </member>
+      <member name="progress_bar"
+              value="42"
+              c:identifier="ATSPI_ROLE_PROGRESS_BAR"
+              glib:nick="progress-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="994">An object used to indicate how much of a task has
+been completed.</doc>
+      </member>
+      <member name="push_button"
+              value="43"
+              c:identifier="ATSPI_ROLE_PUSH_BUTTON"
+              glib:nick="push-button">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="996">An object the user can manipulate to tell the
+application to do something.</doc>
+      </member>
+      <member name="radio_button"
+              value="44"
+              c:identifier="ATSPI_ROLE_RADIO_BUTTON"
+              glib:nick="radio-button">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="998">A specialized check box that will cause other
+radio buttons in the same group to become unchecked when this one is
+checked.</doc>
+      </member>
+      <member name="radio_menu_item"
+              value="45"
+              c:identifier="ATSPI_ROLE_RADIO_MENU_ITEM"
+              glib:nick="radio-menu-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1001">Object is both a menu item and a "radio button"
+. See @ATSPI_ROLE_RADIO_BUTTON.</doc>
+      </member>
+      <member name="root_pane"
+              value="46"
+              c:identifier="ATSPI_ROLE_ROOT_PANE"
+              glib:nick="root-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1003">A specialized pane that has a glass pane and a
+layered pane as its children.</doc>
+      </member>
+      <member name="row_header"
+              value="47"
+              c:identifier="ATSPI_ROLE_ROW_HEADER"
+              glib:nick="row-header">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1005">The header for a row of data.</doc>
+      </member>
+      <member name="scroll_bar"
+              value="48"
+              c:identifier="ATSPI_ROLE_SCROLL_BAR"
+              glib:nick="scroll-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1006">An object usually used to allow a user to
+incrementally view a large amount of data by moving the bounds of a
+viewport along a one-dimensional axis.</doc>
+      </member>
+      <member name="scroll_pane"
+              value="49"
+              c:identifier="ATSPI_ROLE_SCROLL_PANE"
+              glib:nick="scroll-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1009">An object that allows a user to incrementally view
+a large amount of information. @ATSPI_ROLE_SCROLL_PANE objects are usually
+accompanied by @ATSPI_ROLE_SCROLL_BAR controllers, on which the
+@ATSPI_RELATION_CONTROLLER_FOR and @ATSPI_RELATION_CONTROLLED_BY
+reciprocal relations are set. See  #atspi_get_relation_set.</doc>
+      </member>
+      <member name="separator"
+              value="50"
+              c:identifier="ATSPI_ROLE_SEPARATOR"
+              glib:nick="separator">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1014">An object usually contained in a menu to provide a
+visible and logical separation of the contents in a menu.</doc>
+      </member>
+      <member name="slider"
+              value="51"
+              c:identifier="ATSPI_ROLE_SLIDER"
+              glib:nick="slider">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1016">An object that allows the user to select from a bounded
+range.</doc>
+      </member>
+      <member name="spin_button"
+              value="52"
+              c:identifier="ATSPI_ROLE_SPIN_BUTTON"
+              glib:nick="spin-button">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1018">An object which allows one of a set of choices to
+be selected, and which displays the current choice.  Unlike
+@ATSPI_ROLE_SCROLL_BAR, @ATSPI_ROLE_SLIDER objects need not control
+'viewport'-like objects.</doc>
+      </member>
+      <member name="split_pane"
+              value="53"
+              c:identifier="ATSPI_ROLE_SPLIT_PANE"
+              glib:nick="split-pane">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1022">A specialized panel that presents two other panels
+at the same time.</doc>
+      </member>
+      <member name="status_bar"
+              value="54"
+              c:identifier="ATSPI_ROLE_STATUS_BAR"
+              glib:nick="status-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1024">Object displays non-quantitative status information
+(c.f. @ATSPI_ROLE_PROGRESS_BAR)</doc>
+      </member>
+      <member name="table"
+              value="55"
+              c:identifier="ATSPI_ROLE_TABLE"
+              glib:nick="table">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1026">An object used to repesent information in terms of rows
+and columns.</doc>
+      </member>
+      <member name="table_cell"
+              value="56"
+              c:identifier="ATSPI_ROLE_TABLE_CELL"
+              glib:nick="table-cell">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1028">A 'cell' or discrete child within a Table. Note:
+Table cells need not have @ATSPI_ROLE_TABLE_CELL, other
+#AtspiRoleType values are valid as well.</doc>
+      </member>
+      <member name="table_column_header"
+              value="57"
+              c:identifier="ATSPI_ROLE_TABLE_COLUMN_HEADER"
+              glib:nick="table-column-header">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1031">An object which labels a particular column
+in an #AtspiTable.</doc>
+      </member>
+      <member name="table_row_header"
+              value="58"
+              c:identifier="ATSPI_ROLE_TABLE_ROW_HEADER"
+              glib:nick="table-row-header">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1033">An object which labels a particular row in a
+#AtspiTable. #AtspiTable rows and columns may also be labelled via the
+@ATSPI_RELATION_LABEL_FOR/@ATSPI_RELATION_LABELLED_BY relationships.
+See #atspi_get_relation_set.</doc>
+      </member>
+      <member name="tearoff_menu_item"
+              value="59"
+              c:identifier="ATSPI_ROLE_TEAROFF_MENU_ITEM"
+              glib:nick="tearoff-menu-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1037">Object allows menu to be removed from menubar
+and shown in its own window.</doc>
+      </member>
+      <member name="terminal"
+              value="60"
+              c:identifier="ATSPI_ROLE_TERMINAL"
+              glib:nick="terminal">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1039">An object that emulates a terminal.</doc>
+      </member>
+      <member name="text"
+              value="61"
+              c:identifier="ATSPI_ROLE_TEXT"
+              glib:nick="text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1040">An interactive widget that supports multiple lines of text
+and optionally accepts user input, but whose purpose is not to solicit user
+input. Thus @ATSPI_ROLE_TEXT is appropriate for the text view in a plain text
+editor but inappropriate for an input field in a dialog box or web form. For
+widgets whose purpose is to solicit input from the user, see @ATSPI_ROLE_ENTRY
+and @ATSPI_ROLE_PASSWORD_TEXT. For generic objects which display a brief amount
+of textual information, see @ATSPI_ROLE_STATIC.</doc>
+      </member>
+      <member name="toggle_button"
+              value="62"
+              c:identifier="ATSPI_ROLE_TOGGLE_BUTTON"
+              glib:nick="toggle-button">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1047">A specialized push button that can be checked or
+unchecked, but does not procide a separate indicator for the current
+state.</doc>
+      </member>
+      <member name="tool_bar"
+              value="63"
+              c:identifier="ATSPI_ROLE_TOOL_BAR"
+              glib:nick="tool-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1050">A bar or palette usually composed of push buttons or
+toggle buttons.</doc>
+      </member>
+      <member name="tool_tip"
+              value="64"
+              c:identifier="ATSPI_ROLE_TOOL_TIP"
+              glib:nick="tool-tip">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1052">An object that provides information about another
+object.</doc>
+      </member>
+      <member name="tree"
+              value="65"
+              c:identifier="ATSPI_ROLE_TREE"
+              glib:nick="tree">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1054">An object used to repsent hierarchical information to the
+user.</doc>
+      </member>
+      <member name="tree_table"
+              value="66"
+              c:identifier="ATSPI_ROLE_TREE_TABLE"
+              glib:nick="tree-table">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1056">An object that presents both tabular and
+hierarchical info to the user.</doc>
+      </member>
+      <member name="unknown"
+              value="67"
+              c:identifier="ATSPI_ROLE_UNKNOWN"
+              glib:nick="unknown">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1058">The object contains some #AtspiAccessible information,
+but its role is not known.</doc>
+      </member>
+      <member name="viewport"
+              value="68"
+              c:identifier="ATSPI_ROLE_VIEWPORT"
+              glib:nick="viewport">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1060">An object usually used in a scroll pane, or to
+otherwise clip a larger object or content renderer to a specific
+onscreen viewport.</doc>
+      </member>
+      <member name="window"
+              value="69"
+              c:identifier="ATSPI_ROLE_WINDOW"
+              glib:nick="window">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1063">A top level window with no title or border.</doc>
+      </member>
+      <member name="extended"
+              value="70"
+              c:identifier="ATSPI_ROLE_EXTENDED"
+              glib:nick="extended">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1064">means that the role for this item is known, but not
+included in the core enumeration. Deprecated since 2.24.</doc>
+      </member>
+      <member name="header"
+              value="71"
+              c:identifier="ATSPI_ROLE_HEADER"
+              glib:nick="header">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1066">An object that serves as a document header.</doc>
+      </member>
+      <member name="footer"
+              value="72"
+              c:identifier="ATSPI_ROLE_FOOTER"
+              glib:nick="footer">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1067">An object that serves as a document footer.</doc>
+      </member>
+      <member name="paragraph"
+              value="73"
+              c:identifier="ATSPI_ROLE_PARAGRAPH"
+              glib:nick="paragraph">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1068">An object which is contains a single paragraph of
+text content. See also @ATSPI_ROLE_TEXT.</doc>
+      </member>
+      <member name="ruler"
+              value="74"
+              c:identifier="ATSPI_ROLE_RULER"
+              glib:nick="ruler">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1070">An object which describes margins and tab stops, etc.
+   for text objects which it controls (should have
+@ATSPI_RELATION_CONTROLLER_FOR relation to such).</doc>
+      </member>
+      <member name="application"
+              value="75"
+              c:identifier="ATSPI_ROLE_APPLICATION"
+              glib:nick="application">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1073">An object corresponding to the toplevel accessible
+of an application, which may contain @ATSPI_ROLE_FRAME objects or other
+accessible objects. Children of #AccessibleDesktop objects  are generally
+@ATSPI_ROLE_APPLICATION objects.</doc>
+      </member>
+      <member name="autocomplete"
+              value="76"
+              c:identifier="ATSPI_ROLE_AUTOCOMPLETE"
+              glib:nick="autocomplete">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1077">The object is a dialog or list containing items
+for insertion into an entry widget, for instance a list of words for
+completion of a text entry.</doc>
+      </member>
+      <member name="editbar"
+              value="77"
+              c:identifier="ATSPI_ROLE_EDITBAR"
+              glib:nick="editbar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1080">The object is an editable text object in a toolbar.</doc>
+      </member>
+      <member name="embedded"
+              value="78"
+              c:identifier="ATSPI_ROLE_EMBEDDED"
+              glib:nick="embedded">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1081">The object is an embedded component container.  This
+role is a "grouping" hint that the contained objects share a context
+which is different from the container in which this accessible is
+embedded. In particular, it is used for some kinds of document embedding,
+and for embedding of out-of-process component, "panel applets", etc.</doc>
+      </member>
+      <member name="entry"
+              value="79"
+              c:identifier="ATSPI_ROLE_ENTRY"
+              glib:nick="entry">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1086">The object is a component whose textual content may be
+entered or modified by the user, provided @ATSPI_STATE_EDITABLE is present.
+A readonly @ATSPI_ROLE_ENTRY object (i.e. where @ATSPI_STATE_EDITABLE is
+not present) implies a read-only 'text field' in a form, as opposed to a
+title, label, or caption.</doc>
+      </member>
+      <member name="chart"
+              value="80"
+              c:identifier="ATSPI_ROLE_CHART"
+              glib:nick="chart">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1091">The object is a graphical depiction of quantitative data.
+It may contain multiple subelements whose attributes and/or description
+may be queried to obtain both the  quantitative data and information about
+how the data is being presented. The @ATSPI_LABELLED_BY relation is
+particularly important in interpreting objects of this type, as is the
+accessible description property. See @ATSPI_ROLE_CAPTION.</doc>
+      </member>
+      <member name="caption"
+              value="81"
+              c:identifier="ATSPI_ROLE_CAPTION"
+              glib:nick="caption">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1097">The object contains descriptive information, usually
+textual, about another user interface element such as a table, chart, or
+image.</doc>
+      </member>
+      <member name="document_frame"
+              value="82"
+              c:identifier="ATSPI_ROLE_DOCUMENT_FRAME"
+              glib:nick="document-frame">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1100">The object is a visual frame or container which
+contains a view of document content. #AtspiDocument frames may occur within
+another #AtspiDocument instance, in which case the second  document may be
+said to be embedded in the containing instance.  HTML frames are often
+ATSPI_ROLE_DOCUMENT_FRAME:  Either this object, or a singleton descendant,
+should implement the #AtspiDocument interface.</doc>
+      </member>
+      <member name="heading"
+              value="83"
+              c:identifier="ATSPI_ROLE_HEADING"
+              glib:nick="heading">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1106">The object serves as a heading for content which
+follows it in a document. The 'heading level' of the heading, if
+availabe,  may be obtained by       querying the object's attributes.</doc>
+      </member>
+      <member name="page"
+              value="84"
+              c:identifier="ATSPI_ROLE_PAGE"
+              glib:nick="page">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1109">The object is a containing instance which encapsulates a
+page of information. @ATSPI_ROLE_PAGE is used in documents and content which
+support a paginated navigation model.</doc>
+      </member>
+      <member name="section"
+              value="85"
+              c:identifier="ATSPI_ROLE_SECTION"
+              glib:nick="section">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1112">The object is a containing instance of document content
+which constitutes a particular 'logical' section of the document.  The
+type of content within a section, and the nature of the section division
+itself, may be obtained by querying the object's attributes.  Sections
+may be nested.</doc>
+      </member>
+      <member name="redundant_object"
+              value="86"
+              c:identifier="ATSPI_ROLE_REDUNDANT_OBJECT"
+              glib:nick="redundant-object">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1117">The object is redundant with another object in
+the hierarchy, and is exposed for purely technical reasons.  Objects of
+this role should be ignored by clients, if they are encountered at all.</doc>
+      </member>
+      <member name="form"
+              value="87"
+              c:identifier="ATSPI_ROLE_FORM"
+              glib:nick="form">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1120">The object is a containing instance of document content
+which has within it components with which the user can interact in order
+to input information; i.e. the object is a container for pushbuttons,
+comboboxes, text input fields, and other 'GUI' components. @ATSPI_ROLE_FORM
+should not, in general, be used for toplevel GUI containers or dialogs,
+but should be reserved for 'GUI' containers which occur within document
+content, for instance within Web documents, presentations, or text
+documents.  Unlike other GUI containers and dialogs which occur inside
+application instances, @ATSPI_ROLE_FORM containers' components are
+associated with the current document, rather than the current foreground
+application or viewer instance.</doc>
+      </member>
+      <member name="link"
+              value="88"
+              c:identifier="ATSPI_ROLE_LINK"
+              glib:nick="link">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1131">The object is a hypertext anchor, i.e. a "link" in a
+hypertext document.  Such objects are distinct from 'inline'       content
+which may also use the #AtspiHypertext/#AtspiHyperlink interfacesto indicate
+the range/location within a text object where an inline or embedded object
+lies.</doc>
+      </member>
+      <member name="input_method_window"
+              value="89"
+              c:identifier="ATSPI_ROLE_INPUT_METHOD_WINDOW"
+              glib:nick="input-method-window">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1136">The object is a window or similar viewport
+which is used to allow composition or input of a 'complex character',
+in other words it is an "input method window".</doc>
+      </member>
+      <member name="table_row"
+              value="90"
+              c:identifier="ATSPI_ROLE_TABLE_ROW"
+              glib:nick="table-row">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1139">A row in a table.</doc>
+      </member>
+      <member name="tree_item"
+              value="91"
+              c:identifier="ATSPI_ROLE_TREE_ITEM"
+              glib:nick="tree-item">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1140">An object that represents an element of a tree.</doc>
+      </member>
+      <member name="document_spreadsheet"
+              value="92"
+              c:identifier="ATSPI_ROLE_DOCUMENT_SPREADSHEET"
+              glib:nick="document-spreadsheet">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1141">A document frame which contains a
+spreadsheet.</doc>
+      </member>
+      <member name="document_presentation"
+              value="93"
+              c:identifier="ATSPI_ROLE_DOCUMENT_PRESENTATION"
+              glib:nick="document-presentation">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1143">A document frame which contains a
+presentation or slide content.</doc>
+      </member>
+      <member name="document_text"
+              value="94"
+              c:identifier="ATSPI_ROLE_DOCUMENT_TEXT"
+              glib:nick="document-text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1145">A document frame which contains textual content,
+such as found in a word processing
+application.</doc>
+      </member>
+      <member name="document_web"
+              value="95"
+              c:identifier="ATSPI_ROLE_DOCUMENT_WEB"
+              glib:nick="document-web">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1148">A document frame which contains HTML or other
+markup suitable for display in a web browser.</doc>
+      </member>
+      <member name="document_email"
+              value="96"
+              c:identifier="ATSPI_ROLE_DOCUMENT_EMAIL"
+              glib:nick="document-email">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1150">A document frame which contains email content
+to be displayed or composed either in plain text or
+HTML.</doc>
+      </member>
+      <member name="comment"
+              value="97"
+              c:identifier="ATSPI_ROLE_COMMENT"
+              glib:nick="comment">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1153">An object found within a document and designed to
+present a comment, note, or other annotation. In some cases, this object
+might not be visible until activated.</doc>
+      </member>
+      <member name="list_box"
+              value="98"
+              c:identifier="ATSPI_ROLE_LIST_BOX"
+              glib:nick="list-box">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1156">A non-collapsible list of choices the user can
+select from.</doc>
+      </member>
+      <member name="grouping"
+              value="99"
+              c:identifier="ATSPI_ROLE_GROUPING"
+              glib:nick="grouping">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1158">A group of related widgets. This group typically has
+a label.</doc>
+      </member>
+      <member name="image_map"
+              value="100"
+              c:identifier="ATSPI_ROLE_IMAGE_MAP"
+              glib:nick="image-map">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1160">An image map object. Usually a graphic with multiple
+hotspots, where each hotspot can be activated resulting in the loading of
+another document or section of a document.</doc>
+      </member>
+      <member name="notification"
+              value="101"
+              c:identifier="ATSPI_ROLE_NOTIFICATION"
+              glib:nick="notification">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1163">A transitory object designed to present a
+message to the user, typically at the desktop level rather than inside a
+particular application.</doc>
+      </member>
+      <member name="info_bar"
+              value="102"
+              c:identifier="ATSPI_ROLE_INFO_BAR"
+              glib:nick="info-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1166">An object designed to present a message to the user
+within an existing window.</doc>
+      </member>
+      <member name="level_bar"
+              value="103"
+              c:identifier="ATSPI_ROLE_LEVEL_BAR"
+              glib:nick="level-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1168">A bar that serves as a level indicator to, for
+instance, show the strength of a password or the state of a battery. @Since: 2.8</doc>
+      </member>
+      <member name="title_bar"
+              value="104"
+              c:identifier="ATSPI_ROLE_TITLE_BAR"
+              glib:nick="title-bar">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1170">A bar that serves as the title of a window or a
+ dialog. @Since: 2.12</doc>
+      </member>
+      <member name="block_quote"
+              value="105"
+              c:identifier="ATSPI_ROLE_BLOCK_QUOTE"
+              glib:nick="block-quote">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1172">An object which contains a text section
+ that is quoted from another source.  @Since: 2.12</doc>
+      </member>
+      <member name="audio"
+              value="106"
+              c:identifier="ATSPI_ROLE_AUDIO"
+              glib:nick="audio">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1174">An object which represents an audio
+ element. @Since: 2.12</doc>
+      </member>
+      <member name="video"
+              value="107"
+              c:identifier="ATSPI_ROLE_VIDEO"
+              glib:nick="video">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1176">An object which represents a video
+ element. @Since: 2.12</doc>
+      </member>
+      <member name="definition"
+              value="108"
+              c:identifier="ATSPI_ROLE_DEFINITION"
+              glib:nick="definition">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1178">A definition of a term or concept. @Since: 2.12</doc>
+      </member>
+      <member name="article"
+              value="109"
+              c:identifier="ATSPI_ROLE_ARTICLE"
+              glib:nick="article">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1179">A section of a page that consists of a
+ composition that forms an independent part of a document, page, or
+ site. Examples: A blog entry, a news story, a forum post. @Since:
+ 2.12</doc>
+      </member>
+      <member name="landmark"
+              value="110"
+              c:identifier="ATSPI_ROLE_LANDMARK"
+              glib:nick="landmark">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1183">A region of a web page intended as a
+ navigational landmark. This is designed to allow Assistive
+ Technologies to provide quick navigation among key regions within a
+ document. @Since: 2.12</doc>
+      </member>
+      <member name="log"
+              value="111"
+              c:identifier="ATSPI_ROLE_LOG"
+              glib:nick="log">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1187">A text widget or container holding log content, such
+ as chat history and error logs. In this role there is a
+ relationship between the arrival of new items in the log and the
+ reading order. The log contains a meaningful sequence and new
+ information is added only to the end of the log, not at arbitrary
+ points. @Since: 2.12</doc>
+      </member>
+      <member name="marquee"
+              value="112"
+              c:identifier="ATSPI_ROLE_MARQUEE"
+              glib:nick="marquee">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1193">A container where non-essential information
+ changes frequently. Common usages of marquee include stock tickers
+ and ad banners. The primary difference between a marquee and a log
+ is that logs usually have a meaningful order or sequence of
+ important content changes. @Since: 2.12</doc>
+      </member>
+      <member name="math"
+              value="113"
+              c:identifier="ATSPI_ROLE_MATH"
+              glib:nick="math">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1198">A text widget or container that holds a mathematical
+ expression. @Since: 2.12</doc>
+      </member>
+      <member name="rating"
+              value="114"
+              c:identifier="ATSPI_ROLE_RATING"
+              glib:nick="rating">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1200">A widget whose purpose is to display a rating,
+ such as the number of stars associated with a song in a media
+ player. Objects of this role should also implement
+ AtspiValue. @Since: 2.12</doc>
+      </member>
+      <member name="timer"
+              value="115"
+              c:identifier="ATSPI_ROLE_TIMER"
+              glib:nick="timer">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1204">An object containing a numerical counter which
+ indicates an amount of elapsed time from a start point, or the time
+ remaining until an end point. @Since: 2.12</doc>
+      </member>
+      <member name="static"
+              value="116"
+              c:identifier="ATSPI_ROLE_STATIC"
+              glib:nick="static">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1207">A generic non-container object whose purpose is to display
+ a brief amount of information to the user and whose role is known by the
+ implementor but lacks semantic value for the user. Examples in which
+ @ATSPI_ROLE_STATIC is appropriate include the message displayed in a message
+ box and an image used as an alternative means to display text.
+ @ATSPI_ROLE_STATIC should not be applied to widgets which are traditionally
+ interactive, objects which display a significant amount of content, or any
+ object which has an accessible relation pointing to another object. The
+ displayed information, as a general rule, should be exposed through the
+ accessible name of the object. For labels which describe another widget, see
+ @ATSPI_ROLE_LABEL. For text views, see @ATSPI_ROLE_TEXT. For generic
+ containers, see @ATSPI_ROLE_PANEL. For objects whose role is not known by the
+ implementor, see @ATSPI_ROLE_UNKNOWN. @Since: 2.16.</doc>
+      </member>
+      <member name="math_fraction"
+              value="117"
+              c:identifier="ATSPI_ROLE_MATH_FRACTION"
+              glib:nick="math-fraction">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1220">An object that represents a mathematical fraction. @Since: 2.16.</doc>
+      </member>
+      <member name="math_root"
+              value="118"
+              c:identifier="ATSPI_ROLE_MATH_ROOT"
+              glib:nick="math-root">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1221">An object that represents a mathematical expression
+ displayed with a radical. @Since: 2.16.</doc>
+      </member>
+      <member name="subscript"
+              value="119"
+              c:identifier="ATSPI_ROLE_SUBSCRIPT"
+              glib:nick="subscript">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1223">An object that contains text that is displayed as a
+ subscript. @Since: 2.16.</doc>
+      </member>
+      <member name="superscript"
+              value="120"
+              c:identifier="ATSPI_ROLE_SUPERSCRIPT"
+              glib:nick="superscript">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1225">An object that contains text that is displayed as a
+ superscript. @Since: 2.16.</doc>
+      </member>
+      <member name="description_list"
+              value="121"
+              c:identifier="ATSPI_ROLE_DESCRIPTION_LIST"
+              glib:nick="description-list">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1227">An object that represents a list of term-value
+ groups. A term-value group represents an individual description and consist
+ of one or more names (@ATSPI_ROLE_DESCRIPTION_TERM) followed by one or more
+ values (@ATSPI_ROLE_DESCRIPTION_VALUE). For each list, there should not be
+ more than one group with the same term name. @Since: 2.26.</doc>
+      </member>
+      <member name="description_term"
+              value="122"
+              c:identifier="ATSPI_ROLE_DESCRIPTION_TERM"
+              glib:nick="description-term">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1232">An object that represents a term or phrase
+ with a corresponding definition. @Since: 2.26.</doc>
+      </member>
+      <member name="description_value"
+              value="123"
+              c:identifier="ATSPI_ROLE_DESCRIPTION_VALUE"
+              glib:nick="description-value">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1234">An object that represents the description,
+ definition, or value of a term. @Since: 2.26.</doc>
+      </member>
+      <member name="footnote"
+              value="124"
+              c:identifier="ATSPI_ROLE_FOOTNOTE"
+              glib:nick="footnote">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1236">An object that contains the text of a footnote. @Since: 2.26.</doc>
+      </member>
+      <member name="content_deletion"
+              value="125"
+              c:identifier="ATSPI_ROLE_CONTENT_DELETION"
+              glib:nick="content-deletion">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1237">Content previously deleted or proposed to be
+deleted, e.g. in revision history or a content view providing suggestions
+from reviewers. @Since: 2.34.</doc>
+      </member>
+      <member name="content_insertion"
+              value="126"
+              c:identifier="ATSPI_ROLE_CONTENT_INSERTION"
+              glib:nick="content-insertion">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1240">Content previously inserted or proposed to be
+inserted, e.g. in revision history or a content view providing suggestions
+from reviewers. @Since: 2.34.</doc>
+      </member>
+      <member name="mark"
+              value="127"
+              c:identifier="ATSPI_ROLE_MARK"
+              glib:nick="mark">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1243">A run of content that is marked or highlighted, such as for
+reference purposes, or to call it out as having a special purpose. If the
+marked content has an associated section in the document elaborating on the
+reason for the mark, then %ATSPI_RELATION_DETAILS should be used on the mark
+to point to that associated section. In addition, the reciprocal relation
+%ATSPI_RELATION_DETAILS_FOR should be used on the associated content section
+to point back to the mark. @Since: 2.36.</doc>
+      </member>
+      <member name="suggestion"
+              value="128"
+              c:identifier="ATSPI_ROLE_SUGGESTION"
+              glib:nick="suggestion">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1250">A container for content that is called out as a proposed
+change from the current version of the document, such as by a reviewer of the
+content. This role should include either %ATSPI_ROLE_CONTENT_DELETION and/or
+%ATSPI_ROLE_CONTENT_INSERTION children, in any order, to indicate what the
+actual change is. @Since: 2.36</doc>
+      </member>
+      <member name="last_defined"
+              value="129"
+              c:identifier="ATSPI_ROLE_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1255">Not a valid role, used for finding end of
+ enumeration.</doc>
+      </member>
+      <function name="get_name" c:identifier="atspi_role_get_name">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="1733">Gets a localizable string that indicates the name of an #AtspiRole.
+&lt;em&gt;DEPRECATED.&lt;/em&gt;</doc>
+        <source-position filename="../atspi/atspi-misc.h" line="49"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-misc.c"
+               line="1740">a localizable string name for an #AtspiRole enumerated type.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <parameter name="role" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-misc.c"
+                 line="1735">an #AtspiRole object to query.</doc>
+            <type name="Role" c:type="AtspiRole"/>
+          </parameter>
+        </parameters>
+      </function>
+    </enumeration>
+    <constant name="SCROLLTYPE_COUNT"
+              value="7"
+              c:type="ATSPI_SCROLLTYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="1448">One higher than the highest valid value of #AtspiScrollType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="1453"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="SELECTION"
+                    c:identifier="ATSPI_SELECTION"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-selection.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="SELECTION_GET_IFACE"
+                    c:identifier="ATSPI_SELECTION_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-selection.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="SORTORDER_COUNT" value="8" c:type="ATSPI_SORTORDER_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="179">One higher than the highest valid value of #AtspiCollectionSortOrder.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="184"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <constant name="STATETYPE_COUNT" value="42" c:type="ATSPI_STATETYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="638">One higher than the highest valid value of #AtspiStateType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="643"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="STATE_SET"
+                    c:identifier="ATSPI_STATE_SET"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-stateset.h" line="29"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="STATE_SET_CLASS"
+                    c:identifier="ATSPI_STATE_SET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-stateset.h" line="30"/>
+      <parameters>
+        <parameter name="klass">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="STATE_SET_GET_CLASS"
+                    c:identifier="ATSPI_STATE_SET_GET_CLASS"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-stateset.h" line="33"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <enumeration name="ScrollType"
+                 glib:type-name="AtspiScrollType"
+                 glib:get-type="atspi_scroll_type_get_type"
+                 c:type="AtspiScrollType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="1418">Enumeration used by interface #AtspiAccessible to specify where an
+#AtspiAccessible object should be placed on the screen when using scroll_to.</doc>
+      <member name="top_left"
+              value="0"
+              c:identifier="ATSPI_SCROLL_TOP_LEFT"
+              glib:nick="top-left">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1420">Scroll the object to the top left corner of the
+window.</doc>
+      </member>
+      <member name="bottom_right"
+              value="1"
+              c:identifier="ATSPI_SCROLL_BOTTOM_RIGHT"
+              glib:nick="bottom-right">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1422">Scroll the object to the bottom right corner of
+the window.</doc>
+      </member>
+      <member name="top_edge"
+              value="2"
+              c:identifier="ATSPI_SCROLL_TOP_EDGE"
+              glib:nick="top-edge">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1424">Scroll the object to the top edge of the window.</doc>
+      </member>
+      <member name="bottom_edge"
+              value="3"
+              c:identifier="ATSPI_SCROLL_BOTTOM_EDGE"
+              glib:nick="bottom-edge">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1425">Scroll the object to the bottom edge of the
+window.</doc>
+      </member>
+      <member name="left_edge"
+              value="4"
+              c:identifier="ATSPI_SCROLL_LEFT_EDGE"
+              glib:nick="left-edge">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1427">Scroll the object to the left edge of the
+window.</doc>
+      </member>
+      <member name="right_edge"
+              value="5"
+              c:identifier="ATSPI_SCROLL_RIGHT_EDGE"
+              glib:nick="right-edge">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1429">Scroll the object to the right edge of the
+window.</doc>
+      </member>
+      <member name="anywhere"
+              value="6"
+              c:identifier="ATSPI_SCROLL_ANYWHERE"
+              glib:nick="anywhere">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="1431">Scroll the object to application-dependent position
+on the window.</doc>
+      </member>
+    </enumeration>
+    <interface name="Selection"
+               c:symbol-prefix="selection"
+               c:type="AtspiSelection"
+               glib:type-name="AtspiSelection"
+               glib:get-type="atspi_selection_get_type">
+      <method name="clear_selection"
+              c:identifier="atspi_selection_clear_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="220">Clears the current selection, removing all selected children from the
+      specified #AtspiSelection implementor's selection list.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="65"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="227">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="222">a pointer to the #AtspiSelection implementor on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="deselect_child"
+              c:identifier="atspi_selection_deselect_child"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="142">Deselects a specific child of an #AtspiSelection.
+         Note that @child_index is the index of the child
+         in the parent container.
+
+See #atspi_selection_deselect_selected_child</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="57"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="154">#TRUE if the child was successfully deselected, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="144">a pointer to the #AtspiSelection on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+          <parameter name="child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="145">a #gint indicating which of the children
+             of the #AtspiAccessible is to be de-selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="deselect_selected_child"
+              c:identifier="atspi_selection_deselect_selected_child"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="113">Removes a child from the selected children list of an #AtspiSelection.
+         Note that @child_index is the index in the selected-children list,
+         not the index in the parent container.  @selectedChildIndex in this
+         method, and @child_index in #atspi_selection_select_child
+         are asymmetric.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="55"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="125">#TRUE if the child was successfully deselected, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="115">a pointer to the #AtspiSelection on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+          <parameter name="selected_child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="116">a #gint indicating which of the selected children
+             of the #Accessible is to be selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_n_selected_children"
+              c:identifier="atspi_selection_get_n_selected_children"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="27">Gets the number of children of an #AtspiSelection implementor which are
+       currently selected.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="49"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="34">a #gint indicating the number of #Accessible children
+       of the #AtspiSelection implementor which are currently selected.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="29">a pointer to the #AtspiSelection implementor on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_selected_child"
+              c:identifier="atspi_selection_get_selected_child"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="50">Gets the i-th selected #AtspiAccessible child of an #AtspiSelection.
+     Note that @selected_child_index refers to the index in the list
+     of 'selected'
+     children and generally differs from that used in
+     #atspi_accessible_get_child_at_index or returned by
+     #atspi_accessible_get_index_in_parent.
+     @selected_child_index must lie between 0
+     and #atspi_selection_get_n_selected_children - 1, inclusive.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="51"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="65">a pointer to a selected #AtspiAccessible child
+         object, specified by @selected_child_index.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="52">a pointer to the #AtspiSelection on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+          <parameter name="selected_child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="53">a #gint indicating which of the selected
+     children is specified.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="is_child_selected"
+              c:identifier="atspi_selection_is_child_selected"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="171">Determines whether a particular child of an #AtspiSelection implementor
+       is currently selected.  Note that @child_index is the index into the
+       standard #AtspiAccessible container's list of children.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="60"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="180">#TRUE if the specified child is currently selected,
+         #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="173">a pointer to the #AtspiSelection implementor on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+          <parameter name="child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="174">an index into the #AtspiSelection's list of children.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="select_all"
+              c:identifier="atspi_selection_select_all"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="198">Attempts to select all of the children of an #AtspiSelection implementor.
+Not all #AtspiSelection implementors support this operation.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="63"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="205">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="200">a pointer to the #AtspiSelection implementor on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="select_child"
+              c:identifier="atspi_selection_select_child"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-selection.c"
+             line="85">Adds a child to the selected children list of an #AtspiSelection.
+        For #AtspiSelection implementors that only allow
+        single selections, this may replace the (single) current
+        selection.</doc>
+        <source-position filename="../atspi/atspi-selection.h" line="53"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-selection.c"
+               line="96">#TRUE if the child was successfully selected, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="87">a pointer to the #AtspiSelection on which to operate.</doc>
+            <type name="Selection" c:type="AtspiSelection*"/>
+          </instance-parameter>
+          <parameter name="child_index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-selection.c"
+                 line="88">a #gint indicating which child of the #Accessible
+             is to be selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <class name="StateSet"
+           c:symbol-prefix="state_set"
+           c:type="AtspiStateSet"
+           parent="GObject.Object"
+           glib:type-name="AtspiStateSet"
+           glib:get-type="atspi_state_set_get_type"
+           glib:type-struct="StateSetClass">
+      <source-position filename="../atspi/atspi-stateset.h" line="49"/>
+      <constructor name="new" c:identifier="atspi_state_set_new">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="42">Generates an #AtspiStateSet with the given @states.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="53"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="49">A new #AtspiStateSet with the given states.</doc>
+          <type name="StateSet" c:type="AtspiStateSet*"/>
+        </return-value>
+        <parameters>
+          <parameter name="states" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="44">An array of states with which the
+         method initializes the state set.</doc>
+            <array name="GLib.Array" c:type="GArray*">
+              <type name="StateType"/>
+            </array>
+          </parameter>
+        </parameters>
+      </constructor>
+      <method name="add" c:identifier="atspi_state_set_add">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="134">Adds a particular #AtspiState to an #AtspiStateSet (i.e. sets the
+      given state to #TRUE in the stateset).</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="57"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="136">a pointer to the #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="state" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="137">an #AtspiStateType to be added to the specified #AtspiStateSet.</doc>
+            <type name="StateType" c:type="AtspiStateType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="compare" c:identifier="atspi_state_set_compare">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="150">Determines the differences between two instances of #AtspiStateSet.
+
+@see #atspi_state_set_equals.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="59"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="159">an #AtspiStateSet object containing all states
+contained on one of the two sets but not the other.</doc>
+          <type name="StateSet" c:type="AtspiStateSet*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="152">a pointer to the first #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="set2" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="153">a pointer to the second #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="contains" c:identifier="atspi_state_set_contains">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="173">Determines whether a given #AtspiStateSet includes a given state; that is,
+         whether @state is true for the @set in question.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="61"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="182">#TRUE if @state is true/included in the given #AtspiStateSet,
+         otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="175">a pointer to the #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="state" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="176">an #AtspiStateType for which the specified #AtspiStateSet
+         will be queried.</doc>
+            <type name="StateType" c:type="AtspiStateType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="equals" c:identifier="atspi_state_set_equals">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="196">Determines whether two instances of #AtspiStateSet are equivalent (i.e.
+         consist of the same #AtspiStates).  Useful for checking multiple
+         state variables at once.
+
+@see #atspi_state_set_compare.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="63"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="207">#TRUE if the two #AtspiStateSets are equivalent,
+otherwise #FALSE.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="198">a pointer to the first #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="set2" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="199">a pointer to the second #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_states" c:identifier="atspi_state_set_get_states">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="222">Returns the states in an #AtspiStateSet as an array.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="65"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="228">A #GArray of state
+         types representing the current state.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="StateType"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="224">The #AtspiStateSet to be queried.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="is_empty" c:identifier="atspi_state_set_is_empty">
+        <source-position filename="../atspi/atspi-stateset.h" line="67"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-stateset.c"
+               line="256">#TRUE if the state set contains no states; #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="254">The #AtspiStateSet to query.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="remove" c:identifier="atspi_state_set_remove">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="264">Removes a particular #AtspiState to an #AtspiStateSet (i.e. sets the
+      given state to #FALSE in the stateset.)</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="69"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="266">a pointer to the #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="state" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="267">an #AtspiStateType to remove from the specified @set.</doc>
+            <type name="StateType" c:type="AtspiStateType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_by_name" c:identifier="atspi_state_set_set_by_name">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-stateset.c"
+             line="78">Enables/disables a state in an #AtspiStateSet according to its @name.</doc>
+        <source-position filename="../atspi/atspi-stateset.h" line="55"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="set" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="80">a pointer to the #AtspiStateSet object on which to operate.</doc>
+            <type name="StateSet" c:type="AtspiStateSet*"/>
+          </instance-parameter>
+          <parameter name="name" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="81">a string corresponding to a state name.</doc>
+            <type name="utf8" c:type="const gchar*"/>
+          </parameter>
+          <parameter name="enabled" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-stateset.c"
+                 line="82">if #TRUE, @name should be enabled in the @set in question;
+         otherwise, it should be disabled.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+        </parameters>
+      </method>
+      <field name="parent">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="accessible">
+        <type name="gpointer" c:type="_AtspiAccessible*"/>
+      </field>
+      <field name="states">
+        <type name="gint64" c:type="gint64"/>
+      </field>
+    </class>
+    <record name="StateSetClass"
+            c:type="AtspiStateSetClass"
+            glib:is-gtype-struct-for="StateSet">
+      <source-position filename="../atspi/atspi-stateset.h" line="49"/>
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <enumeration name="StateType"
+                 glib:type-name="AtspiStateType"
+                 glib:get-type="atspi_state_type_get_type"
+                 c:type="AtspiStateType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="418">Enumeration used by various interfaces indicating every possible state
+an #AtspiAccesible object can assume.</doc>
+      <member name="invalid"
+              value="0"
+              c:identifier="ATSPI_STATE_INVALID"
+              glib:nick="invalid">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="420">Indicates an invalid state - probably an error
+condition.</doc>
+      </member>
+      <member name="active"
+              value="1"
+              c:identifier="ATSPI_STATE_ACTIVE"
+              glib:nick="active">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="422">Indicates a window is currently the active window, or
+an object is the active subelement within a container or table.
+@ATSPI_STATE_ACTIVE should not be used for objects which have
+#ATSPI_STATE_FOCUSABLE or #ATSPI_STATE_SELECTABLE: Those objects should use
+@ATSPI_STATE_FOCUSED and @ATSPI_STATE_SELECTED respectively.
+@ATSPI_STATE_ACTIVE is a means to indicate that an object which is not
+focusable and not selectable is the currently-active item within its
+parent container.</doc>
+      </member>
+      <member name="armed"
+              value="2"
+              c:identifier="ATSPI_STATE_ARMED"
+              glib:nick="armed">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="430">Indicates that the object is armed.</doc>
+      </member>
+      <member name="busy"
+              value="3"
+              c:identifier="ATSPI_STATE_BUSY"
+              glib:nick="busy">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="431">Indicates the current object is busy, i.e. onscreen
+representation is in the process of changing, or       the object is
+temporarily unavailable for interaction due to activity already in progress.</doc>
+      </member>
+      <member name="checked"
+              value="4"
+              c:identifier="ATSPI_STATE_CHECKED"
+              glib:nick="checked">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="434">Indicates this object is currently checked.</doc>
+      </member>
+      <member name="collapsed"
+              value="5"
+              c:identifier="ATSPI_STATE_COLLAPSED"
+              glib:nick="collapsed">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="435">Indicates this object is collapsed.</doc>
+      </member>
+      <member name="defunct"
+              value="6"
+              c:identifier="ATSPI_STATE_DEFUNCT"
+              glib:nick="defunct">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="436">Indicates that this object no longer has a valid
+backing widget        (for instance, if its peer object has been destroyed).</doc>
+      </member>
+      <member name="editable"
+              value="7"
+              c:identifier="ATSPI_STATE_EDITABLE"
+              glib:nick="editable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="438">Indicates the user can change the contents of this
+object.</doc>
+      </member>
+      <member name="enabled"
+              value="8"
+              c:identifier="ATSPI_STATE_ENABLED"
+              glib:nick="enabled">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="440">Indicates that this object is enabled, i.e. that it
+currently reflects some application state. Objects that are "greyed out"
+may lack this state, and may lack the @ATSPI_STATE_SENSITIVE if direct
+user interaction cannot cause them to acquire @ATSPI_STATE_ENABLED.
+See @ATSPI_STATE_SENSITIVE.</doc>
+      </member>
+      <member name="expandable"
+              value="9"
+              c:identifier="ATSPI_STATE_EXPANDABLE"
+              glib:nick="expandable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="445">Indicates this object allows progressive
+disclosure of its children.</doc>
+      </member>
+      <member name="expanded"
+              value="10"
+              c:identifier="ATSPI_STATE_EXPANDED"
+              glib:nick="expanded">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="447">Indicates this object is expanded.</doc>
+      </member>
+      <member name="focusable"
+              value="11"
+              c:identifier="ATSPI_STATE_FOCUSABLE"
+              glib:nick="focusable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="448">Indicates this object can accept keyboard focus,
+which means all events resulting from typing on the keyboard will
+normally be passed to it when it has focus.</doc>
+      </member>
+      <member name="focused"
+              value="12"
+              c:identifier="ATSPI_STATE_FOCUSED"
+              glib:nick="focused">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="451">Indicates this object currently has the keyboard
+focus.</doc>
+      </member>
+      <member name="has_tooltip"
+              value="13"
+              c:identifier="ATSPI_STATE_HAS_TOOLTIP"
+              glib:nick="has-tooltip">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="453">Indicates that the object has an associated
+tooltip.</doc>
+      </member>
+      <member name="horizontal"
+              value="14"
+              c:identifier="ATSPI_STATE_HORIZONTAL"
+              glib:nick="horizontal">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="455">Indicates the orientation of this object is
+horizontal.</doc>
+      </member>
+      <member name="iconified"
+              value="15"
+              c:identifier="ATSPI_STATE_ICONIFIED"
+              glib:nick="iconified">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="457">Indicates this object is minimized and is
+represented only by an icon.</doc>
+      </member>
+      <member name="modal"
+              value="16"
+              c:identifier="ATSPI_STATE_MODAL"
+              glib:nick="modal">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="459">Indicates something must be done with this object
+before the user can interact with an object in a different window.</doc>
+      </member>
+      <member name="multi_line"
+              value="17"
+              c:identifier="ATSPI_STATE_MULTI_LINE"
+              glib:nick="multi-line">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="461">Indicates this (text) object can contain multiple
+lines of text.</doc>
+      </member>
+      <member name="multiselectable"
+              value="18"
+              c:identifier="ATSPI_STATE_MULTISELECTABLE"
+              glib:nick="multiselectable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="463">Indicates this object allows more than one of
+its children to be selected at the same time, or in the case of text
+objects, that the object supports non-contiguous text selections.</doc>
+      </member>
+      <member name="opaque"
+              value="19"
+              c:identifier="ATSPI_STATE_OPAQUE"
+              glib:nick="opaque">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="466">Indicates this object paints every pixel within its
+rectangular region. It also indicates an alpha value of unity, if it
+supports alpha blending.</doc>
+      </member>
+      <member name="pressed"
+              value="20"
+              c:identifier="ATSPI_STATE_PRESSED"
+              glib:nick="pressed">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="469">Indicates this object is currently pressed.</doc>
+      </member>
+      <member name="resizable"
+              value="21"
+              c:identifier="ATSPI_STATE_RESIZABLE"
+              glib:nick="resizable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="470">Indicates the size of this object's size is not
+fixed.</doc>
+      </member>
+      <member name="selectable"
+              value="22"
+              c:identifier="ATSPI_STATE_SELECTABLE"
+              glib:nick="selectable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="472">Indicates this object is the child of an object
+that allows its children to be selected and that this child is one of
+those children       that can be selected.</doc>
+      </member>
+      <member name="selected"
+              value="23"
+              c:identifier="ATSPI_STATE_SELECTED"
+              glib:nick="selected">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="475">Indicates this object is the child of an object that
+allows its children to be selected and that this child is one of those
+children that has been selected.</doc>
+      </member>
+      <member name="sensitive"
+              value="24"
+              c:identifier="ATSPI_STATE_SENSITIVE"
+              glib:nick="sensitive">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="478">Indicates this object is sensitive, e.g. to user
+interaction. @ATSPI_STATE_SENSITIVE usually accompanies.
+@ATSPI_STATE_ENABLED for user-actionable controls, but may be found in the
+absence of @ATSPI_STATE_ENABLED if the current visible state of the control
+is "disconnected" from the application state.  In such cases, direct user
+interaction can often result in the object gaining @ATSPI_STATE_SENSITIVE,
+for instance if a user makes an explicit selection using an object whose
+current state is ambiguous or undefined. See @ATSPI_STATE_ENABLED,
+@ATSPI_STATE_INDETERMINATE.</doc>
+      </member>
+      <member name="showing"
+              value="25"
+              c:identifier="ATSPI_STATE_SHOWING"
+              glib:nick="showing">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="487">Indicates this object, the object's parent, the
+object's parent's parent, and so on, are all 'shown' to the end-user,
+i.e. subject to "exposure" if blocking or obscuring objects do not
+interpose between this object and the top of the window stack.</doc>
+      </member>
+      <member name="single_line"
+              value="26"
+              c:identifier="ATSPI_STATE_SINGLE_LINE"
+              glib:nick="single-line">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="491">Indicates this (text) object can contain only a
+single line of text.</doc>
+      </member>
+      <member name="stale"
+              value="27"
+              c:identifier="ATSPI_STATE_STALE"
+              glib:nick="stale">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="493">Indicates that the information returned for this object
+may no longer be synchronized with the application state.  This can occur
+if the object has @ATSPI_STATE_TRANSIENT, and can also occur towards the
+end of the object peer's lifecycle.</doc>
+      </member>
+      <member name="transient"
+              value="28"
+              c:identifier="ATSPI_STATE_TRANSIENT"
+              glib:nick="transient">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="497">Indicates this object is transient.</doc>
+      </member>
+      <member name="vertical"
+              value="29"
+              c:identifier="ATSPI_STATE_VERTICAL"
+              glib:nick="vertical">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="498">Indicates the orientation of this object is vertical;
+for example this state may appear on such objects as scrollbars, text
+objects (with vertical text flow), separators, etc.</doc>
+      </member>
+      <member name="visible"
+              value="30"
+              c:identifier="ATSPI_STATE_VISIBLE"
+              glib:nick="visible">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="501">Indicates this object is visible, e.g. has been
+explicitly marked for exposure to the user. @ATSPI_STATE_VISIBLE is no
+guarantee that the object is actually unobscured on the screen, only that
+it is 'potentially' visible, barring obstruction, being scrolled or clipped
+out of the field of view, or having an ancestor container that has not yet
+made visible. A widget is potentially onscreen if it has both
+@ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING. The absence of
+@ATSPI_STATE_VISIBLE and @ATSPI_STATE_SHOWING is
+semantically equivalent to saying that an object is 'hidden'.</doc>
+      </member>
+      <member name="manages_descendants"
+              value="31"
+              c:identifier="ATSPI_STATE_MANAGES_DESCENDANTS"
+              glib:nick="manages-descendants">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="510">Indicates that "active-descendant-changed"
+event is sent when children become 'active' (i.e. are selected or
+navigated to onscreen).  Used to prevent need to enumerate all children
+in very large containers, like tables. The presence of
+@ATSPI_STATE_MANAGES_DESCENDANTS is an indication to the client that the
+children should not, and need not, be enumerated by the client.
+Objects implementing this state are expected to provide relevant state
+notifications to listening clients, for instance notifications of
+visibility changes and activation of their contained child objects, without
+the client having previously requested references to those children.</doc>
+      </member>
+      <member name="indeterminate"
+              value="32"
+              c:identifier="ATSPI_STATE_INDETERMINATE"
+              glib:nick="indeterminate">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="520">Indicates that a check box or other boolean
+indicator is in a state other than checked or not checked.  This
+usually means that the boolean value reflected or controlled by the
+object does not apply consistently to the entire current context.
+For example, a checkbox for the "Bold" attribute of text may have
+@ATSPI_STATE_INDETERMINATE if the currently selected text contains a mixture
+of weight attributes. In many cases interacting with a
+@ATSPI_STATE_INDETERMINATE object will cause the context's corresponding
+boolean attribute to be homogenized, whereupon the object will lose
+@ATSPI_STATE_INDETERMINATE and a corresponding state-changed event will be
+fired.</doc>
+      </member>
+      <member name="required"
+              value="33"
+              c:identifier="ATSPI_STATE_REQUIRED"
+              glib:nick="required">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="531">Indicates that user interaction with this object is
+'required' from the user, for instance before completing the
+processing of a form.</doc>
+      </member>
+      <member name="truncated"
+              value="34"
+              c:identifier="ATSPI_STATE_TRUNCATED"
+              glib:nick="truncated">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="534">Indicates that an object's onscreen content
+is truncated, e.g. a text value in a spreadsheet cell.</doc>
+      </member>
+      <member name="animated"
+              value="35"
+              c:identifier="ATSPI_STATE_ANIMATED"
+              glib:nick="animated">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="536">Indicates this object's visual representation is
+dynamic, not static. This state may be applied to an object during an
+animated 'effect' and be removed from the object once its visual
+representation becomes static. Some applications, notably content viewers,
+may not be able to detect all kinds of animated content.  Therefore the
+absence of this state should not be taken as
+definitive evidence that the object's visual representation is
+static; this state is advisory.</doc>
+      </member>
+      <member name="invalid_entry"
+              value="36"
+              c:identifier="ATSPI_STATE_INVALID_ENTRY"
+              glib:nick="invalid-entry">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="544">This object has indicated an error condition
+due to failure of input validation.  For instance, a form control may
+acquire this state in response to invalid or malformed user input.</doc>
+      </member>
+      <member name="supports_autocompletion"
+              value="37"
+              c:identifier="ATSPI_STATE_SUPPORTS_AUTOCOMPLETION"
+              glib:nick="supports-autocompletion">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="547">This state indicates that the object
+in question implements some form of typeahead or
+pre-selection behavior whereby entering the first character of one or more
+sub-elements causes those elements to scroll into view or become
+selected. Subsequent character input may narrow the selection further as
+long as one or more sub-elements match the string. This state is normally
+only useful and encountered on objects that implement #AtspiSelection.
+In some cases the typeahead behavior may result in full or partial
+completion of the data in the input field, in which case
+these input events may trigger text-changed events from the source.</doc>
+      </member>
+      <member name="selectable_text"
+              value="38"
+              c:identifier="ATSPI_STATE_SELECTABLE_TEXT"
+              glib:nick="selectable-text">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="557">This state indicates that the object in
+question supports text selection. It should only be exposed on objects
+which implement the #AtspiText interface, in order to distinguish this state
+from @ATSPI_STATE_SELECTABLE, which infers that the object in question is a
+selectable child of an object which implements #AtspiSelection. While
+similar, text selection and subelement selection are distinct operations.</doc>
+      </member>
+      <member name="is_default"
+              value="39"
+              c:identifier="ATSPI_STATE_IS_DEFAULT"
+              glib:nick="is-default">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="563">This state indicates that the object in question is
+the 'default' interaction object in a dialog, i.e. the one that gets
+activated if the user presses "Enter" when the dialog is initially
+posted.</doc>
+      </member>
+      <member name="visited"
+              value="40"
+              c:identifier="ATSPI_STATE_VISITED"
+              glib:nick="visited">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="567">This state indicates that the object (typically a
+hyperlink) has already been activated or invoked, with the result that
+some backing data has been downloaded or rendered.</doc>
+      </member>
+      <member name="checkable"
+              value="41"
+              c:identifier="ATSPI_STATE_CHECKABLE"
+              glib:nick="checkable">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="570">Indicates this object has the potential to
+ be checked, such as a checkbox or toggle-able table cell. @Since:
+ 2.12</doc>
+      </member>
+      <member name="has_popup"
+              value="42"
+              c:identifier="ATSPI_STATE_HAS_POPUP"
+              glib:nick="has-popup">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="573">Indicates that the object has a popup
+context menu or sub-level menu which may or may not be
+showing. This means that activation renders conditional content.
+Note that ordinary tooltips are not considered popups in this
+context. @Since: 2.12</doc>
+      </member>
+      <member name="read_only"
+              value="43"
+              c:identifier="ATSPI_STATE_READ_ONLY"
+              glib:nick="read-only">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="578">Indicates that an object which is ENABLED and
+SENSITIVE has a value which can be read, but not modified, by the
+user. @Since: 2.16</doc>
+      </member>
+      <member name="last_defined"
+              value="44"
+              c:identifier="ATSPI_STATE_LAST_DEFINED"
+              glib:nick="last-defined">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="581">This value of the enumeration should not be used
+as a parameter, it indicates the number of items in the #AtspiStateType
+enumeration.</doc>
+      </member>
+    </enumeration>
+    <function-macro name="TABLE" c:identifier="ATSPI_TABLE" introspectable="0">
+      <source-position filename="../atspi/atspi-table.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="TABLE_CELL"
+                    c:identifier="ATSPI_TABLE_CELL"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-table-cell.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="TABLE_CELL_GET_IFACE"
+                    c:identifier="ATSPI_TABLE_CELL_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-table-cell.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="TABLE_GET_IFACE"
+                    c:identifier="ATSPI_TABLE_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-table.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="TEXT" c:identifier="ATSPI_TEXT" introspectable="0">
+      <source-position filename="../atspi/atspi-text.h" line="73"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <constant name="TEXT_BOUNDARY_TYPE_COUNT"
+              value="7"
+              c:type="ATSPI_TEXT_BOUNDARY_TYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="383">One higher than the highest valid value of #AtspiTextBoundaryType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="388"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <constant name="TEXT_CLIP_TYPE_COUNT"
+              value="4"
+              c:type="ATSPI_TEXT_CLIP_TYPE_COUNT">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="411">One higher than the highest valid value of #AtspiTextClipType.</doc>
+      <source-position filename="../atspi/atspi-constants.h" line="416"/>
+      <type name="gint" c:type="gint"/>
+    </constant>
+    <function-macro name="TEXT_GET_IFACE"
+                    c:identifier="ATSPI_TEXT_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-text.h" line="74"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <interface name="Table"
+               c:symbol-prefix="table"
+               c:type="AtspiTable"
+               glib:type-name="AtspiTable"
+               glib:get-type="atspi_table_get_type">
+      <method name="add_column_selection"
+              c:identifier="atspi_table_add_column_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="554">Selects the specified column, adding it to the current column selection.
+Not all tables support column selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="93"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="562">#TRUE if the specified column was successfully selected, #FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="556">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="557">the zero-indexed column number of the column being selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="add_row_selection"
+              c:identifier="atspi_table_add_row_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="529">Selects the specified row, adding it to the current row selection.
+Not all tables support row selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="91"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="537">#TRUE if the specified row was successfully selected, #FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="531">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="532">the zero-indexed row number of the row being selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_accessible_at"
+              c:identifier="atspi_table_get_accessible_at"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="114">Gets the table cell at the specified row and column indices.
+To get the accessible object at a particular (x, y) screen
+coordinate, use #atspi_component_get_accessible_at_point.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="57"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="124">an #AtspiAccessible object representing the
+         specified table cell.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="116">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="117">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="118">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_caption"
+              c:identifier="atspi_table_get_caption"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="28">Gets an accessible representation of the caption for an #AtspiTable.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="49"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="34">an #AtspiAccessible object that serves as
+the table's caption.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="30">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_column_at_index"
+              c:identifier="atspi_table_get_column_at_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="202">Gets the table column index occupied by the child at a particular 1-D
+child index.
+
+@see #atspi_table_get_index_at, #atspi_table_get_row_at_index</doc>
+        <source-position filename="../atspi/atspi-table.h" line="63"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="212">a #gint indicating the first column spanned by the child of a
+         table, at the specified 1-D (zero-offset) @index.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="204">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="205">the specified child index, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_column_description"
+              c:identifier="atspi_table_get_column_description"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="255">Gets a text description of a particular table column.  This differs from
+#atspi_table_get_column_header, which returns an #Accessible.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="67"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="263">a UTF-8 string describing the specified table column, if available.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="257">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="258">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_column_extent_at"
+              c:identifier="atspi_table_get_column_extent_at"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="309">Gets the number of columns spanned by the table cell at the specific
+row and column (some tables can have cells which span multiple
+rows and/or columns).
+The returned values are meaningful only if the Table has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="73"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="321">a #gint indicating the number of columns spanned by the specified cell.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="311">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="312">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="313">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_column_header"
+              c:identifier="atspi_table_get_column_header"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="365">Gets the header associated with a table column, if available.
+This differs from #atspi_table_get_column_description, which
+returns a string.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="77"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="374">an #AtspiAccessible representation of the
+         specified table column, if available.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="367">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="368">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_index_at"
+              c:identifier="atspi_table_get_index_at"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="143">Gets the 1-D child index corresponding to the specified 2-D row and
+column indices. To get the accessible object at a particular (x, y) screen
+coordinate, use #atspi_component_get_accessible_at_point.
+
+@see #atspi_table_get_row_at_index, #atspi_table_get_column_at_index</doc>
+        <source-position filename="../atspi/atspi-table.h" line="59"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="155">a #gint which serves as the index of a specified cell in the
+         table, in a form usable by #atspi_get_child_at_index.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="145">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="146">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="147">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_n_columns"
+              c:identifier="atspi_table_get_n_columns"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="92">Gets the number of columns in an #AtspiTable,
+       exclusive of any columns that are programmatically hidden, but inclusive
+       of columns that may be outside of the current scrolling window or viewport.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="55"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="100">a #gint indicating the number of columns in the table.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="94">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_n_rows"
+              c:identifier="atspi_table_get_n_rows"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="70">Gets the number of rows in an #AtspiTable,
+       exclusive of any rows that are programmatically hidden, but inclusive
+       of rows that may be outside of the current scrolling window or viewport.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="53"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="78">a #gint indicating the number of rows in the table.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="72">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_n_selected_columns"
+              c:identifier="atspi_table_get_n_selected_columns"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="458">Queries a table to find out how many columns are currently selected.
+Not all tables support column selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="85"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="465">a #gint indicating the number of columns currently selected.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="460">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_n_selected_rows"
+              c:identifier="atspi_table_get_n_selected_rows"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="392">Query a table to find out how many rows are currently selected.
+Not all tables support row selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="79"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="399">a #gint indicating the number of rows currently selected.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="394">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_row_at_index"
+              c:identifier="atspi_table_get_row_at_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="174">Gets the table row index occupied by the child at a particular 1-D
+child index.
+
+@see #atspi_table_get_index_at, #atspi_table_get_column_at_index</doc>
+        <source-position filename="../atspi/atspi-table.h" line="61"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="184">a #gint indicating the first row spanned by the child of a
+         table, at the specified 1-D (zero-offset) @index.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="176">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="177">the specified child index, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_column_extents_at_index"
+              c:identifier="atspi_table_get_row_column_extents_at_index"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="632">Given a child index, determines the row and column indices and
+extents, and whether the cell is currently selected.  If
+the child at index is not a cell (for instance, if it is
+a summary, caption, etc.), #FALSE is returned.
+The returned values are meaningful only if the Table has both
+STATE_VISIBLE and STATE_SHOWING.
+
+Example:
+If the #AtspiTable child at index '6' extends across columns 5 and 6 of
+row 2 of an #AtspiTable instance, and is currently selected, then
+
+retval = atspi_table_get_row_column_extents_at_index (table, 6,
+                                            row, col,
+                                            row_extents,
+                                            col_extents,
+                                            is_selected);
+
+will return #TRUE, and after the call
+row, col, row_extents, col_extents,
+and is_selected will contain 2, 5, 1, 2, and
+#TRUE, respectively.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="99"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="671">#TRUE if the index is associated with a valid table
+cell, #FALSE if the index does not correspond to a cell.  If
+#FALSE is returned, the values of the out parameters are
+undefined.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="634">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="index" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="635">the index of the #AtspiTable child whose row/column
+extents are requested.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="row"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="637">back-filled with the first table row associated with
+the cell with child index.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="col"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="639">back-filled with the first table column associated
+with the cell with child index.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="row_extents"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="641">back-filled with the number of table rows
+across which child i extends.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="col_extents"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="643">back-filled with the number of table columns
+across which child i extends.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="is_selected"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="645">a boolean which is back-filled with #TRUE
+if the child at index i corresponds to a selected table cell,
+#FALSE otherwise.</doc>
+            <type name="gboolean" c:type="gboolean*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_description"
+              c:identifier="atspi_table_get_row_description"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="230">Gets a text description of a particular table row.  This differs from
+#atspi_table_get_row_header, which returns an #AtspiAccessible.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="65"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="238">a UTF-8 string describing the specified table row, if available.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="232">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="233">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_extent_at"
+              c:identifier="atspi_table_get_row_extent_at"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="279">Gets the number of rows spanned by the table cell at the specific row
+and column. (some tables can have cells which span multiple rows
+and/or columns).
+The returned values are meaningful only if the Table has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="70"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="291">a #gint indicating the number of rows spanned by the specified cell.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="281">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="282">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="283">the specified table column, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_header"
+              c:identifier="atspi_table_get_row_header"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="339">Gets the header associated with a table row, if available. This differs from
+#atspi_table_get_row_description, which returns a string.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="75"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="347">an #AtspiAccessible representation of the specified
+         table row, if available.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="341">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="342">the specified table row, zero-indexed.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_selected_columns"
+              c:identifier="atspi_table_get_selected_columns"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="435">Queries a table for a list of indices of columns which are currently
+selected.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="83"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="442">an array of #gint values,
+         specifying which columns are currently selected.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="gint"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="437">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_selected_rows"
+              c:identifier="atspi_table_get_selected_rows"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="413">Queries a table for a list of indices of rows which are currently selected.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="81"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="419">an array of #gint values,
+         specifying which rows are currently selected.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="gint"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="415">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_summary"
+              c:identifier="atspi_table_get_summary"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="49">Gets an accessible object which summarizes the contents of an #AtspiTable.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="51"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="55">an #AtspiAccessible object that serves as the
+         table's summary (often a reduced #AtspiTable).</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="51">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="is_column_selected"
+              c:identifier="atspi_table_is_column_selected"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="504">Determines whether specified table column is selected.
+Not all tables support column selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="89"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="512">#TRUE if the specified column is currently selected, #FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="506">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="507">the zero-indexed column number of the column being queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="is_row_selected"
+              c:identifier="atspi_table_is_row_selected"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="479">Determines whether a table row is selected.  Not all tables support
+row selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="87"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="487">#TRUE if the specified row is currently selected, #FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="481">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="482">the zero-indexed row number of the row being queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="is_selected"
+              c:identifier="atspi_table_is_selected"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="703">Determines whether the cell at a specific row and column is selected.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="101"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="711">#TRUE if the specified cell is currently selected, #FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="705">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="706">the zero-indexed row of the cell being queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="707">the zero-indexed column of the cell being queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="remove_column_selection"
+              c:identifier="atspi_table_remove_column_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="605">De-selects the specified column, removing it from the current column
+selection.
+Not all tables support column selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="97"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="614">#TRUE if the specified column was successfully de-selected,
+#FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="607">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="column" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="608">the zero-indexed column number of the column being de-selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="remove_row_selection"
+              c:identifier="atspi_table_remove_row_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table.c"
+             line="579">De-selects the specified row, removing it from the current row selection.
+Not all tables support row selection.</doc>
+        <source-position filename="../atspi/atspi-table.h" line="95"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table.c"
+               line="587">#TRUE if the specified row was successfully de-selected,
+#FALSE if not.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="581">a pointer to the #AtspiTable implementor on which to operate.</doc>
+            <type name="Table" c:type="AtspiTable*"/>
+          </instance-parameter>
+          <parameter name="row" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table.c"
+                 line="582">the zero-indexed number of the row being de-selected.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <interface name="TableCell"
+               c:symbol-prefix="table_cell"
+               c:type="AtspiTableCell"
+               glib:type-name="AtspiTableCell"
+               glib:get-type="atspi_table_cell_get_type">
+      <method name="get_column_header_cells"
+              c:identifier="atspi_table_cell_get_column_header_cells"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="80">Returns the column headers as an array of cell accessibles.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="51"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="86">a GPtrArray of
+AtspiAccessibles representing the column header cells.</doc>
+          <array name="GLib.PtrArray" c:type="GPtrArray*">
+            <type name="Accessible"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="82">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_column_index"
+              c:identifier="atspi_table_cell_get_column_index"
+              throws="1">
+        <source-position filename="../atspi/atspi-table-cell.h" line="54"/>
+        <return-value transfer-ownership="none">
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_column_span"
+              c:identifier="atspi_table_cell_get_column_span"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="56">Returns the number of columns occupied by this cell accessible.
+The returned values are meaningful only if the table cell has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="49"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="64">a gint representing the number of columns occupied by this cell,
+or 0 if the cell does not implement this method.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="58">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_position"
+              c:identifier="atspi_table_cell_get_position"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="146">Retrieves the tabular position of this cell.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="61"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="154">TRUE if successful, FALSE otherwise.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="148">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+          <parameter name="row"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="149">the row of the given cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="column"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="150">the column of the given cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_column_span"
+              c:identifier="atspi_table_cell_get_row_column_span"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="204">Gets the row and column indexes and extents of this cell accessible.
+The returned values are meaningful only if the table cell has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="66"/>
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="206">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+          <parameter name="row"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="207">the row index of the given cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="column"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="208">the column index of the given cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="row_span"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="209">the number of rows occupied by this cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="column_span"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="210">the number of columns occupied by this cell.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_row_header_cells"
+              c:identifier="atspi_table_cell_get_row_header_cells"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="125">Returns the row headers as an array of cell accessibles.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="58"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="131">a GPtrArray of
+AtspiAccessibles representing the row header cells.</doc>
+          <array name="GLib.PtrArray" c:type="GPtrArray*">
+            <type name="Accessible"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="127">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_row_span"
+              c:identifier="atspi_table_cell_get_row_span"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="101">Returns the number of rows occupied by this cell accessible.
+The returned values are meaningful only if the table cell has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="56"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="109">a gint representing the number of rows occupied by this cell,
+or 0 if the cell does not implement this method.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="103">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_table"
+              c:identifier="atspi_table_cell_get_table"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-table-cell.c"
+             line="251">Returns a reference to the accessible of the containing table.</doc>
+        <source-position filename="../atspi/atspi-table-cell.h" line="73"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-table-cell.c"
+               line="257">the AtspiAccessible for the containing table.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-table-cell.c"
+                 line="253">a GObject instance that implements AtspiTableCellIface</doc>
+            <type name="TableCell" c:type="AtspiTableCell*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+    </interface>
+    <interface name="Text"
+               c:symbol-prefix="text"
+               c:type="AtspiText"
+               glib:type-name="AtspiText"
+               glib:get-type="atspi_text_get_type">
+      <method name="add_selection"
+              c:identifier="atspi_text_add_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="823">Selects some text (adds a text selection) in an #AtspiText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="134"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="831">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="825">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="826">the starting offset of the desired new selection.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="827">the offset of the first character after the new selection.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_attribute_run"
+              c:identifier="atspi_text_get_attribute_run"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="223">Gets a set of attributes applied to a range of text from an #AtspiText object, 
optionally
+including its 'default' attributes.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="98"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="240">a #GHashTable with attributes
+         defined at the indicated offset, optionally including the 'default' ones.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="225">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="226">a #gint indicating the offset from which the attribute
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="include_defaults" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="228">a #bool that, when set as #FALSE, indicates the call
+should only return those attributes which are explicitly set on the current
+attribute run, omitting any attributes which are inherited from the
+default values.</doc>
+            <type name="gboolean" c:type="gboolean"/>
+          </parameter>
+          <parameter name="start_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="232">a #gint pointer indicating the start of the desired text
+               range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="end_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="234">a #gint pointer indicating the first character past the desired
+             range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_attribute_value"
+              c:identifier="atspi_text_get_attribute_value"
+              shadows="get_text_attribute_value"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="281">Gets the value of a named attribute at a given offset.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_text_get_text_attribute_value 
instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-text.h" line="101"/>
+        <return-value transfer-ownership="full" nullable="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="289">the value of a given attribute at the given
+offset, or %NULL if not present.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="283">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="284">The character offset at which to query the attribute.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="attribute_name" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="285">The attribute to query.</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_attributes"
+              c:identifier="atspi_text_get_attributes"
+              shadows="get_text_attributes"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="140">Gets the attributes applied to a range of text from an #AtspiText
+object. The text attributes correspond to CSS attributes
+where possible.
+&lt;em&gt;DEPRECATED&lt;/em&gt;</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_text_get_text_attributes instead.</doc-deprecated>
+        <source-position filename="../atspi/atspi-text.h" line="93"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="155">a #GHashTable
+describing the attributes at the given character offset.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="142">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="143">a #gint indicating the offset from which the attribute
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="start_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="145">a #gint pointer indicating the start of the desired text
+               range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="end_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="147">a #gint pointer indicating the first character past the desired
+             range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_bounded_ranges"
+              c:identifier="atspi_text_get_bounded_ranges"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="728">Gets the ranges of text from an #AtspiText object which lie within the
+         bounds defined by (@x, @y) and (@x+@width, @y+@height).</doc>
+        <source-position filename="../atspi/atspi-text.h" line="128"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="745">a null-terminated list of
+         pointers to #AtspiTextRange structs detailing the bounded text.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="TextRange"/>
+          </array>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="730">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="731">the 'starting' x coordinate of the bounding box.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="732">the 'starting' y coordinate of the bounding box.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="width" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="733">the x extent of the bounding box.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="height" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="734">the y extent of the bounding box.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="735">an #AccessibleCoordType indicating the coordinate system to use
+       for the returned values.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+          <parameter name="clipTypeX" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="737">an #AtspiTextClipType indicating how to treat characters that
+       intersect the bounding box's x extents.</doc>
+            <type name="TextClipType" c:type="AtspiTextClipType"/>
+          </parameter>
+          <parameter name="clipTypeY" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="739">an #AtspiTextClipType indicating how to treat characters that
+       intersect the bounding box's y extents.</doc>
+            <type name="TextClipType" c:type="AtspiTextClipType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_caret_offset"
+              c:identifier="atspi_text_get_caret_offset"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="120">Gets the current offset of the text caret in an #AtspiText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="90"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="126">a #gint indicating the current position of the text caret.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="122">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_character_at_offset"
+              c:identifier="atspi_text_get_character_at_offset"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="583">Gets the character at a given offset for an #AtspiText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="120"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="591">a #guint  representing the
+       UCS-4 unicode code point of the given character, or
+       0xFFFFFFFF if the character in question cannot be represented
+       in the UCS-4 encoding.</doc>
+          <type name="guint" c:type="guint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="585">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="586">a #gint indicating the text offset where the desired
+         character is located.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_character_count"
+              c:identifier="atspi_text_get_character_count"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="67">Gets the character count of an #AccessibleText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="86"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="73">a #gint indicating the total number of
+             characters in the #AccessibleText object.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="69">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_character_extents"
+              c:identifier="atspi_text_get_character_extents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="611">Gets a bounding box containing the glyph representing
+       the character at a particular text offset.
+The returned values are meaningful only if the Text has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="122"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="624">An #AtspiRect specifying the position and size of the character.</doc>
+          <type name="Rect" c:type="AtspiRect*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="613">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="614">a #gint indicating the offset of the text character for
+       whom boundary information is requested.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="616">an #AccessibleCoordType indicating the coordinate system to use
+       for the returned values.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_default_attributes"
+              c:identifier="atspi_text_get_default_attributes"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="334">Gets the default attributes applied to an #AtspiText
+object. The text attributes correspond to CSS attributes
+where possible. The combination of this attribute set and
+the attributes reported by #atspi_text_get_attributes
+describes the entire set of text attributes over a range.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="106"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="344">a #GHashTable
+         containing the default attributes applied to a text object,
+         (exclusive of explicitly-set attributes), encoded as UTF-8.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="336">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_n_selections"
+              c:identifier="atspi_text_get_n_selections"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="771">Gets the number of active non-contiguous selections for an
+         #AtspiText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="130"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="778">a #gint indicating the current
+         number of non-contiguous text selections active
+         within an #AtspiText object.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="773">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_offset_at_point"
+              c:identifier="atspi_text_get_offset_at_point"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="652">Gets the character offset into the text at a given point.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="124"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="662">the offset (as a #gint) at the point (@x, @y)
+      in the specified coordinate system.</doc>
+          <type name="gint" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="654">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="655">the x coordinate of the point to be queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="656">the y coordinate of the point to be queried.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="657">an #AtspiCoordType indicating the coordinate system in which
+      the values should be returned.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_range_extents"
+              c:identifier="atspi_text_get_range_extents"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="684">Gets the bounding box for text within a range in an  #AtspiText object.
+The returned values are meaningful only if the Text has both
+STATE_VISIBLE and STATE_SHOWING.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="126"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="698">An #AtspiRect giving the position and size of the specified range
+         of text.</doc>
+          <type name="Rect" c:type="AtspiRect*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="686">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="687">a #gint indicating the offset of the first text character for
+       whom boundary information is requested.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="689">a #gint indicating the offset of the text character
+       after the last character for whom boundary information is requested.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="691">an #AtspiCoordType indicating the coordinate system to use
+       for the returned values.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_selection"
+              c:identifier="atspi_text_get_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="794">Gets the bounds of the @selection_num-th active text selection for an
+        #AtspiText object.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="132"/>
+        <return-value transfer-ownership="full">
+          <type name="Range" c:type="AtspiRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="796">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="selection_num" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="797">a #gint indicating which selection to query.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_string_at_offset"
+              c:identifier="atspi_text_get_string_at_offset"
+              version="2.9.90"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="426">Gets a portion of the text exposed through an #AtspiText according to a given @offset
+and a specific @granularity, along with the start and end offsets defining the
+boundaries of such a portion of text.
+
+If @granularity is ATSPI_TEXT_GRANULARITY_CHAR the character at the
+offset is returned.
+
+If @granularity is ATSPI_TEXT_GRANULARITY_WORD the returned string
+is from the word start at or before the offset to the word start after
+the offset.
+
+The returned string will contain the word at the offset if the offset
+is inside a word and will contain the word before the offset if the
+offset is not inside a word.
+
+If @granularity is ATSPI_TEXT_GRANULARITY_SENTENCE the returned string
+is from the sentence start at or before the offset to the sentence
+start after the offset.
+
+The returned string will contain the sentence at the offset if the offset
+is inside a sentence and will contain the sentence before the offset
+if the offset is not inside a sentence.
+
+If @granularity is ATSPI_TEXT_GRANULARITY_LINE the returned string
+is from the line start at or before the offset to the line
+start after the offset.
+
+If @granularity is ATSPI_TEXT_GRANULARITY_PARAGRAPH the returned string
+is from the start of the paragraph at or before the offset to the start
+of the following paragraph after the offset.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="118"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="465">a newly allocated string containing the text at the @offset bounded
+  by the specified @granularity. Use g_free() to free the returned string.
+  Returns %NULL if the offset is invalid or no implementation is available.</doc>
+          <type name="TextRange" c:type="AtspiTextRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="428">an #AtspiText</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="429">position</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="granularity" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="430">An #AtspiTextGranularity</doc>
+            <type name="TextGranularity" c:type="AtspiTextGranularity"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text" c:identifier="atspi_text_get_text" throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="88">Gets a range of text from an #AtspiText object.  The number of bytes
+         in the returned string may exceed either end_offset or start_offset, since
+         UTF-8 is a variable-width encoding.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="88"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="98">a text string containing characters from @start_offset
+         to @end_offset-1, inclusive, encoded as UTF-8.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="90">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="91">a #gint indicating the start of the desired text range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="92">a #gint indicating the first character past the desired range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text_after_offset"
+              c:identifier="atspi_text_get_text_after_offset"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="540">Gets delimited text from an #AtspiText object which follows a given
+         text offset.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="115"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="551">an #AtspiTextRange containing a UTF-8 string representing the
+         delimited text, both of whose delimiting boundaries are after or
+         inclusive of the current offset, or an empty string if no such
+         text exists.</doc>
+          <type name="TextRange" c:type="AtspiTextRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="542">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="543">a #gint indicating the offset from which the delimiter
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="545">an #AtspiTextBoundaryType indicating whether the desired
+      text string is a word, sentence, line, or attribute run.</doc>
+            <type name="TextBoundaryType" c:type="AtspiTextBoundaryType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text_at_offset"
+              c:identifier="atspi_text_get_text_at_offset"
+              deprecated="1"
+              deprecated-version="2.10"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="496">Gets delimited text from an #AtspiText object which includes a given
+         text offset.</doc>
+        <doc-deprecated xml:space="preserve">Use atspi_text_get_string_at_offset.</doc-deprecated>
+        <source-position filename="../atspi/atspi-text.h" line="113"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="507">an #AtspiTextRange containing a UTF-8 string representing the
+         delimited text, whose delimiting boundaries bracket the
+         current offset, or an empty string if no such text exists.</doc>
+          <type name="TextRange" c:type="AtspiTextRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="498">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="499">a #gint indicating the offset from which the delimiter
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="501">an #AtspiTextBoundaryType indicating whether the desired
+      text string is a word, sentence, line, or attribute run.</doc>
+            <type name="TextBoundaryType" c:type="AtspiTextBoundaryType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text_attribute_value"
+              c:identifier="atspi_text_get_text_attribute_value"
+              shadowed-by="get_attribute_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="304">Gets the value of a named attribute at a given offset.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="104"/>
+        <return-value transfer-ownership="full" nullable="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="312">the value of a given attribute at the given offset, or %NULL if
+not present.</doc>
+          <type name="utf8" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="306">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="307">The character offset at which to query the attribute.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="attribute_name" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="308">The attribute to query.</doc>
+            <type name="utf8" c:type="gchar*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text_attributes"
+              c:identifier="atspi_text_get_text_attributes"
+              shadowed-by="get_attributes"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="170">Gets the attributes applied to a range of text from an #AtspiText
+object. The text attributes correspond to CSS attributes
+where possible.
+&lt;em&gt;DEPRECATED&lt;/em&gt;</doc>
+        <source-position filename="../atspi/atspi-text.h" line="96"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="185">a #GHashTable
+describing the attributes at the given character offset.</doc>
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="172">a pointer to the #AtspiText object to query.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="173">a #gint indicating the offset from which the attribute
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="start_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="175">a #gint pointer indicating the start of the desired text
+               range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+          <parameter name="end_offset"
+                     direction="out"
+                     caller-allocates="0"
+                     transfer-ownership="full">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="177">a #gint pointer indicating the first character past the desired
+             range.</doc>
+            <type name="gint" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="get_text_before_offset"
+              c:identifier="atspi_text_get_text_before_offset"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="384">Gets delimited text from an #AtspiText object which precedes a given
+         text offset.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="111"/>
+        <return-value transfer-ownership="full">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="395">an #AtspiTextRange containing a UTF-8 string representing the
+         delimited text, both of whose delimiting boundaries are before the
+         current offset, or an empty string if no such text exists.</doc>
+          <type name="TextRange" c:type="AtspiTextRange*"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="386">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="387">a #gint indicating the offset from which the delimiter
+       search is based.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="389">an #AtspiTextBoundaryType indicating whether the desired
+      text string is a word, sentence, line, or attribute run.</doc>
+            <type name="TextBoundaryType" c:type="AtspiTextBoundaryType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="remove_selection"
+              c:identifier="atspi_text_remove_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="846">De-selects a text selection.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="136"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="853">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="848">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="selection_num" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="849">a #gint indicating which text selection to remove.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="scroll_substring_to"
+              c:identifier="atspi_text_scroll_substring_to"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="899">Scrolls whatever container of the #AtspiText text range so it becomes
+visible on the screen.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="140"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="910">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="901">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="902">a #gint indicating the start of the desired text range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="903">a #gint indicating the first character past the desired range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="type" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="904">a #AtspiScrollType indicating where the object should be placed on the
+       screen.</doc>
+            <type name="ScrollType" c:type="AtspiScrollType"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="scroll_substring_to_point"
+              c:identifier="atspi_text_scroll_substring_to_point"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="930">Scrolls whatever container of the #AtspiText text range so it becomes
+visible on the screen at a given position.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="142"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="943">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="932">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="933">a #gint indicating the start of the desired text range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="934">a #gint indicating the first character past the desired range.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="coords" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="935">a #AtspiCoordType indicating whether the coordinates are relative to
+         the screen, to the window, or to the parent object.</doc>
+            <type name="CoordType" c:type="AtspiCoordType"/>
+          </parameter>
+          <parameter name="x" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="937">the x coordinate of the point to reach</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="y" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="938">the y coordinate of the point to reach</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_caret_offset"
+              c:identifier="atspi_text_set_caret_offset"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="360">Moves the text caret to a given position.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="108"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="367">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="362">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="new_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="363">the offset to which the text caret is to be moved.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="set_selection"
+              c:identifier="atspi_text_set_selection"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-text.c"
+             line="870">Changes the bounds of an existing #AtspiText text selection.</doc>
+        <source-position filename="../atspi/atspi-text.h" line="138"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-text.c"
+               line="880">#TRUE if successful, #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="872">a pointer to the #AtspiText object on which to operate.</doc>
+            <type name="Text" c:type="AtspiText*"/>
+          </instance-parameter>
+          <parameter name="selection_num" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="873">a zero-offset index indicating which text selection to modify.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="start_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="874">a #gint indicating the new starting offset for the selection.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+          <parameter name="end_offset" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-text.c"
+                 line="875">a #gint indicating the desired new offset of the first character
+            after the selection.</doc>
+            <type name="gint" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <enumeration name="TextBoundaryType"
+                 glib:type-name="AtspiTextBoundaryType"
+                 glib:get-type="atspi_text_boundary_type_get_type"
+                 c:type="AtspiTextBoundaryType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="305">Specifies the boundary conditions determining a run of text as returned from
+#atspi_text_get_text_at_offset, #atspi_text_get_text_after_offset, and
+#atspi_text_get_text_before_offset.
+
+This enumerationis deprecated since 2.9.90 and should not be used. Use
+AtspiTextGranularity with #atspi_text_get_string_at_offset instead.</doc>
+      <member name="char"
+              value="0"
+              c:identifier="ATSPI_TEXT_BOUNDARY_CHAR"
+              glib:nick="char">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="307">An #AtspiText instance is bounded by this
+character only. Start and end offsets differ by one, by definition,
+for this value.</doc>
+      </member>
+      <member name="word_start"
+              value="1"
+              c:identifier="ATSPI_TEXT_BOUNDARY_WORD_START"
+              glib:nick="word-start">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="310">Boundary condition is start of a word; i.e.
+range is from start of one word to the start of another word.</doc>
+      </member>
+      <member name="word_end"
+              value="2"
+              c:identifier="ATSPI_TEXT_BOUNDARY_WORD_END"
+              glib:nick="word-end">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="312">Boundary condition is the end of a word; i.e.
+range is from the end of one word to the end of another. Some locales
+may not distinguish between words and characters or glyphs. In particular,
+those locales which use wholly or partially ideographic character sets.
+In these cases, characters may be returned in lieu of multi-character
+substrings.</doc>
+      </member>
+      <member name="sentence_start"
+              value="3"
+              c:identifier="ATSPI_TEXT_BOUNDARY_SENTENCE_START"
+              glib:nick="sentence-start">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="318">Boundary condition is start of a
+sentence, as determined by the application. Some locales or
+character sets may not include explicit sentence delimiters, so this
+boundary type can not always be honored. Some locales will return lines
+of text instead of grammatical sentences.</doc>
+      </member>
+      <member name="sentence_end"
+              value="4"
+              c:identifier="ATSPI_TEXT_BOUNDARY_SENTENCE_END"
+              glib:nick="sentence-end">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="323">Boundary condition is end of a sentence,
+as determined by the application, including the sentence-delimiting
+character, for instance '.' Some locales or character sets may not
+include explicit sentence delimiters, so this boundary type can not
+always be honored. Some locales will return lines of text instead of
+grammatical sentences.</doc>
+      </member>
+      <member name="line_start"
+              value="5"
+              c:identifier="ATSPI_TEXT_BOUNDARY_LINE_START"
+              glib:nick="line-start">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="329">Boundary condition is the start of a line;
+i.e. range is from start of one line to the start of another.  This
+generally means that an end-of-line character will appear at the end of
+the range.</doc>
+      </member>
+      <member name="line_end"
+              value="6"
+              c:identifier="ATSPI_TEXT_BOUNDARY_LINE_END"
+              glib:nick="line-end">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="333">Boundary condition is the end of a line; i.e.
+range is from start of one line to the start of another.  This generally
+means that an end-of-line character will be the first character of the
+range.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="TextClipType"
+                 glib:type-name="AtspiTextClipType"
+                 glib:get-type="atspi_text_clip_type_get_type"
+                 c:type="AtspiTextClipType">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="390">Enumeration used by interface #AtspiText to indicate
+how to treat characters intersecting bounding boxes.</doc>
+      <member name="none"
+              value="0"
+              c:identifier="ATSPI_TEXT_CLIP_NONE"
+              glib:nick="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="392">No characters/glyphs are omitted.</doc>
+      </member>
+      <member name="min"
+              value="1"
+              c:identifier="ATSPI_TEXT_CLIP_MIN"
+              glib:nick="min">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="393">Characters/glyphs clipped by the minimum coordinate
+are omitted.</doc>
+      </member>
+      <member name="max"
+              value="2"
+              c:identifier="ATSPI_TEXT_CLIP_MAX"
+              glib:nick="max">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="395">Characters/glyphs which intersect the maximum
+coordinate are omitted.</doc>
+      </member>
+      <member name="both"
+              value="3"
+              c:identifier="ATSPI_TEXT_CLIP_BOTH"
+              glib:nick="both">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="397">Only glyphs falling entirely within the region
+bounded by min and max are retained.</doc>
+      </member>
+    </enumeration>
+    <enumeration name="TextGranularity"
+                 glib:type-name="AtspiTextGranularity"
+                 glib:get-type="atspi_text_granularity_get_type"
+                 c:type="AtspiTextGranularity">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-constants.h"
+           line="355">Text granularity types used for specifying the granularity of the region of
+text we are interested in.</doc>
+      <member name="char"
+              value="0"
+              c:identifier="ATSPI_TEXT_GRANULARITY_CHAR"
+              glib:nick="char">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="357">Granularity is defined by the boundaries between characters
+(including non-printing characters)</doc>
+      </member>
+      <member name="word"
+              value="1"
+              c:identifier="ATSPI_TEXT_GRANULARITY_WORD"
+              glib:nick="word">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="359">Granularity is defined by the boundaries of a word,
+starting at the beginning of the current word and finishing at the beginning of
+the following one, if present.</doc>
+      </member>
+      <member name="sentence"
+              value="2"
+              c:identifier="ATSPI_TEXT_GRANULARITY_SENTENCE"
+              glib:nick="sentence">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="362">Granularity is defined by the boundaries of a sentence,
+starting at the beginning of the current sentence and finishing at the beginning of
+the following one, if present.</doc>
+      </member>
+      <member name="line"
+              value="3"
+              c:identifier="ATSPI_TEXT_GRANULARITY_LINE"
+              glib:nick="line">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="365">Granularity is defined by the boundaries of a line,
+starting at the beginning of the current line and finishing at the beginning of
+the following one, if present.</doc>
+      </member>
+      <member name="paragraph"
+              value="4"
+              c:identifier="ATSPI_TEXT_GRANULARITY_PARAGRAPH"
+              glib:nick="paragraph">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-constants.h"
+             line="368">Granularity is defined by the boundaries of a paragraph,
+starting at the beginning of the current paragraph and finishing at the beginning of
+the following one, if present.</doc>
+      </member>
+    </enumeration>
+    <record name="TextRange"
+            c:type="AtspiTextRange"
+            glib:type-name="AtspiTextRange"
+            glib:get-type="atspi_text_range_get_type"
+            c:symbol-prefix="text_range">
+      <source-position filename="../atspi/atspi-text.h" line="62"/>
+      <field name="start_offset" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="end_offset" writable="1">
+        <type name="gint" c:type="gint"/>
+      </field>
+      <field name="content" writable="1">
+        <type name="utf8" c:type="gchar*"/>
+      </field>
+    </record>
+    <function-macro name="VALUE" c:identifier="ATSPI_VALUE" introspectable="0">
+      <source-position filename="../atspi/atspi-value.h" line="39"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <function-macro name="VALUE_GET_IFACE"
+                    c:identifier="ATSPI_VALUE_GET_IFACE"
+                    introspectable="0">
+      <source-position filename="../atspi/atspi-value.h" line="40"/>
+      <parameters>
+        <parameter name="obj">
+        </parameter>
+      </parameters>
+    </function-macro>
+    <interface name="Value"
+               c:symbol-prefix="value"
+               c:type="AtspiValue"
+               glib:type-name="AtspiValue"
+               glib:get-type="atspi_value_get_type">
+      <method name="get_current_value"
+              c:identifier="atspi_value_get_current_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-value.c"
+             line="47">Gets the current value for an #AtspiValue.</doc>
+        <source-position filename="../atspi/atspi-value.h" line="51"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-value.c"
+               line="53">the current value for this object.</doc>
+          <type name="gdouble" c:type="gdouble"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="49">a pointer to the #AtspiValue implementor on which to operate.</doc>
+            <type name="Value" c:type="AtspiValue*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_maximum_value"
+              c:identifier="atspi_value_get_maximum_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-value.c"
+             line="67">Gets the maximum allowed value for an #AtspiValue.</doc>
+        <source-position filename="../atspi/atspi-value.h" line="53"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-value.c"
+               line="73">the maximum allowed value for this object.</doc>
+          <type name="gdouble" c:type="gdouble"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="69">a pointer to the #AtspiValue implementor on which to operate.</doc>
+            <type name="Value" c:type="AtspiValue*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_minimum_increment"
+              c:identifier="atspi_value_get_minimum_increment"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-value.c"
+             line="133">Gets the minimum increment by which an #AtspiValue can be adjusted.</doc>
+        <source-position filename="../atspi/atspi-value.h" line="57"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-value.c"
+               line="139">the minimum increment by which the value may be changed, or
+zero if the minimum increment cannot be determined.</doc>
+          <type name="gdouble" c:type="gdouble"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="135">a pointer to the #AtspiValue implementor on which to operate.</doc>
+            <type name="Value" c:type="AtspiValue*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="get_minimum_value"
+              c:identifier="atspi_value_get_minimum_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-value.c"
+             line="27">Gets the minimum allowed value for an #AtspiValue.</doc>
+        <source-position filename="../atspi/atspi-value.h" line="49"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-value.c"
+               line="33">the minimum allowed value for this object.</doc>
+          <type name="gdouble" c:type="gdouble"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="29">a pointer to the #AtspiValue implementor on which to operate.</doc>
+            <type name="Value" c:type="AtspiValue*"/>
+          </instance-parameter>
+        </parameters>
+      </method>
+      <method name="set_current_value"
+              c:identifier="atspi_value_set_current_value"
+              throws="1">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-value.c"
+             line="87">Sets the current value of an #AtspiValue.</doc>
+        <source-position filename="../atspi/atspi-value.h" line="55"/>
+        <return-value transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-value.c"
+               line="94">#TRUE if the value could be assigned the specified value,
+         #FALSE otherwise.</doc>
+          <type name="gboolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <instance-parameter name="obj" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="89">a pointer to the #AtspiValue implementor on which to operate.</doc>
+            <type name="Value" c:type="AtspiValue*"/>
+          </instance-parameter>
+          <parameter name="new_value" transfer-ownership="none">
+            <doc xml:space="preserve"
+                 filename="../atspi/atspi-value.c"
+                 line="90">a #gdouble value which is the desired new value of the object.</doc>
+            <type name="gdouble" c:type="gdouble"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <function name="dbus_connection_setup_with_g_main"
+              c:identifier="atspi_dbus_connection_setup_with_g_main"
+              introspectable="0">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-gmain.c"
+           line="515">Sets the watch and timeout functions of a #DBusConnection
+to integrate the connection with the GLib main loop.
+Pass in #NULL for the #GMainContext unless you're
+doing something specialized.
+
+If called twice for the same context, does nothing the second
+time. If called once with context A and once with context B,
+context B replaces context A as the context monitoring the
+connection.</doc>
+      <source-position filename="../atspi/atspi-gmain.h" line="30"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="connection" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-gmain.c"
+               line="517">the connection</doc>
+          <type name="DBus.Connection" c:type="DBusConnection*"/>
+        </parameter>
+        <parameter name="context" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-gmain.c"
+               line="518">the #GMainContext or #NULL for default context</doc>
+          <type name="GLib.MainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dbus_server_setup_with_g_main"
+              c:identifier="atspi_dbus_server_setup_with_g_main"
+              introspectable="0">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-gmain.c"
+           line="593">Sets the watch and timeout functions of a #DBusServer
+to integrate the server with the GLib main loop.
+In most cases the context argument should be #NULL.
+
+If called twice for the same context, does nothing the second
+time. If called once with context A and once with context B,
+context B replaces context A as the context monitoring the
+connection.</doc>
+      <source-position filename="../atspi/atspi-gmain.h" line="34"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="server" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-gmain.c"
+               line="595">the server</doc>
+          <type c:type="DBusServer*"/>
+        </parameter>
+        <parameter name="context" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-gmain.c"
+               line="596">the #GMainContext or #NULL for default</doc>
+          <type name="GLib.MainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="deregister_device_event_listener"
+              c:identifier="atspi_deregister_device_event_listener"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="386">Removes a device event listener from the registry's listener queue,
+           ceasing notification of events of the specified type.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="63"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="396">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="listener" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="388">a pointer to the #AtspiDeviceListener for which
+           device events are requested.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </parameter>
+        <parameter name="filter"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="390">Unused parameter.</doc>
+          <type name="gpointer" c:type="void*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="deregister_keystroke_listener"
+              c:identifier="atspi_deregister_keystroke_listener"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="245">Removes a keystroke event listener from the registry's listener queue,
+           ceasing notification of events with modifiers matching @modmask.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="51"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="263">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="listener" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="247">a pointer to the #AtspiDeviceListener for which
+           keystroke events are requested.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </parameter>
+        <parameter name="key_set"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="249">a pointer to the
+       #AtspiKeyDefinition array indicating which keystroke events are
+       requested, or %NULL
+       to indicate that all keycodes and keyvals for the specified
+       modifier set are to be included.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="KeyDefinition"/>
+          </array>
+        </parameter>
+        <parameter name="modmask" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="254">the key modifier mask for which this listener is to be
+           'deregistered' (of type #AtspiKeyMaskType).</doc>
+          <type name="KeyMaskType" c:type="AtspiKeyMaskType"/>
+        </parameter>
+        <parameter name="event_types" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="256">an #AtspiKeyMaskType mask indicating which
+            types of key events were requested (%ATSPI_KEY_PRESSED, etc.).</doc>
+          <type name="KeyEventMask" c:type="AtspiKeyEventMask"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="event_main"
+              c:identifier="atspi_event_main"
+              moved-to="Event.main">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="957">Starts/enters the main event loop for the AT-SPI services.
+
+NOTE: This method does not return control; it is exited via a call to
+#atspi_event_quit from within an event handler.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="34"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="event_quit"
+              c:identifier="atspi_event_quit"
+              moved-to="Event.quit">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="974">Quits the last main event loop for the AT-SPI services,
+See: #atspi_event_main</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="36"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="exit" c:identifier="atspi_exit">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="986">Disconnects from #AtspiRegistry instances and releases
+any floating resources. Call only once at exit.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="38"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="992">0 if there were no leaks, otherwise other integer values.</doc>
+        <type name="gint" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="generate_keyboard_event"
+              c:identifier="atspi_generate_keyboard_event"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="433">Synthesizes a keyboard event (as if a hardware keyboard event occurred in the
+current UI context).</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="67"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="454">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="keyval" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="435">a #gint indicating the keycode or keysym or modifier mask of the
+          key event being synthesized.</doc>
+          <type name="glong" c:type="glong"/>
+        </parameter>
+        <parameter name="keystring"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="437">an (optional) UTF-8 string which, if
+          @synth_type is %ATSPI_KEY_STRING, indicates a 'composed'
+          keyboard input string being synthesized; this type of
+          keyboard event synthesis does not emulate hardware
+          keypresses but injects the string as though a composing
+          input method (such as XIM) were used.</doc>
+          <type name="utf8" c:type="const gchar*"/>
+        </parameter>
+        <parameter name="synth_type" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="443">an #AtspiKeySynthType flag indicating whether @keyval
+          is to be interpreted as a keysym rather than a keycode
+          (%ATSPI_KEY_SYM) or a string (%ATSPI_KEY_STRING) or a modifier
+          mask (%ATSPI_KEY_LOCKMODIFIERS and %ATSPI_KEY_UNLOCKMODIFIERS), or
+          whether to synthesize %ATSPI_KEY_PRESS,
+          %ATSPI_KEY_RELEASE, or both (%ATSPI_KEY_PRESSRELEASE).</doc>
+          <type name="KeySynthType" c:type="AtspiKeySynthType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="generate_mouse_event"
+              c:identifier="atspi_generate_mouse_event"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="484">Synthesizes a mouse event at a specific screen coordinate.
+Most AT clients should use the #AccessibleAction interface when
+tempted to generate mouse events, rather than this method.
+Event names: b1p = button 1 press; b2r = button 2 release;
+             b3c = button 3 click; b2d = button 2 double-click;
+             abs = absolute motion; rel = relative motion.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="72"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="499">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="x" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="486">a #glong indicating the screen x coordinate of the mouse event.</doc>
+          <type name="glong" c:type="glong"/>
+        </parameter>
+        <parameter name="y" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="487">a #glong indicating the screen y coordinate of the mouse event.</doc>
+          <type name="glong" c:type="glong"/>
+        </parameter>
+        <parameter name="name" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="488">a string indicating which mouse event to be synthesized
+       (e.g. "b1p", "b1c", "b2r", "rel", "abs").</doc>
+          <type name="utf8" c:type="const gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_a11y_bus"
+              c:identifier="atspi_get_a11y_bus"
+              introspectable="0">
+      <source-position filename="../atspi/atspi-misc.h" line="41"/>
+      <return-value transfer-ownership="full">
+        <type name="DBus.Connection" c:type="DBusConnection*"/>
+      </return-value>
+    </function>
+    <function name="get_desktop" c:identifier="atspi_get_desktop">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="55">Gets the virtual desktop indicated by index @i.
+NOTE: currently multiple virtual desktops are not implemented;
+as a consequence, any @i value different from 0 will not return a
+virtual desktop - instead it will return NULL.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="38"/>
+      <return-value transfer-ownership="full">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="64">a pointer to the @i-th virtual desktop's
+#AtspiAccessible representation.</doc>
+        <type name="Accessible" c:type="AtspiAccessible*"/>
+      </return-value>
+      <parameters>
+        <parameter name="i" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="57">a #gint indicating which of the accessible desktops is to be returned.</doc>
+          <type name="gint" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_desktop_count" c:identifier="atspi_get_desktop_count">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="40">Gets the number of virtual desktops.
+NOTE: multiple virtual desktops are not implemented yet; as a
+consequence, this function always returns 1.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="36"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="47">a #gint indicating the number of active virtual desktops.</doc>
+        <type name="gint" c:type="gint"/>
+      </return-value>
+    </function>
+    <function name="get_desktop_list" c:identifier="atspi_get_desktop_list">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="74">Gets the list of virtual desktops.  On return, @list will point
+    to a newly-created, NULL terminated array of virtual desktop
+    pointers.
+    It is the responsibility of the caller to free this array when
+    it is no longer needed.
+NOTE: currently multiple virtual desktops are not implemented;
+this implementation always returns a #Garray with a single
+#AtspiAccessible desktop.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="40"/>
+      <return-value transfer-ownership="full">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="86">a #GArray of
+desktops.</doc>
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="Accessible"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="init" c:identifier="atspi_init">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="887">Connects to the accessibility registry and initializes the SPI.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="31"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="892">0 on success, 1 if already initialized, or an integer error code.</doc>
+        <type name="gint" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="is_initialized" c:identifier="atspi_is_initialized">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="944">Indicates whether AT-SPI has been initialized.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="32"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="949">%True if initialized; %False otherwise.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="register_device_event_listener"
+              c:identifier="atspi_register_device_event_listener"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="346">Registers a listener for device events, for instance button events.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="58"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="357">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="listener" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="348">a pointer to the #AtspiDeviceListener which requests
+            the events.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </parameter>
+        <parameter name="event_types" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="350">an #AtspiDeviceEventMask mask indicating which
+            types of key events are requested (%ATSPI_KEY_PRESSED, etc.).</doc>
+          <type name="DeviceEventMask" c:type="AtspiDeviceEventMask"/>
+        </parameter>
+        <parameter name="filter"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="352">Unused parameter.</doc>
+          <type name="gpointer" c:type="void*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="register_keystroke_listener"
+              c:identifier="atspi_register_keystroke_listener"
+              throws="1">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="164">Registers a listener for keystroke events, either pre-emptively for
+            all windows (%ATSPI_KEYLISTENER_ALL_WINDOWS),
+            non-preemptively (%ATSPI_KEYLISTENER_NOSYNC), or
+            pre-emptively at the toolkit level (%ATSPI_KEYLISTENER_CANCONSUME).
+            If ALL_WINDOWS or CANCONSUME are used, the event is consumed
+            upon receipt if one of @listener's callbacks returns %TRUE
+            (other sync_type values may be available in the future).</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="43"/>
+      <return-value transfer-ownership="none">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-registry.c"
+             line="194">%TRUE if successful, otherwise %FALSE.</doc>
+        <type name="gboolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="listener" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="166">a pointer to the #AtspiDeviceListener for which
+            keystroke events are requested.</doc>
+          <type name="DeviceListener" c:type="AtspiDeviceListener*"/>
+        </parameter>
+        <parameter name="key_set"
+                   transfer-ownership="none"
+                   nullable="1"
+                   allow-none="1">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="168">a pointer to the
+       #AtspiKeyDefinition array indicating which keystroke events are
+       requested, or NULL
+       to indicate that all keycodes and keyvals for the specified
+       modifier set are to be included.</doc>
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="KeyDefinition"/>
+          </array>
+        </parameter>
+        <parameter name="modmask" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="173">an #AtspiKeyMaskType mask indicating which
+            key event modifiers must be set in combination with @keys,
+            events will only be reported for key events for which all
+            modifiers in @modmask are set.  If you wish to listen for
+            events with multiple modifier combinations, you must call
+            #atspi_register_keystroke_listener once for each
+            combination.</doc>
+          <type name="KeyMaskType" c:type="AtspiKeyMaskType"/>
+        </parameter>
+        <parameter name="event_types" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="180">an #AtspiKeyMaskType mask indicating which
+            types of key events are requested (%ATSPI_KEY_PRESSED etc.).</doc>
+          <type name="KeyEventMask" c:type="AtspiKeyEventMask"/>
+        </parameter>
+        <parameter name="sync_type" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="182">an #AtspiKeyListenerSyncType parameter indicating
+            the behavior of the notification/listener transaction.</doc>
+          <type name="KeyListenerSyncType" c:type="AtspiKeyListenerSyncType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="role_get_name"
+              c:identifier="atspi_role_get_name"
+              moved-to="Role.get_name">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="1733">Gets a localizable string that indicates the name of an #AtspiRole.
+&lt;em&gt;DEPRECATED.&lt;/em&gt;</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="49"/>
+      <return-value transfer-ownership="full">
+        <doc xml:space="preserve"
+             filename="../atspi/atspi-misc.c"
+             line="1740">a localizable string name for an #AtspiRole enumerated type.</doc>
+        <type name="utf8" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="role" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-misc.c"
+               line="1735">an #AtspiRole object to query.</doc>
+          <type name="Role" c:type="AtspiRole"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_main_context" c:identifier="atspi_set_main_context">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="1664">Sets the main loop context that AT-SPI should assume is in use when
+setting an idle callback.
+This function should be called by application-side implementors (ie,
+at-spi2-atk) when it is desirable to re-enter the main loop.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="47"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cnx" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-misc.c"
+               line="1666">The #GMainContext to use.</doc>
+          <type name="GLib.MainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_reference_window"
+              c:identifier="atspi_set_reference_window">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-registry.c"
+           line="529">Sets the reference window that will be used when atspi_generate_mouse_event
+is called. Coordinates will be assumed to be relative to this window. This
+is needed because, due to Wayland's security model, it is not currently
+possible to retrieve global coordinates.
+If NULL is passed, then AT-SPI will use the window that has focus at the
+time that atspi_generate_mouse_event is called.</doc>
+      <source-position filename="../atspi/atspi-registry.h" line="75"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="accessible" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-registry.c"
+               line="531">the #AtspiAccessible corresponding to the window to select.
+             should be a top-level window with a role of
+             ATSPI_ROLE_APPLICATION.</doc>
+          <type name="Accessible" c:type="AtspiAccessible*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_timeout" c:identifier="atspi_set_timeout">
+      <doc xml:space="preserve"
+           filename="../atspi/atspi-misc.c"
+           line="1634">Set the timeout used for method calls. If this is not set explicitly,
+a default of 0.8 ms is used.
+Note that at-spi2-registryd currently uses a timeout of 3 seconds when
+sending a keyboard event notification. This means that, if an AT makes
+a call in response to the keyboard notification and the application
+being called does not respond before the timeout is reached,
+at-spi2-registryd will time out on the keyboard event notification and
+pass the key onto the application (ie, reply to indicate that the key
+was not consumed), so this may make it undesirable to set a timeout
+larger than 3 seconds.
+
+By default, the normal timeout is set to 800 ms, and the application startup
+timeout is set to 15 seconds.</doc>
+      <source-position filename="../atspi/atspi-misc.h" line="44"/>
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="val" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-misc.c"
+               line="1636">The timeout value, in milliseconds, or -1 to disable the timeout.</doc>
+          <type name="gint" c:type="gint"/>
+        </parameter>
+        <parameter name="startup_time" transfer-ownership="none">
+          <doc xml:space="preserve"
+               filename="../atspi/atspi-misc.c"
+               line="1637">The amount of time, in milliseconds, to allow to pass
+before enforcing timeouts on an application. Can be used to prevent
+timeout exceptions if an application is likely to block for an extended
+period of time on initialization. -1 can be passed to disable this
+behavior.</doc>
+          <type name="gint" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+  </namespace>
+</repository>
diff --git a/atk/atspi2/atspi2.toml.in b/atk/atspi2/atspi2.toml.in
new file mode 100644
index 0000000000..e8163692b4
--- /dev/null
+++ b/atk/atspi2/atspi2.toml.in
@@ -0,0 +1,31 @@
+[library]
+version = "2.40"
+browse_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/";
+repository_url = "https://gitlab.gnome.org/GNOME/at-spi2-core.git";
+website_url = "https://www.gtk.org";
+authors = "The AT-SPI2 maintainers"
+license = "LGPL-2.1-or-later"
+description = "The Assistive Technology Service Provider Interface, version 2"
+dependencies = [ "GObject-2.0", ]
+devhelp = true
+search_index = true
+
+  [dependencies."GObject-2.0"]
+  name = "GObject"
+  description = "The base type system library"
+  docs_url = "https://docs.gtk.org/gobject/";
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/HEAD/";
+
+[extra]
+content_files = [
+]
+content_images = [
+]
+urlmap_file = "urlmap.js"
diff --git a/atk/atspi2/meson.build b/atk/atspi2/meson.build
new file mode 100644
index 0000000000..d4893db568
--- /dev/null
+++ b/atk/atspi2/meson.build
@@ -0,0 +1,22 @@
+expand_content_files = [
+]
+
+atspi_gir = meson.current_source_dir() / 'Atspi-2.0.gir'
+atspi_toml = configure_file(input: 'atspi2.toml.in', output: 'atspi2.toml', configuration: toml_conf)
+
+custom_target('atspi2-doc',
+  input: [ atspi_toml, atspi_gir ],
+  output: 'atspi2',
+  command: [
+    gidocgen,
+    'generate',
+    '--quiet',
+    '--config=@INPUT0@',
+    '--output-dir=@OUTPUT@',
+    '--no-namespace-dir',
+    '--content-dir=@0@'.format(meson.current_source_dir()),
+    '@INPUT1@',
+  ],
+  build_by_default: true,
+  depend_files: expand_content_files,
+)
diff --git a/atk/atspi2/urlmap.js b/atk/atspi2/urlmap.js
new file mode 100644
index 0000000000..4efba9b23e
--- /dev/null
+++ b/atk/atspi2/urlmap.js
@@ -0,0 +1,16 @@
+// SPDX-FileCopyrightText: 2021 GNOME Foundation
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+// A map between namespaces and base URLs for their online documentation
+baseURLs = [
+    [ 'GLib', 'https://docs.gtk.org/glib/' ],
+    [ 'GObject', 'https://docs.gtk.org/gobject/' ],
+    [ 'Gio', 'https://docs.gtk.org/gio/' ],
+    [ 'Gdk', 'https://docs.gtk.org/gdk3/' ],
+    [ 'GdkX11', 'https://docs.gtk.org/gdk3-x11/' ],
+    [ 'Gtk', 'https://docs.gtk.org/gtk3/' ],
+    [ 'Pango', 'https://docs.gtk.org/Pango/' ],
+    [ 'PangoCairo', 'https://docs.gtk.org/PangoCairo/' ],
+    [ 'GdkPixbuf', 'https://docs.gtk.org/gdk-pixbuf/' ],
+    [ 'Atk', 'https://docs.gtk.org/atk/' ],
+]
diff --git a/meson.build b/meson.build
index be3a9c9f78..8b2580c930 100644
--- a/meson.build
+++ b/meson.build
@@ -21,6 +21,7 @@ subdir('glib/gobject')
 subdir('glib/gio')
 
 subdir('atk/atk')
+subdir('atk/atspi2')
 
 subdir('gtk3/gdk')
 subdir('gtk3/gtk')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]