Automatically generate introspection files
authorMike Gorse <mgorse@boston.site>
Thu, 15 May 2008 17:55:02 +0000 (13:55 -0400)
committerMike Gorse <mgorse@boston.site>
Thu, 15 May 2008 17:55:02 +0000 (13:55 -0400)
22 files changed:
xml/Accessibility.xml
xml/Accessibility_Event.xml [deleted file]
xml/Accessibility_Registry.xml [deleted file]
xml/Accessibility_Registry_Common.xml [new file with mode: 0644]
xml/Makefile.am
xml/org.freedesktop.atspi.Accessible.xml [moved from xml/Accessibility_Accessible.xml with 100% similarity]
xml/org.freedesktop.atspi.Action.xml [moved from xml/Accessibility_Action.xml with 100% similarity]
xml/org.freedesktop.atspi.Application.xml [moved from xml/Accessibility_Application.xml with 100% similarity]
xml/org.freedesktop.atspi.Component.xml [moved from xml/Accessibility_Component.xml with 100% similarity]
xml/org.freedesktop.atspi.Document.xml [moved from xml/Accessibility_Document.xml with 100% similarity]
xml/org.freedesktop.atspi.EditableText.xml [moved from xml/Accessibility_EditableText.xml with 100% similarity]
xml/org.freedesktop.atspi.Hyperlink.xml [moved from xml/Accessibility_Hyperlink.xml with 100% similarity]
xml/org.freedesktop.atspi.Hypertext.xml [moved from xml/Accessibility_Hypertext.xml with 100% similarity]
xml/org.freedesktop.atspi.Image.xml [moved from xml/Accessibility_Image.xml with 100% similarity]
xml/org.freedesktop.atspi.LoginHelper.xml [moved from xml/Accessibility_LoginHelper.xml with 100% similarity]
xml/org.freedesktop.atspi.Selection.xml [moved from xml/Accessibility_Selection.xml with 100% similarity]
xml/org.freedesktop.atspi.Selector.xml [moved from xml/Accessibility_Selector.xml with 100% similarity]
xml/org.freedesktop.atspi.StreamableContent.xml [moved from xml/Accessibility_StreamableContent.xml with 100% similarity]
xml/org.freedesktop.atspi.Table.xml [moved from xml/Accessibility_Table.xml with 100% similarity]
xml/org.freedesktop.atspi.Text.xml [moved from xml/Accessibility_Text.xml with 100% similarity]
xml/org.freedesktop.atspi.Tree.xml [moved from xml/Accessibility_Tree.xml with 100% similarity]
xml/org.freedesktop.atspi.Value.xml [moved from xml/Accessibility_Value.xml with 100% similarity]

index 99bd824..d38f059 100644 (file)
@@ -83,29 +83,31 @@ Boston, MA 02111-1307, USA.</p>
 
 <!-- Accessibility interfaces and subinterfaces -->
 
-<xi:include href="Accessibility_Accessible.xml"/>
-<xi:include href="Accessibility_Action.xml"/>
-<xi:include href="Accessibility_Component.xml"/>
-<xi:include href="Accessibility_Document.xml"/>
-<xi:include href="Accessibility_Hyperlink.xml"/>
-<xi:include href="Accessibility_Image.xml"/>
-<xi:include href="Accessibility_Selection.xml"/>
-<xi:include href="Accessibility_StreamableContent.xml"/>
-<xi:include href="Accessibility_Table.xml"/>
-<xi:include href="Accessibility_Text.xml"/>
-<xi:include href="Accessibility_Value.xml"/>
+<xi:include href="org.freedesktop.atspi.Accessible.xml"/>
+<xi:include href="org.freedesktop.atspi.Action.xml"/>
+<xi:include href="org.freedesktop.atspi.Component.xml"/>
+<xi:include href="org.freedesktop.atspi.Document.xml"/>
+<xi:include href="org.freedesktop.atspi.Hyperlink.xml"/>
+<xi:include href="org.freedesktop.atspi.Image.xml"/>
+<xi:include href="org.freedesktop.atspi.Selection.xml"/>
+<xi:include href="org.freedesktop.atspi.StreamableContent.xml"/>
+<xi:include href="org.freedesktop.atspi.Table.xml"/>
+<xi:include href="org.freedesktop.atspi.Text.xml"/>
+<xi:include href="org.freedesktop.atspi.Value.xml"/>
 
 <!-- Interfaces derived from Accessibility::Text -->
-<xi:include href="Accessibility_EditableText.xml"/>
-<xi:include href="Accessibility_Hypertext.xml"/>
+<xi:include href="org.freedesktop.atspi.EditableText.xml"/>
+<xi:include href="org.freedesktop.atspi.Hypertext.xml"/>
 <xi:include href="Accessibility_State.xml"/>
 
 <!-- Utility interfaces and interfaces derived from Accessibility::Accessible -->
 
-<xi:include href="Accessibility_Application.xml"/>
-<xi:include href="Accessibility_Event.xml"/>
-<xi:include href="Accessibility_Registry.xml"/>
+<xi:include href="org.freedesktop.atspi.Application.xml"/>
+<xi:include href="Accessibility_Registry_Common.xml"/>
+<xi:include href="org.freedesktop.atspi.Registry.xml"/>
+<xi:include href="org.freedesktop.atspi.DeviceEventController.xml"/>
+<xi:include href="org.freedesktop.atspi.DeviceEventListener.xml"/>
 <xi:include href="Accessibility_Role.xml"/>
-<xi:include href="Accessibility_LoginHelper.xml"/>
-<xi:include href="Accessibility_Selector.xml"/>
+<xi:include href="org.freedesktop.atspi.LoginHelper.xml"/>
+<xi:include href="org.freedesktop.atspi.Selector.xml"/>
 </tp:spec>
