<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>at-spi-idl: /home/liyuan/src/at-spi/idl/Accessibility_Registry.idl Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.2 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div class="nav"> <a class="el" href="dir_d9ecf4153bf52f2941809e24991d229c.html">idl</a></div> <h1>Accessibility_Registry.idl</h1><a href="Accessibility__Registry_8idl.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* </span> <a name="l00002"></a>00002 <span class="comment"> * AT-SPI - Assistive Technology Service Provider Interface </span> <a name="l00003"></a>00003 <span class="comment"> * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)</span> <a name="l00004"></a>00004 <span class="comment"> *</span> <a name="l00005"></a>00005 <span class="comment"> * Copyright 2001 Sun Microsystems Inc.</span> <a name="l00006"></a>00006 <span class="comment"> *</span> <a name="l00007"></a>00007 <span class="comment"> * This library is free software; you can redistribute it and/or</span> <a name="l00008"></a>00008 <span class="comment"> * modify it under the terms of the GNU Library General Public</span> <a name="l00009"></a>00009 <span class="comment"> * License as published by the Free Software Foundation; either</span> <a name="l00010"></a>00010 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span> <a name="l00011"></a>00011 <span class="comment"> *</span> <a name="l00012"></a>00012 <span class="comment"> * This library is distributed in the hope that it will be useful,</span> <a name="l00013"></a>00013 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00014"></a>00014 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> <a name="l00015"></a>00015 <span class="comment"> * Library General Public License for more details.</span> <a name="l00016"></a>00016 <span class="comment"> *</span> <a name="l00017"></a>00017 <span class="comment"> * You should have received a copy of the GNU Library General Public</span> <a name="l00018"></a>00018 <span class="comment"> * License along with this library; if not, write to the</span> <a name="l00019"></a>00019 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span> <a name="l00020"></a>00020 <span class="comment"> * Boston, MA 02111-1307, USA.</span> <a name="l00021"></a>00021 <span class="comment"> */</span> <a name="l00022"></a>00022 <a name="l00023"></a>00023 <span class="preprocessor">#include <<a class="code" href="Accessibility__Event_8idl.html">Accessibility_Event.idl</a>></span> <a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="Accessibility__Application_8idl.html">Accessibility_Application.idl</a>></span> <a name="l00025"></a>00025 <span class="preprocessor">#include <<a class="code" href="Accessibility__Desktop_8idl.html">Accessibility_Desktop.idl</a>></span> <a name="l00026"></a>00026 <a name="l00027"></a>00027 <span class="preprocessor">#ifndef _ACCESSIBILITY_REGISTRY_IDL_</span> <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define _ACCESSIBILITY_REGISTRY_IDL_</span> <a name="l00029"></a>00029 <span class="preprocessor"></span> <a name="l00030"></a>00030 module Accessibility { <a name="l00031"></a>00031 <a name="l00032"></a><a class="code" href="namespaceAccessibility.html#21062610dc08191c6e6fc7618bb30020">00032</a> <span class="keyword">typedef</span> sequence<Desktop> <a class="code" href="namespaceAccessibility.html#21062610dc08191c6e6fc7618bb30020">DesktopSeq</a>; <a name="l00033"></a>00033 <a name="l00034"></a>00034 interface <a class="code" href="interfaceAccessibility_1_1DeviceEventController.html">DeviceEventController</a>; <a name="l00035"></a>00035 <a name="l00073"></a><a class="code" href="interfaceAccessibility_1_1Registry.html">00073</a> interface <a class="code" href="interfaceAccessibility_1_1Registry.html">Registry</a> : <a class="code" href="interfaceAccessibility_1_1EventListener.html">EventListener</a> { <a name="l00074"></a>00074 <a name="l00079"></a>00079 oneway <span class="keywordtype">void</span> registerApplication (in <a class="code" href="interfaceAccessibility_1_1Application.html">Application</a> app); <a name="l00080"></a>00080 <a name="l00087"></a>00087 <span class="keywordtype">void</span> deregisterApplication (in <a class="code" href="interfaceAccessibility_1_1Application.html">Application</a> app); <a name="l00088"></a>00088 <a name="l00096"></a>00096 <span class="keywordtype">void</span> registerGlobalEventListener (in <a class="code" href="interfaceAccessibility_1_1EventListener.html">EventListener</a> listener, <a name="l00097"></a>00097 in <span class="keywordtype">string</span> eventName); <a name="l00098"></a>00098 <a name="l00107"></a>00107 <span class="keywordtype">void</span> deregisterGlobalEventListenerAll (in <a class="code" href="interfaceAccessibility_1_1EventListener.html">EventListener</a> listener); <a name="l00108"></a>00108 <a name="l00118"></a>00118 <span class="keywordtype">void</span> deregisterGlobalEventListener (in <a class="code" href="interfaceAccessibility_1_1EventListener.html">EventListener</a> listener, <a name="l00119"></a>00119 in <span class="keywordtype">string</span> eventName); <a name="l00144"></a>00144 <span class="keywordtype">short</span> getDesktopCount (); <a name="l00145"></a>00145 <a name="l00154"></a>00154 <a class="code" href="interfaceAccessibility_1_1Desktop.html">Desktop</a> getDesktop (in <span class="keywordtype">short</span> n); <a name="l00155"></a>00155 <a name="l00162"></a>00162 DesktopSeq getDesktopList (); <a name="l00163"></a>00163 <a name="l00169"></a>00169 DeviceEventController getDeviceEventController (); <a name="l00170"></a>00170 <a name="l00176"></a>00176 <span class="keywordtype">void</span> unImplemented (); <a name="l00177"></a>00177 <span class="keywordtype">void</span> unImplemented2 (); <a name="l00178"></a>00178 <span class="keywordtype">void</span> unImplemented3 (); <a name="l00179"></a>00179 <span class="keywordtype">void</span> unImplemented4 (); <a name="l00180"></a>00180 <span class="keywordtype">void</span> unImplemented5 (); <a name="l00181"></a>00181 <span class="keywordtype">void</span> unImplemented6 (); <a name="l00183"></a>00183 }; <a name="l00184"></a>00184 <a name="l00186"></a><a class="code" href="namespaceAccessibility.html#64b92364408680cc61ba8881ccdfa4f9d33ebb408370e0971fb4e08cf856d8e4">00186</a> <span class="keyword">enum</span> <a class="code" href="namespaceAccessibility.html#64b92364408680cc61ba8881ccdfa4f9">KeyEventType</a> { <a name="l00187"></a><a class="code" href="namespaceAccessibility.html#64b92364408680cc61ba8881ccdfa4f97d2aa54b490eb6b22a5ed860f3d751ea">00187</a> <a class="code" href="namespaceAccessibility.html#64b92364408680cc61ba8881ccdfa4f9d33ebb408370e0971fb4e08cf856d8e4">KEY_PRESSED</a>, <a name="l00188"></a>00188 <a class="code" href="namespaceAccessibility.html#64b92364408680cc61ba8881ccdfa4f97d2aa54b490eb6b22a5ed860f3d751ea">KEY_RELEASED</a> <a name="l00189"></a>00189 }; <a name="l00190"></a>00190 <a name="l00195"></a><a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c9e7b029d7a4f744eeee366fbc0a3eef3">00195</a> <span class="keyword">enum</span> <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c">EventType</a> { <a name="l00196"></a><a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c3c4c271c52c5deafce340a2952fb92b0">00196</a> <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c9e7b029d7a4f744eeee366fbc0a3eef3">KEY_PRESSED_EVENT</a>, <a name="l00197"></a><a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59cbab7282974d0f16529813ac82b574ba4">00197</a> <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c3c4c271c52c5deafce340a2952fb92b0">KEY_RELEASED_EVENT</a>, <a name="l00198"></a>00198 <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59cbab7282974d0f16529813ac82b574ba4">BUTTON_PRESSED_EVENT</a>, <a name="l00200"></a>00200 <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c560eaae1eb5d051c3e25c6f665cd56b9">BUTTON_RELEASED_EVENT</a> <a name="l00202"></a>00202 }; <a name="l00203"></a>00203 <a name="l00205"></a><a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d416afea3d2eb3180a889e95cc44d50de6">00205</a> <span class="keyword">enum</span> <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4">KeySynthType</a> { <a name="l00206"></a><a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d47033f29e630b1616cbf504bf8e22cf47">00206</a> <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d416afea3d2eb3180a889e95cc44d50de6">KEY_PRESS</a>, <a name="l00207"></a><a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4cafc5886e78345ee6efac8a794294223">00207</a> <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d47033f29e630b1616cbf504bf8e22cf47">KEY_RELEASE</a>, <a name="l00208"></a><a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4ec30406f8731ce5cc6a8f415863eadcf">00208</a> <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4cafc5886e78345ee6efac8a794294223">KEY_PRESSRELEASE</a>, <a name="l00209"></a>00209 <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4ec30406f8731ce5cc6a8f415863eadcf">KEY_SYM</a>, <a name="l00220"></a>00220 <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d463077183ae5afbe0194643923737dc29">KEY_STRING</a> <a name="l00226"></a>00226 }; <a name="l00227"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c">00227</a> <a name="l00228"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c7649c518c8ae9fa018d1995bdc6f2257">00228</a> <span class="keyword">enum</span> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c">ModifierType</a> { <a name="l00229"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c1f0da44f81adbb05254c0bbfa87284f6">00229</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c7649c518c8ae9fa018d1995bdc6f2257">MODIFIER_SHIFT</a>, <a name="l00230"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c586fb841247f6a0047ad6931a68f65e9">00230</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c1f0da44f81adbb05254c0bbfa87284f6">MODIFIER_SHIFTLOCK</a>, <a name="l00231"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c8c64908d0a1af63d57bb0d2bb495e5a5">00231</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c586fb841247f6a0047ad6931a68f65e9">MODIFIER_CONTROL</a>, <a name="l00232"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c8e0e6e911189cd30a33dc32168e43a99">00232</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c8c64908d0a1af63d57bb0d2bb495e5a5">MODIFIER_ALT</a>, <a name="l00233"></a>00233 <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c8e0e6e911189cd30a33dc32168e43a99">MODIFIER_META</a>, <a name="l00241"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0cb14ddcef109b4d23f7a051dd0f5bc914">00241</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c92171a00058e0a47b1a18d228848269c">MODIFIER_META2</a>, <a name="l00242"></a><a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c25bae1a320b3f7418dc9f16ceab47e0c">00242</a> <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0cb14ddcef109b4d23f7a051dd0f5bc914">MODIFIER_META3</a>, <a name="l00243"></a>00243 <a class="code" href="namespaceAccessibility.html#f35e90902d7d991b254aba7c558d4a0c25bae1a320b3f7418dc9f16ceab47e0c">MODIFIER_NUMLOCK</a> <a name="l00246"></a>00246 }; <a name="l00247"></a>00247 <a name="l00252"></a><a class="code" href="structAccessibility_1_1EventListenerMode.html#35a6028e2b19b36fb774ba6c91913b84">00252</a> <span class="keyword">struct </span><a class="code" href="structAccessibility_1_1EventListenerMode.html">EventListenerMode</a> { <a name="l00253"></a>00253 <span class="keywordtype">boolean</span> synchronous; <a name="l00262"></a>00262 <span class="keywordtype">boolean</span> preemptive; <a name="l00269"></a>00269 <span class="keywordtype">boolean</span> global; <a name="l00279"></a>00279 }; <a name="l00280"></a>00280 <a name="l00290"></a>00290 <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="namespaceAccessibility.html#71437c3f423b7d52a81e7d309db30b50">ControllerEventMask</a>; <a name="l00291"></a>00291 <a name="l00293"></a><a class="code" href="structAccessibility_1_1DeviceEvent.html#85cb1f707e5a07f036a72e3dfbd2ac57">00293</a> <span class="keyword">struct </span><a class="code" href="structAccessibility_1_1DeviceEvent.html">DeviceEvent</a> { <a name="l00294"></a><a class="code" href="structAccessibility_1_1DeviceEvent.html#7e707dc6d27633e53d67f9d1fd5df26e">00294</a> <a class="code" href="namespaceAccessibility.html#58abde6e16c02c14a9f42c1d7618e59c">EventType</a> type; <a name="l00295"></a>00295 <span class="keywordtype">long</span> id; <a name="l00298"></a>00298 <span class="keywordtype">short</span> hw_code; <a name="l00311"></a>00311 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> modifiers; <a name="l00321"></a>00321 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> timestamp; <a name="l00327"></a>00327 <span class="keywordtype">string</span> event_string; <a name="l00333"></a>00333 <span class="keywordtype">boolean</span> is_text; <a name="l00338"></a>00338 }; <a name="l00339"></a>00339 <a name="l00367"></a><a class="code" href="structAccessibility_1_1KeyDefinition.html#de43f028d4e02d724e059f428f0a5911">00367</a> <span class="keyword">struct </span><a class="code" href="structAccessibility_1_1KeyDefinition.html">KeyDefinition</a> { <a name="l00368"></a><a class="code" href="structAccessibility_1_1KeyDefinition.html#37a58e28502afa5663a27f09ce8ffb80">00368</a> <span class="keywordtype">long</span> keycode; <a name="l00369"></a><a class="code" href="structAccessibility_1_1KeyDefinition.html#e27bb483d0382280ca41712be74b912c">00369</a> <span class="keywordtype">long</span> keysym; <a name="l00370"></a><a class="code" href="structAccessibility_1_1KeyDefinition.html#3bbcb8892360cca09d55c54a4ae25d02">00370</a> <span class="keywordtype">string</span> keystring; <a name="l00371"></a>00371 <span class="keywordtype">long</span> unused; <a name="l00372"></a>00372 }; <a name="l00373"></a><a class="code" href="namespaceAccessibility.html#9350f6d3b43589a29de29ddb15d6c858">00373</a> <a name="l00374"></a><a class="code" href="namespaceAccessibility.html#2a2f3c5605557e6fdb67a85c194624d4">00374</a> <span class="keyword">typedef</span> sequence< KeyDefinition > <a class="code" href="namespaceAccessibility.html#9350f6d3b43589a29de29ddb15d6c858">KeySet</a>; <a name="l00375"></a><a class="code" href="namespaceAccessibility.html#56dfd905ebcc9e73955f51c817e587a7">00375</a> <span class="keyword">typedef</span> sequence< EventType > <a class="code" href="namespaceAccessibility.html#2a2f3c5605557e6fdb67a85c194624d4">KeyEventTypeSeq</a>; <a name="l00376"></a>00376 <span class="keyword">typedef</span> sequence< EventType > <a class="code" href="namespaceAccessibility.html#56dfd905ebcc9e73955f51c817e587a7">EventTypeSeq</a>; <a name="l00377"></a>00377 <a name="l00382"></a>00382 interface <a class="code" href="interfaceAccessibility_1_1DeviceEventListener.html">DeviceEventListener</a> : Bonobo::Unknown { <a name="l00388"></a>00388 <span class="keywordtype">boolean</span> notifyEvent (in <a class="code" href="structAccessibility_1_1DeviceEvent.html">DeviceEvent</a> event); <a name="l00390"></a>00390 <span class="keywordtype">void</span> unImplemented__ (); <a name="l00391"></a>00391 <span class="keywordtype">void</span> unImplemented_2_ (); <a name="l00392"></a>00392 <span class="keywordtype">void</span> unImplemented_3_ (); <a name="l00393"></a>00393 <span class="keywordtype">void</span> unImplemented_4_ (); <a name="l00394"></a>00394 <span class="keywordtype">void</span> unImplemented_5_ (); <a name="l00395"></a>00395 <span class="keywordtype">void</span> unImplemented_6_ (); <a name="l00397"></a>00397 }; <a name="l00398"></a>00398 <a name="l00403"></a>00403 interface DeviceEventController : Bonobo::Unknown { <a name="l00404"></a>00404 <a name="l00429"></a>00429 <span class="keywordtype">boolean</span> registerKeystrokeListener (in DeviceEventListener listener, <a name="l00430"></a>00430 in KeySet keys, <a name="l00431"></a>00431 in ControllerEventMask mask, <a name="l00432"></a>00432 in KeyEventTypeSeq type, <a name="l00433"></a>00433 in EventListenerMode mode); <a name="l00434"></a>00434 <a name="l00442"></a>00442 <span class="keywordtype">void</span> deregisterKeystrokeListener (in DeviceEventListener listener, <a name="l00443"></a>00443 in KeySet keys, <a name="l00444"></a>00444 in ControllerEventMask mask, <a name="l00445"></a>00445 in KeyEventTypeSeq type); <a name="l00446"></a>00446 <a name="l00455"></a>00455 <span class="keywordtype">boolean</span> registerDeviceEventListener (in DeviceEventListener listener, <a name="l00456"></a>00456 in EventTypeSeq typeseq); <a name="l00457"></a>00457 <a name="l00464"></a>00464 <span class="keywordtype">void</span> deregisterDeviceEventListener (in DeviceEventListener listener, <a name="l00465"></a>00465 in EventTypeSeq typeseq); <a name="l00466"></a>00466 <a name="l00482"></a>00482 <span class="keywordtype">boolean</span> notifyListenersSync (in DeviceEvent event); <a name="l00483"></a>00483 <a name="l00495"></a>00495 oneway <span class="keywordtype">void</span> notifyListenersAsync (in DeviceEvent event); <a name="l00496"></a>00496 <a name="l00517"></a>00517 <span class="keywordtype">void</span> generateKeyboardEvent (in <span class="keywordtype">long</span> keycode, <a name="l00518"></a>00518 in <span class="keywordtype">string</span> keystring, <a name="l00519"></a>00519 in <a class="code" href="namespaceAccessibility.html#cb2f75b6730da6fb5dd39a441e6112d4">KeySynthType</a> type); <a name="l00520"></a>00520 <a name="l00527"></a>00527 <span class="keywordtype">void</span> generateMouseEvent (in <span class="keywordtype">long</span> x, in <span class="keywordtype">long</span> y, in <span class="keywordtype">string</span> eventName); <a name="l00528"></a>00528 <a name="l00534"></a>00534 <span class="keywordtype">void</span> unImplemented (); <a name="l00535"></a>00535 <span class="keywordtype">void</span> unImplemented2 (); <a name="l00536"></a>00536 <span class="keywordtype">void</span> unImplemented3 (); <a name="l00537"></a>00537 <span class="keywordtype">void</span> unImplemented4 (); <a name="l00539"></a>00539 }; <a name="l00540"></a>00540 }; <a name="l00541"></a>00541 <a name="l00542"></a>00542 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Tue Jul 10 10:46:52 2007 for at-spi-idl by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address> </body> </html>