Initial commit.
[platform/core/uifw/at-spi2-atk.git] / xml / Accessibility_Selector.xml
1 <node name="/node" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
2
3 <tp:title>AT-SPI - Assistive Technology Service Provider Interface </tp:title>
4 <tp:copyright>Copyright 2008 Novell, Inc.</tp:copyright>
5 <tp:copyright>Copyright 2001 Sun Microsystems Inc.</tp:copyright>
6 <tp:license xmlns="http://www.w3.org/1999/xhtml">
7   <p>This library is free software; you can redistribute it and/or
8     modify it under the terms of the GNU Library General Public
9     License as published by the Free Software Foundation; either
10     version 2 of the License, or (at your option) any later version.</p>
11
12   <p>This library is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15     Library General Public License for more details.</p>
16
17   <p>You should have received a copy of the GNU Library General Public
18     License along with this library; if not, write to the
19     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20     Boston, MA 02111-1307, USA.</p>
21 </tp:license>
22 <tp:struct name="Command">
23   <tp:docstring>
24     A structure which encapsulates both a string representation of a command and a unique command ID 
25   </tp:docstring>
26   <tp:member type="s" tp:name="name"/>
27   <tp:member type="i" tp:name="id"/>
28 </tp:struct>
29 <method name="notifyCommands">
30   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
31     <p>Notify the CommandListener instance of changes to the currently
32       available commands, by sending the current ::CommandList.  </p>
33
34     <p>@param commands The newly-available list of ::Command objects which
35       may be invoked by the listener.</p>
36   </tp:docstring>
37   <arg direction="in" name="commands" type="a(si)" tp:type="CommandList"/>
38 </method>
39 <interface name="org.freedesktop.accessibility.Selector">
40   <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
41     <p>This interface is intended for use by assistive technologies
42       and related user-agents.  Via this interface, an assistive technology or
43       user agent may expose a series of choices or selections in textual form,
44       which can be activated on demand by a client of the Selector interface.  </p>
45
46     <p>Examples of the use of this interface include voice-command and remote-control
47       applications, in which the user interaction is wholly or partly delegated by the 
48       implementor to an external agent.  
49       @since AT-SPI 1.7.0</p>
50   </tp:docstring>
51   <tp:enum name="CommandResult" type="u">
52     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
53       <p>A code returned by a call to ::activateCommand, indicating 
54         the result of the activation request.</p>
55     </tp:docstring>
56     <tp:enumvalue suffix="COMMAND_RESULT_INVALID">
57     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
58       <p>&lt; The command was invalid or ill-formed; usually indicates
59         an error condition. </p>
60     </tp:docstring>
61     </tp:enumvalue>
62     <tp:enumvalue suffix="COMMAND_RESULT_SUCCESS" value="1">
63     <tp:docstring>
64       &lt; The command was successfully activated. 
65     </tp:docstring>
66     </tp:enumvalue>
67     <tp:enumvalue suffix="COMMAND_RESULT_FAILED" value="2">
68     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
69       <p>&lt; The command was valid, but could not be activated.
70         This may be due to problems with permissions or error conditions.</p>
71     </tp:docstring>
72     </tp:enumvalue>
73     <tp:enumvalue suffix="COMMAND_RESULT_OBSOLETE" value="3">
74     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
75       <p>&lt; The command is no longer valid in the current program context. 
76         This may mean that the application has changed state in such a
77         way that the specified command it no longer applicable, or
78         because changes to the application state have rendered it
79         ambiguous.  Commands should be re-fetched and a new selection
80         made.</p>
81     </tp:docstring>
82     </tp:enumvalue>
83     <tp:enumvalue suffix="COMMAND_RESULT_LAST_DEFINED" value="4">
84     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
85       <p>&lt; Defines size of enumeration; 
86         do not use this value as a parameter.</p>
87     </tp:docstring>
88     </tp:enumvalue>
89   </tp:enum>
90   <tp:property name="supportsReplace" type="b" access="read">
91   <tp:docstring>
92     This attribute is TRUE if this Selector allows its ::CommandList to be specified by the client 
93   </tp:docstring>
94   </tp:property>
95   <method name="getCommands">
96     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
97       <p>Query the ::Selector for the current ::CommandList.    </p>
98     </tp:docstring>
99     <arg direction="out" type="a(si)" tp:type="CommandList">
100     <tp:docstring>
101       the currently available ::CommandList 
102     </tp:docstring>
103     </arg>
104   </method>
105   <method name="replaceCommands">
106     <arg direction="in" name="commands" type="a(si)" tp:type="CommandList"/>
107     <arg direction="out" type="b" tp:type="boolean">
108     <tp:docstring>
109       TRUE if the replacement request was successful, FALSE if the request could not be honored.
110     </tp:docstring>
111     </arg>
112   </method>
113   <method name="refreshCommands">
114     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
115       <p>Ask the ::Selector to re-calculate its ::CommandList.
116         @note in most cases the ::Selector will continuously
117         update its ::CommandList without recourse to this call.
118         This call is equivalent to ::getCommands, except that
119         after ::refreshCommands the new ::CommandList will be returned
120         via any registered ::CommandListener instances rather than
121         synchronously via this call.    </p>
122     </tp:docstring>
123     <arg direction="out" type="b" tp:type="boolean">
124     <tp:docstring>
125       TRUE if the ::CommandList changed.
126     </tp:docstring>
127     </arg>
128   </method>
129   <method name="activateCommand">
130     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
131       <p>Request that the ::Selector invoke the specified ::Command.
132         @param cmd the ::Command to activate/invoke.</p>
133     </tp:docstring>
134     <arg direction="in" name="cmd" type="(si)" tp:type="Command"/>
135     <arg direction="out" type="u" tp:type="CommandResult">
136     <tp:docstring>
137       a ::CommandResult indicating whether the request was honored, and the reason for failure if the::Command could not be activated or invoked.
138     </tp:docstring>
139     </arg>
140   </method>
141   <method name="registerChangeListener">
142     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
143       <p>Register a :CommandListener instance for notification of 
144         changes to the command set.
145         @param listener the ::CommandListener to be notified of changes.</p>
146     </tp:docstring>
147     <arg direction="in" name="listener" type="o" tp:type="CommandListener"/>
148   </method>
149   <method name="deregisterChangeListener">
150     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
151       <p>Tell the ::Selector instance to cease notifying the
152         specified ::CommandListener of changes to the command list.
153         @param listener the ::CommandListener to remove from the
154         notification list.</p>
155     </tp:docstring>
156     <arg direction="in" name="listener" type="o" tp:type="CommandListener"/>
157   </method>
158   <method name="unImplemented">
159     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
160       <p>\cond
161         unImplemented:    </p>
162
163       <p>placeholders for future expansion.</p>
164     </tp:docstring>
165   </method>
166   <method name="unImplemented2">
167   </method>
168   <method name="unImplemented3">
169   </method>
170   <method name="unImplemented4">
171   </method>
172 </interface>
173 </node>