Main Page | Namespace List | Class Hierarchy | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

Accessibility_Registry.idl

Go to the documentation of this file.
00001 /* 
00002  * AT-SPI - Assistive Technology Service Provider Interface 
00003  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
00004  *
00005  * Copyright 2001 Sun Microsystems Inc.
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public
00018  * License along with this library; if not, write to the
00019  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
00021  */
00022 
00023 #include <Accessibility_Event.idl>
00024 #include <Accessibility_Application.idl>
00025 #include <Accessibility_Desktop.idl>
00026 
00027 #ifndef _ACCESSIBILITY_REGISTRY_IDL_
00028 #define _ACCESSIBILITY_REGISTRY_IDL_
00029 
00030 module Accessibility {
00031 
00032   typedef sequence<Desktop> DesktopSeq;
00033 
00034   interface DeviceEventController;
00035 
00073   interface Registry : EventListener {
00074 
00079         oneway void registerApplication (in Application application);
00080 
00087         void deregisterApplication (in Application application);
00088 
00096         void registerGlobalEventListener (in EventListener listener,
00097                                           in string eventName);
00098 
00107         void deregisterGlobalEventListenerAll (in EventListener listener);
00108 
00118         void deregisterGlobalEventListener (in EventListener listener, 
00119                                             in string eventName);
00144         short getDesktopCount ();
00145 
00154         Desktop getDesktop (in short n);
00155 
00162         DesktopSeq getDesktopList ();
00163 
00169         DeviceEventController getDeviceEventController ();
00170 
00176         void unImplemented ();
00177         void unImplemented2 ();
00178         void unImplemented3 ();
00179         void unImplemented4 ();
00180         void unImplemented5 ();
00181         void unImplemented6 ();
00183     };
00184 
00186   enum KeyEventType {
00187     KEY_PRESSED,
00188     KEY_RELEASED
00189   };
00190 
00195   enum EventType {
00196       KEY_PRESSED_EVENT, 
00197       KEY_RELEASED_EVENT, 
00198       BUTTON_PRESSED_EVENT,
00200       BUTTON_RELEASED_EVENT 
00202   };
00203 
00205   enum KeySynthType {
00206     KEY_PRESS,
00207     KEY_RELEASE,
00208     KEY_PRESSRELEASE,
00209     KEY_SYM,
00220     KEY_STRING 
00226   };
00227 
00228   enum ModifierType {
00229     MODIFIER_SHIFT, 
00230     MODIFIER_SHIFTLOCK, 
00231     MODIFIER_CONTROL,
00232     MODIFIER_ALT,
00233     MODIFIER_META,
00241     MODIFIER_META2,
00242     MODIFIER_META3,
00243     MODIFIER_NUMLOCK
00246   };
00247 
00252   struct EventListenerMode {
00253     boolean synchronous; 
00262     boolean preemptive; 
00269     boolean global; 
00279   };
00280 
00290   typedef unsigned long ControllerEventMask;
00291 
00293   struct DeviceEvent {
00294     EventType type; 
00295     long  id; 
00298     short hw_code; 
00311     unsigned short modifiers; 
00321     unsigned long timestamp; 
00327     string event_string; 
00333     boolean is_text; 
00338   };
00339 
00367   struct KeyDefinition {
00368     long keycode;
00369     long keysym;
00370     string keystring;
00371     long unused;
00372   };    
00373 
00374   typedef sequence< KeyDefinition > KeySet;
00375   typedef sequence< EventType > KeyEventTypeSeq;
00376   typedef sequence< EventType > EventTypeSeq;
00377 
00382   interface DeviceEventListener : Bonobo::Unknown {
00388         boolean notifyEvent (in DeviceEvent event);
00390         void    unImplemented__ ();
00391         void    unImplemented_2_ ();
00392         void    unImplemented_3_ ();
00393         void    unImplemented_4_ ();
00394         void    unImplemented_5_ ();
00395         void    unImplemented_6_ ();
00397   };
00398 
00403   interface DeviceEventController : Bonobo::Unknown {
00404 
00429         boolean registerKeystrokeListener (in DeviceEventListener listener,
00430                                         in KeySet keys,
00431                                         in ControllerEventMask mask,
00432                                         in KeyEventTypeSeq type,
00433                                         in EventListenerMode mode);
00434     
00442         void deregisterKeystrokeListener (in DeviceEventListener listener,
00443                                           in KeySet keys,
00444                                           in ControllerEventMask mask,
00445                                           in KeyEventTypeSeq type);
00446     
00455         boolean registerDeviceEventListener (in DeviceEventListener listener,
00456                                              in EventTypeSeq typeseq);
00457     
00464         void deregisterDeviceEventListener (in DeviceEventListener listener,
00465                                             in EventTypeSeq typeseq);
00466     
00482         boolean notifyListenersSync (in DeviceEvent event);
00483 
00495         oneway void notifyListenersAsync (in DeviceEvent event);
00496 
00517          void generateKeyboardEvent (in long keycode, 
00518                                      in string keystring, 
00519                                      in KeySynthType type);
00520 
00527          void generateMouseEvent (in long x, in long y, in string eventName);
00528 
00534          void unImplemented ();
00535          void unImplemented2 ();
00536          void unImplemented3 ();
00537          void unImplemented4 ();
00539     }; 
00540 };
00541 
00542 #endif

Generated on Tue Jul 18 16:56:15 2006 for at-spi-idl by  doxygen 1.4.3