Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

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 <Bonobo_Unknown.idl>
00024 #include <Accessibility_Event.idl>
00025 #include <Accessibility_Application.idl>
00026 #include <Accessibility_Desktop.idl>
00027 
00028 #ifndef _ACCESSIBILITY_REGISTRY_IDL_
00029 #define _ACCESSIBILITY_REGISTRY_IDL_
00030 
00031 module Accessibility {
00032 
00033   typedef sequence<Desktop> DesktopSeq;
00034 
00035   interface DeviceEventController;
00036 
00037   interface Registry : EventListener {
00038 
00046         oneway void registerApplication (in Application application);
00047 
00056         void deregisterApplication (in Application application);
00057 
00068         void registerGlobalEventListener (in EventListener listener,
00069                                           in string eventName);
00070 
00081         void deregisterGlobalEventListenerAll (in EventListener listener);
00092         void deregisterGlobalEventListener (in EventListener listener, 
00093                                             in string event_name);
00118         short getDesktopCount ();
00119 
00128         Desktop getDesktop (in short n);
00129 
00138         DesktopSeq getDesktopList ();
00139 
00145         DeviceEventController getDeviceEventController ();
00146 
00152         void unImplemented ();
00153         void unImplemented2 ();
00154         void unImplemented3 ();
00155         void unImplemented4 ();
00156         void unImplemented5 ();
00157         void unImplemented6 ();
00158     };
00159 
00160   /* Deprecated, DO NOT USE! */
00161   enum KeyEventType {
00162     KEY_PRESSED,
00163     KEY_RELEASED
00164   };
00165 
00166   enum EventType {
00167     KEY_PRESSED_EVENT,
00168     KEY_RELEASED_EVENT,
00169     BUTTON_PRESSED_EVENT,
00170     BUTTON_RELEASED_EVENT
00171   };
00172 
00173   enum KeySynthType {
00174     KEY_PRESS,
00175     KEY_RELEASE,
00176     KEY_PRESSRELEASE,
00177     KEY_SYM,
00178     KEY_STRING
00179   };
00180 
00181   enum ModifierType {
00182     MODIFIER_SHIFT,
00183     MODIFIER_SHIFTLOCK,
00184     MODIFIER_CONTROL,
00185     MODIFIER_ALT,
00186     MODIFIER_META,
00187     MODIFIER_META2,
00188     MODIFIER_META3,
00189     MODIFIER_NUMLOCK
00190   };
00191 
00192   struct EventListenerMode {
00193     boolean synchronous;
00194     boolean preemptive;
00195     boolean global;       
00196   };
00197 
00198   typedef unsigned long ControllerEventMask;
00199 
00200   struct DeviceEvent {
00201     EventType type; 
00202     long  id;
00203     short hw_code;
00204     unsigned short modifiers;
00205     unsigned long timestamp;
00206     string event_string;
00207     boolean is_text;
00208   };
00209 
00210   struct KeyDefinition {
00211     long keycode;
00212     long keysym;
00213     string keystring;
00214     long unused;
00215   };    
00216 
00217   typedef sequence< KeyDefinition > KeySet;
00218   typedef sequence< EventType > KeyEventTypeSeq;
00219   typedef sequence< EventType > EventTypeSeq;
00220 
00221   interface DeviceEventListener : Bonobo::Unknown {
00222         boolean notifyEvent (in DeviceEvent event);
00223         void    unImplemented__ ();
00224         void    unImplemented_2_ ();
00225         void    unImplemented_3_ ();
00226         void    unImplemented_4_ ();
00227         void    unImplemented_5_ ();
00228         void    unImplemented_6_ ();
00229   };
00230 
00231   interface DeviceEventController : Bonobo::Unknown {
00232 
00249         boolean registerKeystrokeListener (in DeviceEventListener listener,
00250                                         in KeySet keys,
00251                                         in ControllerEventMask mask,
00252                                         in KeyEventTypeSeq type,
00253                                         in EventListenerMode mode);
00254     
00267         void deregisterKeystrokeListener (in DeviceEventListener listener,
00268                                           in KeySet keys,
00269                                           in ControllerEventMask mask,
00270                                           in KeyEventTypeSeq type);
00271     
00283         boolean registerDeviceEventListener (in DeviceEventListener listener,
00284                                              in EventTypeSeq typeseq);
00285     
00297         void deregisterDeviceEventListener (in DeviceEventListener listener,
00298                                             in EventTypeSeq typeseq);
00299     
00300         boolean notifyListenersSync (in DeviceEvent event);
00301 
00302         oneway void notifyListenersAsync (in DeviceEvent event);
00303 
00328          void generateKeyboardEvent (in long keycode, 
00329                                      in string keystring, 
00330                                      in KeySynthType type);
00331 
00342          void generateMouseEvent (in long x, in long y, in string eventName);
00343 
00349          void unImplemented ();
00350          void unImplemented2 ();
00351          void unImplemented3 ();
00352          void unImplemented4 ();
00353     }; 
00354 };
00355 
00356 #endif

Generated on Fri Jan 28 19:24:06 2005 for AT_SPI_IDL by doxygen 1.3.5