2008-11-13 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / README
diff --git a/README b/README
index 7cec905..64ac131 100644 (file)
--- a/README
+++ b/README
-This is the initial CVS checkin of the Gnome Accessibility Project's Assistive Technology Service Provider Interface.
+D-Bus AT-SPI
+------------
 
-At the moment it does not include IDL for all of the SPI, but it does provide a prototype implementation of the core of the out-of-process accessibility service, the 'registry'.
+This version of at-spi is a major break from previous versions.
+It has been completely rewritten to use D-Bus rather than
+ORBIT / CORBA for its transport protocol.
 
-Accessible applications will register with this registry service (via OAF) and adaptive/assistive technologies will register with the service as well, to indicate their interest in receiving UI events.  ATs can also use the registry's services programmatically to query accessible applications.
+A page including instructions for testing, project status and
+TODO items is kept up to date at:
 
+        http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus
 
-Running the test programs:
-============================
+The mailing list used for general questions is:
 
-At the moment the only clients and 'apps' are the test at client and test app in the 'tests' subdirectory.
+        accessibility-atspi@lists.linux-foundation.org
 
-If you have a working ORBit2/OAF installation you can run the tests after adding the registryd directory to OAF's directory list with oaf-sysconf, or by installing Accessibility_Registry.oaf in your 'oafinfo' directory.
+For bug reports, feature requests, patches or enhancements please use
+bugzilla. The freedesktop project name is at-spi2.
 
-You can then run './at' and './app' from the 'test' directory, to see 'app' register as an application, and 'at' as a listening client.  OAF should take care of the job of bootstrapping the registry daemon ('registryd') for you.
+        http://bugs.freedesktop.org
 
-At the moment app and at deregistration are broken, so you are advised to kill the registry daemon if you exit either 'at' or 'app' instances.  You may run as many instances of each as you like, concurrently - you may find it useful to do so in separate terminal windows.
+A git repository with the latest development code is available at:
 
+        git://anongit.freedesktop.org/git/at-spi2
 
-'at' connects to the registry as an event listener, then queries the service for the number of virtual desktops (currently always 0 or 1), and queries each desktop for the accessible applications it is running.  It then prints out the name of each such application (as reported by the application's accessibility interfaces), and then waits to receive events.
 
-'app' connects to the registry as an application, then dispatches an event which the registry should relay to all registered listeners.  Thus instances of 'app' run after 'at' should cause the 'at' instances to receive events.
+More information
+----------------
 
+The project was started with a D-Bus performance review
+the results of which are available on the GNOME wiki. Keep in
+mind that the D-Bus AT-SPI design documents on this page
+have not been kept up to date.
 
--Bill
+        http://live.gnome.org/GAP/AtSpiDbusInvestigation/
+
+Other sources of relevant information about AT-SPI and Accessibility
+include:
+
+        http://live.gnome.org/Accessibility
+        http://www.sun.com/software/star/gnome/accessibility/architecture.xml
+        http://accessibility.kde.org/developer/atk.php
+        http://www.gnome.org/~billh/at-spi-idl/html/
+
+
+
+Contents of this package
+------------------------
+
+This package includes the protocol definitions for the new D-Bus
+at-spi, a gtk-module that bridges ATK to the new D-Bus based AT-SPI
+as well as 'C' and Python client libraries.
+
+Also included is the daemon neccessary for forwarding device events
+and registering accessible applicaitons.
+
+
+
+Directory structure
+-------------------
+
+The directories within this package are arranged as follows:
+
+    idl
+
+        This directory contains the interface definitions
+        (in Interface Definition Language) for the
+        accessibility support interfaces exposed by
+        the AT central registry, accessible applications,
+        and UI components.
+
+        This is possibly historic. The idl formed the basis
+        for the XML protocol definitions now located
+        in the directory "xml".
+
+    xml 
+
+        This directory contains XML documents describing
+        the D-Bus protocol in a subset of Telepathy XML.
+
+    tools
+
+        Miscellaneous tools. Mostly for converting protocol
+        XML into D-Bus introspection, 'C' types and documentation.
+
+    droute
+
+        Contains a framework for registering objects
+        with a D-Bus connection and for routing messages to
+        the implementing object.
+
+        Used by the ATK adaptor.
+
+    dbind
+
+        Library to ease making D-Bus method calls, contains
+        marshalling code to convert function arguments
+        and a provided D-Bus signature into a D-Bus message.
+
+        Used by cspi.
+
+    spi-common
+
+        Contains 'C' types derived from the D-Bus
+        protocol specification. These types are used by 
+        both the registry daemon and the ATK adaptor.
+        Structures are mainly related to events.
+
+    registryd
+
+        This directory contains code specific to the
+        central accessibility registry, and the registry
+        executable is built in this directory.
+
+    atk-adaptor
+
+        This directory contains code that bridges 
+        the at-spi to the GTK+ toolkit, and which is
+        loaded at runtime by GTK+-based Gnome applications.
+        The 'bridge' automatically registers GTK+-2.0
+        applications with the accessibility registry, 
+        and relays UI events from application to registry.
+        It is also responsible for servicing requests from
+        the registry to register handlers for specific event
+        types.
+
+    cspi
+
+        The client (AT) side interface - 'C' bindings.
+
+    registryd
+
+        The registry daemon code. The registry daemon
+        keeps a register of accessible applications and presents
+        this to clients (ATs).
+        It is also responsible for delivering device events.