diff --git a/xml/Accessibility_Event.xml b/xml/Accessibility_Event.xml
deleted file mode 100644 (file)
index 833e427..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-<node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
-<tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
-<tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
-<tp:copyright>Copyright 2001, 2002 Sun Microsystems Inc.</tp:copyright>
-<tp:license xmlns="http://www.w3.org/1999/xhtml">
-  <p>This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.</p>
-
-  <p>This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.</p>
-
-  <p>You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the
-    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-    Boston, MA 02111-1307, USA.</p>
-</tp:license>
-<tp:struct name="EventDetails">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A struct encapsulating detailed information about an Event.
-      This struct supercedes the previous use of the 'any' field 
-      in EventDetails; the content previously stored in Event::any_data
-      is now stored in EventDetails::any_data, and Event::any_data
-      points to an instance of the EventDetails structure, if
-      the object's implementation supports event detail reporting,
-      otherwise Event::any_data contains CORBA_OBJECT_NIL.  </p>
-
-    <p>@since AT-SPI 1.7.0</p>
-  </tp:docstring>
-  <tp:member type="o" tp:name="host_application"/>
-  <tp:member type="u" tp:name="source_role"/>
-  <tp:member type="s" tp:name="source_name"/>
-  <tp:member type="v" tp:name="any_data"/>
-</tp:struct>
-<tp:struct name="Event">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A structure encapsulating information about an event
-      for which notification was requested.  Usually such notification
-      is requested via a call to Registry::registerGlobalEventListener.
-      The structure contains a colon-delimited string indicating the event
-      type, a reference to the generating Accessible, two detail fields whose
-      interpretation is event-type-specific, and a final field containing 
-      event-type-specific data.  </p>
-
-    <p>@note Since AT-SPI 1.7.0 the 'any' field contains an EventDetails
-      struct, which encapsulates additional information about the event
-      and its generating object.</p>
-  </tp:docstring>
-  <tp:member type="s" tp:name="type">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A colon-delimited string indicating the type of the event.
-      The string can be interpreted as 
-      \c class:type:subtype
-      For instance ¨object:text-changed:insert¨ is an event 
-      from the 'Object' class, which corresponds to Accessible objects
-      general, the type of the event is a ¨text-changed¨ event (i.e. a change in the
-      content of an implementor of the Text interface), and the
-      specific subtype of the change is an insertion event.  </p>
-
-    <p>Event classes include the following:
-      \li focus:   an object has received keyboard focus.  This event has no type or subtype.
-      \li window:  a toplevel window has changed state.
-      \li object:  an object (i.e. Accessible) has undergone some change in state, content, 
-      or hierarchy
-      \li document:a change to a document's content has occurred, or its
-      content loading status has changed.
-      \li mouse:   an event originating from the pointing device.  Rarely used;
-      in most cases clients will wish to register for pointer events via
-      the DeviceEventController::registerDeviceEvent method instead.
-      \li keyboard: an event indicating that the keyboard state (for example, the
-      modifier state) has changed significantly.
-      &quot;keyboard:&quot; events are not sent for individual keystrokes except as
-      a side-effect of certain keys, for instance modifier keys.
-      Clients interested in key events should listen for DeviceEvents
-      via DeviceEventController::registerKeystrokeListener instead.  </p>
-
-    <p>@note For more information on specific event types, see the documentation for
-      each of the individual interfaces supported by some Accessible objects.  </p>
-
-    <p>@see Accessible, Component, Image, Selection, Table, Text, Value.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="o" tp:name="source">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>The Accessible object which is the source of the event.  The source object is the object
-      to which the change inferred by the event emission occurs; for instance,
-      the object emitting a ¨object:parent-changed¨ event is the child, not the parent.
-      Likewise, the event source of an ¨object:children-changed:insert¨ event is the parent,
-      not the inserted child.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="i" tp:name="detail1">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>An integer whose meaning is event type dependent.  It may indicate the offset of
-      text being inserted, in the case of ¨object:text-changed:insert¨, or the index of a
-      newly added child in the case of ¨object:children-changed:add¨.  
-      @note since most AT-SPI clients react to events via an asynchronous queue, for 
-      performance reasons, this field may be of limited utility unless the client maintains
-      a large client-side cache of the hierarchy and contained data.  This is because by the time
-      such an event is asynchronously processed, the state of the originating object may have 
-      changed.  In other words, the data in the detail1 member is not state-coherent outside
-      of the event handler.  More useful results are gotten by examination of the 'any_data' field.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="i" tp:name="detail2">
-  <tp:docstring>
-    see description of detail2 
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="v" tp:name="any_data">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A generic storage location for event-type-specific data which provides more specific
-      information about the event; for instance, in AT-SPI versions prior to 1.7.0,
-      in the case of ¨object:text-changed:insert¨ events, this field contains a string 
-      indicating the inserted text.  </p>
-
-    <p>@note Since AT-SPI 1.7.0, the data contained in this field is an EventDetails struct.</p>
-  </tp:docstring>
-  </tp:member>
-</tp:struct>
-<interface name="org.freedesktop.atspi.EventListener">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A generic interface implemented by objects for the 
-      receipt of event notifications.  EventListener is the interface from which 
-      Accessibility::Registry is derived, and via which clients of the Registry
-      receive notification of changes to an application's user interface and content.</p>
-  </tp:docstring>
-  <method name="notifyEvent">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Synchronously notify an EventListener that an event has occurred, by passing it an 
-        Event struct. 
-        @param e The Event about which the listener is being notified.</p>
-    </tp:docstring>
-    <arg direction="in" name="e" type="(soiiv)" tp:type="Event"/>
-  </method>
-  <method name="unImplemented_">
-    <tp:docstring>
-      \cond 
-    </tp:docstring>
-  </method>
-  <method name="unImplemented2_">
-  </method>
-  <method name="unImplemented3_">
-  </method>
-  <method name="unImplemented4_">
-  </method>
-</interface>
-</node>
diff --git a/xml/Accessibility_Registry.xml b/xml/Accessibility_Registry.xml
deleted file mode 100644 (file)
index 5377ffe..0000000
+++ /dev/null
@@ -1,645 +0,0 @@
-<node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-
-<tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
-<tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
-<tp:copyright>Copyright 2001 Sun Microsystems Inc.</tp:copyright>
-<tp:license xmlns="http://www.w3.org/1999/xhtml">
-  <p>This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.</p>
-
-  <p>This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.</p>
-
-  <p>You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the
-    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-    Boston, MA 02111-1307, USA.</p>
-</tp:license>
-<interface name="org.freedesktop.atspi.Registry">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>The Registry is a service through which applications providing 
-      accessibility services (servers) can rendezvous with consumers of those
-      services (Assistive Technologies).  The Registry is the first &quot;port of call&quot; for 
-      accessible applications and for assistive technologies wishing to query and
-      interact with those applications.  </p>
-
-    <p>The Registry service provides four basic functions to Assistive Technology (AT) clients:
-      \li it provides a list of the applications who have registered with the AT-SPI
-      framework, thereby announcing their participation in the AT-SPI framework;
-      \li it allows AT clients to register for notification of changes in application
-      state (at-spi Events);
-      \li it dispatches/relays said events from participating applications to
-      the registered listeners;
-      \li it gives access to system device events via the associated DeviceEventController
-      interface.  </p>
-
-    <p>From the point of view of accessible applications (i.e. AT-SPI service producers), 
-      the Registry is primarily a registration and event delivery service.  Applications 
-      normally only call the registerApplication and deregisterApplication Registry methods,
-      and its inherited EventListener::notifyEvent method.  </p>
-
-    <p>@note Although all application events are dispatched via the Registry, other AT client 
-      calls are serviced directly by the applications, rather than being relayed via the
-      Registry.  The AT client obtains references to these application objects
-      via the enumeration of Desktop instances whose children are Application instances
-      (Registry::getDesktopList) and via examination of the 'source' member of the Event 
-      structure.   </p>
-
-    <p>The Registry normally lives in its own process space; communication via Registry and
-      both application services and AT clients takes place via IPC.  A process space diagram
-      illustrating the relationship between applications, Registry, and AT is shown below.
-      @image html &quot;http://developer.gnome.org/projects/gap/tech-docs/SPIBlockDiagram.png&quot;  </p>
-
-    <p>@see Desktop, Application, Event, EventListener</p>
-  </tp:docstring>
-  <method name="registerApplication">
-    <tp:docstring>
-      Register a new application with the accessibility broker.
-    </tp:docstring>
-    <arg direction="in" name="app" type="o" tp:type="Application">
-    <tp:docstring>
-      a reference to the requesting Application
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="deregisterApplication">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>De-register an application previously registered with the broker.
-        deregisterApplication:</p>
-    </tp:docstring>
-    <arg direction="in" name="app" type="o" tp:type="Application">
-    <tp:docstring>
-      a reference to the Application to be deregistered.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="registerGlobalEventListener">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Register a client's interest in (all) application events of 
-        a certain type.</p>
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="EventListener">
-    <tp:docstring>
-      a reference to the requesting ::EventListener.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="eventName" type="s">
-    <tp:docstring>
-      a string which indicates the type of events about which the client desires notification.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="deregisterGlobalEventListenerAll">
-    <tp:docstring>
-      deregisterGlobalEventListenerAll:
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="EventListener">
-    <tp:docstring>
-      the requesting EventListenerRequest that a previously registered client stop receivingglobal notifications for all events for which it was registered.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="deregisterGlobalEventListener">
-    <tp:docstring>
-      deregisterGlobalEventListener:
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="EventListener">
-    <tp:docstring>
-      the requesting EventListener
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="eventName" type="s">
-    <tp:docstring>
-      a string indicating the type of eventsRequest that a previously registered client stop receivingglobal notifications for events of a certain type.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="getDesktopCount">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>event types: &quot;Window&quot; &quot;Desktop&quot;
-        &quot;Window:Create&quot; &quot;Window:Destroy&quot;
-        &quot;Window:Iconify&quot; &quot;Window:Restore&quot;
-        &quot;Window:Fullscreen&quot; &quot;Window:Resize&quot;
-        &quot;Desktop:Create&quot; &quot;Desktop:Destroy&quot;  
-        &quot;Desktop:Focus&quot; &quot;Desktop:Defocus&quot;
-        &quot;Desktop:Reorder&quot; 
-        &quot;Focus&quot;
-        &quot;GtkWidget:show&quot;
-        &quot;GObject:notify:&lt;propertyname&gt;&quot;     </p>
-
-      <p>( not sure we should allow these last 2 forms, 
-        since they are toolkit-specific, but they're powerful )    </p>
-
-      <p>getDesktopCount:    </p>
-
-      <p>Get the current number of desktops.</p>
-    </tp:docstring>
-    <arg direction="out" type="n" tp:type="short">
-    <tp:docstring>
-      a short integer indicating the current number of Desktops.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="getDesktop">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>getDesktop:
-        @n: the index of the requested Desktop.    </p>
-
-      <p>Get the nth accessible desktop.     </p>
-    </tp:docstring>
-    <arg direction="in" name="n" type="n" tp:type="short"/>
-    <arg direction="out" type="o" tp:type="Desktop">
-    <tp:docstring>
-      a reference to the requested Desktop.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="getDesktopList">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Get a list of accessible desktops.     </p>
-    </tp:docstring>
-    <arg direction="out" type="as" tp:type="DesktopSeq">
-    <tp:docstring>
-      a sequence containing references tothe Desktops.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="getDeviceEventController">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Obtain an object which can be used to request device event notifications.    </p>
-    </tp:docstring>
-    <arg direction="out" type="o" tp:type="DeviceEventController">
-    <tp:docstring>
-      an object implementing DeviceEventController
-    </tp:docstring>
-    </arg>
-  </method>
-</interface>
-<tp:enum name="KeyEventType" type="u">
-  <tp:docstring>
-    Deprecated, DO NOT USE! 
-  </tp:docstring>
-  <tp:enumvalue suffix="KEY_PRESSED"/>
-  <tp:enumvalue suffix="KEY_RELEASED" value="1"/>
-</tp:enum>
-<tp:enum name="EventType" type="u">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>Used to specify the event types of interest to an EventListener, or
-      to identify the type of an event for which notification has been sent. 
-      @see EventTypeSeq, DeviceEvent::type</p>
-  </tp:docstring>
-  <tp:enumvalue suffix="KEY_PRESSED_EVENT">
-  <tp:docstring>
-    &lt; key on a keyboard device was pressed. 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="KEY_RELEASED_EVENT" value="1">
-  <tp:docstring>
-    &lt; key on a keyboard device was released. 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="BUTTON_PRESSED_EVENT" value="2">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; button on a non-keyboard human interface device 
-      (HID) was pressed </p>
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="BUTTON_RELEASED_EVENT" value="3">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; button on a non-keyboard human interface device 
-      (HID) was pressed </p>
-  </tp:docstring>
-  </tp:enumvalue>
-</tp:enum>
-<tp:enum name="KeySynthType" type="u">
-  <tp:docstring>
-    Used when synthesizing keyboard input via DeviceEventController:generateKeyboardEvent.
-  </tp:docstring>
-  <tp:enumvalue suffix="KEY_PRESS">
-  <tp:docstring>
-    emulate the pressing of a hardware keyboard key. 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="KEY_RELEASE" value="1">
-  <tp:docstring>
-    emulate the release of a hardware keyboard key. 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="KEY_PRESSRELEASE" value="2">
-  <tp:docstring>
-    a hardware keyboard key is pressed and immediately released. 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="KEY_SYM" value="3">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>a symbolic key event is generated, without specifying a hardware key. 
-      @note if the keysym is not present in the current keyboard map,
-      the DeviceEventController 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 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.</p>
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="KEY_STRING" value="4">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>a string is converted to its equivalent keyboard events and emitted. 
-      If the string consists of complex character or composed characters
-      which are not in the current keymap, string emission is subject to the
-      out-of-keymap limitations described for KeySynthType::KEY_SYM.
-      In practice this limitation primarily effects Chinese and Japanese locales.</p>
-  </tp:docstring>
-  </tp:enumvalue>
-</tp:enum>
-<tp:enum name="ModifierType" type="u">
-  <tp:enumvalue suffix="MODIFIER_SHIFT">
-  <tp:docstring>
-    The left or right 'Shift' key 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="MODIFIER_SHIFTLOCK" value="1">
-  <tp:docstring>
-    The ShiftLock or CapsLock key 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="MODIFIER_CONTROL" value="2">
-  <tp:docstring>
-    'Control'/'Ctrl' 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="MODIFIER_ALT" value="3">
-  <tp:docstring>
-    The Alt key (as opposed to AltGr) 
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="MODIFIER_META" value="4">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>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
-      ModifierType::MODIFIER_META2 means that the 'Mod2Mask' bit is
-      set in the corresponding XEvent.</p>
-  </tp:docstring>
-  </tp:enumvalue>
-  <tp:enumvalue suffix="MODIFIER_META2" value="5"/>
-  <tp:enumvalue suffix="MODIFIER_META3" value="6"/>
-  <tp:enumvalue suffix="MODIFIER_NUMLOCK" value="7">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A symbolic meta key name that is mapped by AT-SPI to the 
-      appropriate META value, for the convenience of the client.</p>
-  </tp:docstring>
-  </tp:enumvalue>
-</tp:enum>
-<tp:struct name="EventListenerMode">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A structure that encapsulates the characteristics of the event notifications
-      that should be sent to an EventListener in response to a call to
-      DeviceEventController::registerKeystrokeListener or 
-      DeviceEventController::registerDeviceEventListener. </p>
-  </tp:docstring>
-  <tp:member type="b" tp:name="synchronous">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; If \c True, specifies that
-      DeviceEventController should block while waiting 
-      for client to process the requested event notifications; 
-      ordinarily should be used only when client needs to perform
-      operations synchronously with event delivery. Note that because
-      of the architecture of device event systems in general,
-      use of this flag may not block delivery of the event to 
-      the currently focussed application unless it is used in 
-      conjunction with the preemptive flag. </p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="b" tp:name="preemptive">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; If \c True, specifies that 
-      Listener is allowed to pre-empt the delivery of the event,
-      effectively &quot;consuming&quot; it such that it is not delivered 
-      to the currently focussed desktop application. 
-      Key events consumed via this API will not be 
-      available for use by other applications or services, so this
-      option should be used sparingly. </p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="b" tp:name="global">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; If \c True, specifies that
-      Event notifications should be sent regardless of whether the
-      currently focussed application participates in the AT-SPI 
-      infrastructure.  On systems with the XEvIE X extension, this flag
-      also allows access to events which are already subject to 
-      interception via a &quot;system keygrab&quot; (as described in the X Window System
-      documentation for XGrabKey).  The 'global' and 'preemptive' flags
-      should only be used together for the purposes of registering
-      &quot;system global key shortcuts&quot; i.e. command keys for use by the
-      assistive technology. </p>
-  </tp:docstring>
-  </tp:member>
-</tp:struct>
-<tp:struct name="DeviceEvent">
-  <tp:docstring>
-    A structure which encapsulates information about a device event. 
-  </tp:docstring>
-  <tp:member type="u" tp:name="type">
-  <tp:docstring>
-    &lt; Identifies the type of the containing DeviceEvent. 
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="i" tp:name="id">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; an identifier which identifies this event in the event stream. 
-      On X Window systems this corresponds to the XEvent serial number.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="n" tp:name="hw_code">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; a numeric code which is hardware and system-dependent, identifying the
-      specific hardware button or key on the device for which the event has
-      occurred. On X Window systems, for global key notifications and for most
-      non-global key notifications as well, this code corresponds to the
-      XKeycode.  For switch and button events it indicates the switch
-      or button number.
-      @note
-      For technical reasons, this code may differ from the XKeycode
-      when generated by Java applications for consumption by non-global
-      key listeners.  This is subject to change in future versions of the
-      DeviceEventController implementation.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="n" tp:name="modifiers">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; an unsigned short int consisting of zero or more of the following
-      values OR'ed together:
-      \li \c 1&lt;&lt;::MODIFIER_SHIFT   (=1, corresponds to Xlib's ShiftMask)
-      \li \c 1&lt;&lt;::MODIFIER_SHIFTLOCK    (=2, corresponds to Xlib's LockMask)
-      \li \c 1&lt;&lt;::MODIFIER_CONTROL (=4, corresponds to Xlib's ControlMask)
-      \li \c 1&lt;&lt;::MODIFIER_ALT    (=8, corresponds to Xlib's Mod1Mask)
-      \li \c 1&lt;&lt;::MODIFIER_META    (=16, corresponds to Xlib's Mod2Mask)
-      \li \c 1&lt;&lt;::MODIFIER_META2    (=32, corresponds to Xlib's Mod3Mask)
-      \li \c 1&lt;&lt;::MODIFIER_META3    (=64, corresponds to Xlib's Mod4Mask)</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="i" tp:name="timestamp">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; an unsigned integer representing the time that the 
-      event occurred.  On X Window systems this event is 
-      a time in milliseconds from some arbitrary starting
-      point; it therefore has a cycle time of approximately
-      50 days.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="s" tp:name="event_string">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; A string representation of the event.  If is_text is
-      \c True, then this string represents the character or typographic
-      sequence that would be received by a focussed text input field.
-      event_string is in general suitable for exposure to the
-      end-user for purposes of keyboard echo.</p>
-  </tp:docstring>
-  </tp:member>
-  <tp:member type="b" tp:name="is_text">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>&lt; \c True if the event results in the insertion of characters 
-      into an input text buffer, or would do so if delivered to a focussed
-      text input field. ¨Typographical¨ key events have this field set to
-      \c True, whereas ¨control¨ key events generally do not.</p>
-  </tp:docstring>
-  </tp:member>
-</tp:struct>
-<tp:struct name="KeyDefinition">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>A structure which defines the identity of a key for which notifications
-      are to be requested.  The data in the members of a ::KeyDefinition are used to
-      determine which keyboard events 'match' the notification request filed by a client.  </p>
-
-    <p>@note Ordinarily a KeyDefinition specifies one and only one of the criteria below; 
-      the result of using a KeyDefinition with multiple members defined as nonzero is
-      undefined.  </p>
-
-    <p>@param keycode if nonzero, the numeric, system-dependent value corresponding to a 
-      physical key on the keyboard.  Keycode values have no semantic meaning to the end-user,
-      and may depend on the user's hardware and operating environment.  They therefore are
-      rarely useful &quot;as-is&quot; to AT clients, unless the client has used operating system
-      services to identify the hardward keycode associated with a particular key symbol.
-      Notifications for key events requested by keycode are less dependent on modifier state
-      than \c keysym based notifications, but some hardware (notably many laptops) may generate
-      more than one keycode for the same physical key, depending on the state of physical 
-      shift/modifier keys.
-      @param keysym if nonzero, the numeric value corresponding to the X Keysym of the key for which 
-      notification is requested.  Note that the presence of active modifiers will affect
-      whether notification for key events requested via &quot;keysym&quot; specification takes place, 
-      since the keysym depends on the modifier state for most keys.
-      @param keystring if non-NULL, the string value of the inserted characters if the corresponding
-      key event has ::KeyEvent:is_text set to \c True, or the string representing the
-      'name' of the key.  On X11 systems, the string 'name' of non-printing keysyms corresponds
-      to the values in &quot;keysymdef.h&quot; as provided by Xlib, with the leading &quot;XK_&quot; stripped off.</p>
-  </tp:docstring>
-  <tp:member type="i" tp:name="keycode"/>
-  <tp:member type="i" tp:name="keysym"/>
-  <tp:member type="s" tp:name="keystring"/>
-  <tp:member type="i" tp:name="unused"/>
-</tp:struct>
-<interface name="org.freedesktop.atspi.DeviceEventListener">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>This interface should be implemented by AT-SPI clients who wish to 
-      make use of the DeviceEventController to receive device event notifications.
-      DeviceEvents include keyboard events and mouse button/motion events.</p>
-  </tp:docstring>
-  <method name="notifyEvent">
-    <tp:docstring>
-      Notify an interested DeviceEventListener that a DeviceEvent has occurred.
-    </tp:docstring>
-    <arg direction="in" name="event" type="(uinnisb)" tp:type="DeviceEvent"/>
-    <arg direction="out" type="b" tp:type="boolean">
-    <tp:docstring>
-      \c True if the recipient/consumer wishes to consume the event, i.e.prevent it from being delivered to the desktop, \c False if the event should continue to be delivered as normal.
-    </tp:docstring>
-    </arg>
-  </method>
-</interface>
-<interface name="org.freedesktop.atspi.DeviceEventController">
-  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-    <p>The interface via which clients request notification of device events, and
-      through which device events may be simulated.</p>
-  </tp:docstring>
-  <method name="registerKeystrokeListener">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Register to intercept keyboard events, and either pass them on or
-        consume them.     </p>
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="DeviceEventListener">
-    <tp:docstring>
-      a DeviceEventListener which will intercept key events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="keys" type="a(iisi)" tp:type="KeySet">
-    <tp:docstring>
-      a KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="mask" type="u" tp:type="ControllerEventMask">
-    <tp:docstring>
-      a ControllerEventMask filtering the intercepted key events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="type" type="au" tp:type="KeyEventTypeSeq">
-    <tp:docstring>
-      a KeyEventTypeSeq that may created by ORing event types together.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="mode" type="(bbb)" tp:type="EventListenerMode">
-    <tp:docstring>
-      an EventListenerMode indicating whether the listener should receive the events synchronously, potentially consuming them,or just be notified asynchronously of those events that havebeen generated.@note Some platforms have limited support for global, preemptive EventListenerMode.Such a registration may fail if another client already has priority for preemptiveaccess to one or more of the members of the KeySet.  AT consumers have the optionof re-trying the request without the global flag, or without the preemptive flag,or of re-trying with a different KeySet.  The best support for pre-emptiveglobal keyboard listeners is provided on platforms whose Xserver implementationprovides the XEvIE extension.
-    </tp:docstring>
-    </arg>
-    <arg direction="out" type="b" tp:type="boolean">
-    <tp:docstring>
-      \c True if the DeviceEventListener was successfully registeredfor the requested KeySet, ControllerEventMask, event types, and EventListenerMode; otherwise returns \c False.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="deregisterKeystrokeListener">
-    <tp:docstring>
-      De-register a previously registered keyboard eventlistener.
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="DeviceEventListener">
-    <tp:docstring>
-      a DeviceEventListener which will intercept key events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="keys" type="a(iisi)" tp:type="KeySet">
-    <tp:docstring>
-      a KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="mask" type="u" tp:type="ControllerEventMask">
-    <tp:docstring>
-      a ControllerEventMask filtering the intercepted key events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="type" type="au" tp:type="KeyEventTypeSeq">
-    <tp:docstring>
-      an EventType mask that may created by ORing event types together.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="registerDeviceEventListener">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Register to intercept events, and either pass them on or
-        consume them. To listen to keyboard events use registerKeystrokeListener
-        instead.</p>
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="DeviceEventListener">
-    <tp:docstring>
-      a DeviceEventListener which will intercept events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="types" type="u" tp:type="EventTypeSeq">
-    <tp:docstring>
-      an EventTypeSeq indicating which event types to listen for.
-    </tp:docstring>
-    </arg>
-    <arg direction="out" type="b" tp:type="boolean">
-    <tp:docstring>
-      \c True if successful, \c False if not
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="deregisterDeviceEventListener">
-    <tp:docstring>
-      De-register a previously registered keyboard eventlistener.
-    </tp:docstring>
-    <arg direction="in" name="listener" type="o" tp:type="DeviceEventListener">
-    <tp:docstring>
-      a DeviceEventListener which will intercept events.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="types" type="u" tp:type="EventTypeSeq">
-    <tp:docstring>
-      an EventTypeSeq indicating which event types to stoplistening for.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="notifyListenersSync">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Notify the Registry instance that a device event has taken place, and
-        allow pre-emptive listeners the opportunity to 'consume' the event
-        and thus prevent its further issuance/forwarding.  This is the 
-        method used by accessibility bridges to forward &quot;toolkit dependent&quot;
-        device events to the Registry from the application's process space.    </p>
-
-      <p>@note AT clients do not normally need to use this method, it is intended for use
-        by toolkit bridges and special-purpose applications.    </p>
-    </tp:docstring>
-    <arg direction="in" name="event" type="(uinnisb)" tp:type="DeviceEvent"/>
-    <arg direction="out" type="b" tp:type="boolean">
-    <tp:docstring>
-      \c True if the event was consumed by a (pre-emptive) listener,\c False if not (in which case the device event will be forwardedas normal to any application which would normally receive it, e.g.the currently active application in the case of mouse or keyboard events).
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="notifyListenersAsync">
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>Notify the Registry instance that a device event has taken place in
-        an asynchronous manner.  This is the 
-        method used by accessibility bridges to forward &quot;toolkit dependent&quot;
-        device events to the Registry from the application's process space.
-        If the event in question is potentially pre-emptible.
-        ::notifyListenersSync should be used instead.    </p>
-
-      <p>@note AT clients do not normally need to use this method, it is intended for use
-        by toolkit bridges and special-purpose applications.</p>
-    </tp:docstring>
-    <arg direction="in" name="event" type="(uinnisb)" tp:type="DeviceEvent"/>
-  </method>
-  <method name="generateKeyboardEvent">
-    <tp:docstring>
-      Synthesize a keyboard event.
-    </tp:docstring>
-    <arg direction="in" name="keycode" type="i">
-    <tp:docstring>
-      a long integer indicating the keycode ofthe keypress to be synthesized.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="keystring" type="s">
-    <tp:docstring>
-      an optional UTF-8 string indicating a complexkeyboard input event.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="type" type="u" tp:type="KeySynthType">
-    <tp:docstring>
-      a KeySynthType indicating the type of event(s) to be synthesized: a key press, release, press-release pair,or a complex input string (for instance from aninternationalized or complex text input method, ora composed character).@note keycode may be truncated before beingprocessed, as keycode length may be platform-dependentand keycode ranges are generally much smaller thanCORBA_long. One or the other of keycode or keystring are generally NULL, (but not both), depending on the value of \c type.
-    </tp:docstring>
-    </arg>
-  </method>
-  <method name="generateMouseEvent">
-    <tp:docstring>
-      Synthesize a mouse event.
-    </tp:docstring>
-    <arg direction="in" name="x" type="i">
-    <tp:docstring>
-      a long integer indicating the screen x coord for the mouse event.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="y" type="i">
-    <tp:docstring>
-      a long integer indicating the screen y coord for the mouse event.
-    </tp:docstring>
-    </arg>
-    <arg direction="in" name="eventName" type="s">
-    <tp:docstring>
-      a string indicating the type of mouse event, e.g. &quot;button1up&quot;
-    </tp:docstring>
-    </arg>
-  </method>
-</interface>
-</node>
diff --git a/xml/Accessibility_Registry_Common.xml b/xml/Accessibility_Registry_Common.xml
new file mode 100644 (file)
index 0000000..e633e98
--- /dev/null
@@ -0,0 +1,291 @@
+<node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+
+<tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
+<tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
+<tp:copyright>Copyright 2001 Sun Microsystems Inc.</tp:copyright>
+<tp:license xmlns="http://www.w3.org/1999/xhtml">
+  <p>This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.</p>
+
+  <p>This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.</p>
+
+  <p>You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the
+    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+    Boston, MA 02111-1307, USA.</p>
+</tp:license>
+<tp:enum name="KeyEventType" type="u">
+  <tp:docstring>
+    Deprecated, DO NOT USE! 
+  </tp:docstring>
+  <tp:enumvalue suffix="KEY_PRESSED"/>
+  <tp:enumvalue suffix="KEY_RELEASED" value="1"/>
+</tp:enum>
+<tp:enum name="EventType" type="u">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>Used to specify the event types of interest to an EventListener, or
+      to identify the type of an event for which notification has been sent. 
+      @see EventTypeSeq, DeviceEvent::type</p>
+  </tp:docstring>
+  <tp:enumvalue suffix="KEY_PRESSED_EVENT">
+  <tp:docstring>
+    &lt; key on a keyboard device was pressed. 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="KEY_RELEASED_EVENT" value="1">
+  <tp:docstring>
+    &lt; key on a keyboard device was released. 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="BUTTON_PRESSED_EVENT" value="2">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; button on a non-keyboard human interface device 
+      (HID) was pressed </p>
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="BUTTON_RELEASED_EVENT" value="3">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; button on a non-keyboard human interface device 
+      (HID) was pressed </p>
+  </tp:docstring>
+  </tp:enumvalue>
+</tp:enum>
+<tp:enum name="KeySynthType" type="u">
+  <tp:docstring>
+    Used when synthesizing keyboard input via DeviceEventController:generateKeyboardEvent.
+  </tp:docstring>
+  <tp:enumvalue suffix="KEY_PRESS">
+  <tp:docstring>
+    emulate the pressing of a hardware keyboard key. 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="KEY_RELEASE" value="1">
+  <tp:docstring>
+    emulate the release of a hardware keyboard key. 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="KEY_PRESSRELEASE" value="2">
+  <tp:docstring>
+    a hardware keyboard key is pressed and immediately released. 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="KEY_SYM" value="3">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>a symbolic key event is generated, without specifying a hardware key. 
+      @note if the keysym is not present in the current keyboard map,
+      the DeviceEventController 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 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.</p>
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="KEY_STRING" value="4">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>a string is converted to its equivalent keyboard events and emitted. 
+      If the string consists of complex character or composed characters
+      which are not in the current keymap, string emission is subject to the
+      out-of-keymap limitations described for KeySynthType::KEY_SYM.
+      In practice this limitation primarily effects Chinese and Japanese locales.</p>
+  </tp:docstring>
+  </tp:enumvalue>
+</tp:enum>
+<tp:enum name="ModifierType" type="u">
+  <tp:enumvalue suffix="MODIFIER_SHIFT">
+  <tp:docstring>
+    The left or right 'Shift' key 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="MODIFIER_SHIFTLOCK" value="1">
+  <tp:docstring>
+    The ShiftLock or CapsLock key 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="MODIFIER_CONTROL" value="2">
+  <tp:docstring>
+    'Control'/'Ctrl' 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="MODIFIER_ALT" value="3">
+  <tp:docstring>
+    The Alt key (as opposed to AltGr) 
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="MODIFIER_META" value="4">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>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
+      ModifierType::MODIFIER_META2 means that the 'Mod2Mask' bit is
+      set in the corresponding XEvent.</p>
+  </tp:docstring>
+  </tp:enumvalue>
+  <tp:enumvalue suffix="MODIFIER_META2" value="5"/>
+  <tp:enumvalue suffix="MODIFIER_META3" value="6"/>
+  <tp:enumvalue suffix="MODIFIER_NUMLOCK" value="7">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>A symbolic meta key name that is mapped by AT-SPI to the 
+      appropriate META value, for the convenience of the client.</p>
+  </tp:docstring>
+  </tp:enumvalue>
+</tp:enum>
+<tp:struct name="EventListenerMode">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>A structure that encapsulates the characteristics of the event notifications
+      that should be sent to an EventListener in response to a call to
+      DeviceEventController::registerKeystrokeListener or 
+      DeviceEventController::registerDeviceEventListener. </p>
+  </tp:docstring>
+  <tp:member type="b" tp:name="synchronous">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; If \c True, specifies that
+      DeviceEventController should block while waiting 
+      for client to process the requested event notifications; 
+      ordinarily should be used only when client needs to perform
+      operations synchronously with event delivery. Note that because
+      of the architecture of device event systems in general,
+      use of this flag may not block delivery of the event to 
+      the currently focussed application unless it is used in 
+      conjunction with the preemptive flag. </p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="b" tp:name="preemptive">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; If \c True, specifies that 
+      Listener is allowed to pre-empt the delivery of the event,
+      effectively &quot;consuming&quot; it such that it is not delivered 
+      to the currently focussed desktop application. 
+      Key events consumed via this API will not be 
+      available for use by other applications or services, so this
+      option should be used sparingly. </p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="b" tp:name="global">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; If \c True, specifies that
+      Event notifications should be sent regardless of whether the
+      currently focussed application participates in the AT-SPI 
+      infrastructure.  On systems with the XEvIE X extension, this flag
+      also allows access to events which are already subject to 
+      interception via a &quot;system keygrab&quot; (as described in the X Window System
+      documentation for XGrabKey).  The 'global' and 'preemptive' flags
+      should only be used together for the purposes of registering
+      &quot;system global key shortcuts&quot; i.e. command keys for use by the
+      assistive technology. </p>
+  </tp:docstring>
+  </tp:member>
+</tp:struct>
+<tp:struct name="DeviceEvent">
+  <tp:docstring>
+    A structure which encapsulates information about a device event. 
+  </tp:docstring>
+  <tp:member type="u" tp:name="type">
+  <tp:docstring>
+    &lt; Identifies the type of the containing DeviceEvent. 
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="i" tp:name="id">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; an identifier which identifies this event in the event stream. 
+      On X Window systems this corresponds to the XEvent serial number.</p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="n" tp:name="hw_code">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; a numeric code which is hardware and system-dependent, identifying the
+      specific hardware button or key on the device for which the event has
+      occurred. On X Window systems, for global key notifications and for most
+      non-global key notifications as well, this code corresponds to the
+      XKeycode.  For switch and button events it indicates the switch
+      or button number.
+      @note
+      For technical reasons, this code may differ from the XKeycode
+      when generated by Java applications for consumption by non-global
+      key listeners.  This is subject to change in future versions of the
+      DeviceEventController implementation.</p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="n" tp:name="modifiers">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; an unsigned short int consisting of zero or more of the following
+      values OR'ed together:
+      \li \c 1&lt;&lt;::MODIFIER_SHIFT   (=1, corresponds to Xlib's ShiftMask)
+      \li \c 1&lt;&lt;::MODIFIER_SHIFTLOCK    (=2, corresponds to Xlib's LockMask)
+      \li \c 1&lt;&lt;::MODIFIER_CONTROL (=4, corresponds to Xlib's ControlMask)
+      \li \c 1&lt;&lt;::MODIFIER_ALT    (=8, corresponds to Xlib's Mod1Mask)
+      \li \c 1&lt;&lt;::MODIFIER_META    (=16, corresponds to Xlib's Mod2Mask)
+      \li \c 1&lt;&lt;::MODIFIER_META2    (=32, corresponds to Xlib's Mod3Mask)
+      \li \c 1&lt;&lt;::MODIFIER_META3    (=64, corresponds to Xlib's Mod4Mask)</p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="i" tp:name="timestamp">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; an unsigned integer representing the time that the 
+      event occurred.  On X Window systems this event is 
+      a time in milliseconds from some arbitrary starting
+      point; it therefore has a cycle time of approximately
+      50 days.</p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="s" tp:name="event_string">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; A string representation of the event.  If is_text is
+      \c True, then this string represents the character or typographic
+      sequence that would be received by a focussed text input field.
+      event_string is in general suitable for exposure to the
+      end-user for purposes of keyboard echo.</p>
+  </tp:docstring>
+  </tp:member>
+  <tp:member type="b" tp:name="is_text">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>&lt; \c True if the event results in the insertion of characters 
+      into an input text buffer, or would do so if delivered to a focussed
+      text input field. ¨Typographical¨ key events have this field set to
+      \c True, whereas ¨control¨ key events generally do not.</p>
+  </tp:docstring>
+  </tp:member>
+</tp:struct>
+<tp:struct name="KeyDefinition">
+  <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+    <p>A structure which defines the identity of a key for which notifications
+      are to be requested.  The data in the members of a ::KeyDefinition are used to
+      determine which keyboard events 'match' the notification request filed by a client.  </p>
+
+    <p>@note Ordinarily a KeyDefinition specifies one and only one of the criteria below; 
+      the result of using a KeyDefinition with multiple members defined as nonzero is
+      undefined.  </p>
+
+    <p>@param keycode if nonzero, the numeric, system-dependent value corresponding to a 
+      physical key on the keyboard.  Keycode values have no semantic meaning to the end-user,
+      and may depend on the user's hardware and operating environment.  They therefore are
+      rarely useful &quot;as-is&quot; to AT clients, unless the client has used operating system
+      services to identify the hardward keycode associated with a particular key symbol.
+      Notifications for key events requested by keycode are less dependent on modifier state
+      than \c keysym based notifications, but some hardware (notably many laptops) may generate
+      more than one keycode for the same physical key, depending on the state of physical 
+      shift/modifier keys.
+      @param keysym if nonzero, the numeric value corresponding to the X Keysym of the key for which 
+      notification is requested.  Note that the presence of active modifiers will affect
+      whether notification for key events requested via &quot;keysym&quot; specification takes place, 
+      since the keysym depends on the modifier state for most keys.
+      @param keystring if non-NULL, the string value of the inserted characters if the corresponding
+      key event has ::KeyEvent:is_text set to \c True, or the string representing the
+      'name' of the key.  On X11 systems, the string 'name' of non-printing keysyms corresponds
+      to the values in &quot;keysymdef.h&quot; as provided by Xlib, with the leading &quot;XK_&quot; stripped off.</p>
+  </tp:docstring>
+  <tp:member type="i" tp:name="keycode"/>
+  <tp:member type="i" tp:name="keysym"/>
+  <tp:member type="s" tp:name="keystring"/>
+  <tp:member type="i" tp:name="unused"/>
+</tp:struct>
+</node>
index 23ab282..a4f66ce 100644 (file)
@@ -1,29 +1,36 @@
-XML= \
+XML_SPEC= \
        Accessibility.xml \
-       Accessibility_Accessible.xml \
-       Accessibility_Action.xml \
-       Accessibility_Application.xml \
-       Accessibility_Component.xml \
-       Accessibility_Document.xml \
-       Accessibility_EditableText.xml \
-       Accessibility_Event.xml \
-       Accessibility_Hyperlink.xml \
-       Accessibility_Hypertext.xml \
-       Accessibility_Image.xml \
-       Accessibility_LoginHelper.xml \
-       Accessibility_Registry.xml \
+       org.freedesktop.atspi.Accessible.xml \
+       org.freedesktop.atspi.Action.xml \
+       org.freedesktop.atspi.Application.xml \
+       org.freedesktop.atspi.Component.xml \
+       org.freedesktop.atspi.Document.xml \
+       org.freedesktop.atspi.EditableText.xml \
+       org.freedesktop.atspi.Hyperlink.xml \
+       org.freedesktop.atspi.Hypertext.xml \
+       org.freedesktop.atspi.Image.xml \
+       org.freedesktop.atspi.LoginHelper.xml \
+       Accessibility_Registry_Common.xml \
+       org.freedesktop.atspi.Registry.xml \
+       org.freedesktop.atspi.DeviceEventController.xml \
+       org.freedesktop.atspi.DeviceEventListener.xml \
        Accessibility_Role.xml \
-       Accessibility_Selection.xml \
-       Accessibility_Selector.xml \
+       org.freedesktop.atspi.Selection.xml \
+       org.freedesktop.atspi.Selector.xml \
        Accessibility_State.xml \
-       Accessibility_StreamableContent.xml \
-       Accessibility_Table.xml \
-       Accessibility_Text.xml \
-       Accessibility_Value.xml
+       org.freedesktop.atspi.StreamableContent.xml \
+       org.freedesktop.atspi.Table.xml \
+       org.freedesktop.atspi.Text.xml \
+       org.freedesktop.atspi.Value.xml
 
-spec.xml: $(XML)
+spec.xml: $(XML_SPEC)
        xsltproc --xinclude ../tools/identity.xsl $< >$@
 
-EXTRA_DIST = $(XML)
+EXTRA_DIST = $(XML_SPEC)
 
-BUILT_SOURCES = spec.xml
+INTROSPECT_FILES = $(addprefix introspection/,$(patsubst %.xml,%,$(filter org.freedesktop.atspi%,$(XML_SPEC))))
+
+$(INTROSPECT_FILES): introspection/%: %.xml ../tools/spec-to-introspect.xsl
+       xsltproc ../tools/spec-to-introspect.xsl $< |sed -e 's@xmlns:tp="http://telepathy\.freedesktop\.org/wiki/DbusSpec.extensions-v0"@@g' >$@
+
+dist_pkgdata_DATA = $(INTROSPECT_FILES)