2008-11-13 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / README
1 D-Bus AT-SPI
2 ------------
3
4 This version of at-spi is a major break from previous versions.
5 It has been completely rewritten to use D-Bus rather than
6 ORBIT / CORBA for its transport protocol.
7
8 A page including instructions for testing, project status and
9 TODO items is kept up to date at:
10
11         http://www.linuxfoundation.org/en/AT-SPI_on_D-Bus
12
13 The mailing list used for general questions is:
14
15         accessibility-atspi@lists.linux-foundation.org
16
17 For bug reports, feature requests, patches or enhancements please use
18 bugzilla. The freedesktop project name is at-spi2.
19
20         http://bugs.freedesktop.org
21
22 A git repository with the latest development code is available at:
23
24         git://anongit.freedesktop.org/git/at-spi2
25
26
27 More information
28 ----------------
29
30 The project was started with a D-Bus performance review
31 the results of which are available on the GNOME wiki. Keep in
32 mind that the D-Bus AT-SPI design documents on this page
33 have not been kept up to date.
34
35         http://live.gnome.org/GAP/AtSpiDbusInvestigation/
36
37 Other sources of relevant information about AT-SPI and Accessibility
38 include:
39
40         http://live.gnome.org/Accessibility
41         http://www.sun.com/software/star/gnome/accessibility/architecture.xml
42         http://accessibility.kde.org/developer/atk.php
43         http://www.gnome.org/~billh/at-spi-idl/html/
44
45
46
47 Contents of this package
48 ------------------------
49
50 This package includes the protocol definitions for the new D-Bus
51 at-spi, a gtk-module that bridges ATK to the new D-Bus based AT-SPI
52 as well as 'C' and Python client libraries.
53
54 Also included is the daemon neccessary for forwarding device events
55 and registering accessible applicaitons.
56
57
58
59 Directory structure
60 -------------------
61
62 The directories within this package are arranged as follows:
63
64     idl
65
66         This directory contains the interface definitions
67         (in Interface Definition Language) for the
68         accessibility support interfaces exposed by
69         the AT central registry, accessible applications,
70         and UI components.
71
72         This is possibly historic. The idl formed the basis
73         for the XML protocol definitions now located
74         in the directory "xml".
75
76     xml 
77
78         This directory contains XML documents describing
79         the D-Bus protocol in a subset of Telepathy XML.
80
81     tools
82
83         Miscellaneous tools. Mostly for converting protocol
84         XML into D-Bus introspection, 'C' types and documentation.
85
86     droute
87
88         Contains a framework for registering objects
89         with a D-Bus connection and for routing messages to
90         the implementing object.
91
92         Used by the ATK adaptor.
93
94     dbind
95
96         Library to ease making D-Bus method calls, contains
97         marshalling code to convert function arguments
98         and a provided D-Bus signature into a D-Bus message.
99
100         Used by cspi.
101
102     spi-common
103
104         Contains 'C' types derived from the D-Bus
105         protocol specification. These types are used by 
106         both the registry daemon and the ATK adaptor.
107         Structures are mainly related to events.
108
109     registryd
110
111         This directory contains code specific to the
112         central accessibility registry, and the registry
113         executable is built in this directory.
114
115     atk-adaptor
116
117         This directory contains code that bridges 
118         the at-spi to the GTK+ toolkit, and which is
119         loaded at runtime by GTK+-based Gnome applications.
120         The 'bridge' automatically registers GTK+-2.0
121         applications with the accessibility registry, 
122         and relays UI events from application to registry.
123         It is also responsible for servicing requests from
124         the registry to register handlers for specific event
125         types.
126
127     cspi
128
129         The client (AT) side interface - 'C' bindings.
130
131     registryd
132
133         The registry daemon code. The registry daemon
134         keeps a register of accessible applications and presents
135         this to clients (ATs).
136         It is also responsible for delivering device events.