X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=idl%2FAccessibility_Registry.idl;h=3d9d21294700ccba03c5fcae2e0fa260976694b4;hb=09b09daa2b88f6b54895ee49f59cd060b14a5acf;hp=09b89571b771caa49f4ed650c214a7d78649d22e;hpb=ee75de39f4e8247f694b328163fc974ba791305f;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/idl/Accessibility_Registry.idl b/idl/Accessibility_Registry.idl index 09b8957..3d9d212 100644 --- a/idl/Accessibility_Registry.idl +++ b/idl/Accessibility_Registry.idl @@ -20,10 +20,10 @@ * Boston, MA 02111-1307, USA. */ -#include -#include -#include -#include +#include +#include +#include +#include #ifndef _ACCESSIBILITY_REGISTRY_IDL_ #define _ACCESSIBILITY_REGISTRY_IDL_ @@ -39,7 +39,6 @@ module Accessibility { /** * registerApplication: * @application: a reference to the requesting @Application - * return values: void * * Register a new application with the accessibility broker. * @@ -50,8 +49,7 @@ module Accessibility { * deregisterApplication: * @application: a reference to the @Application * to be deregistered. - * return values: void - * + * * De-register an application previously registered with the broker. * **/ @@ -62,27 +60,37 @@ module Accessibility { * @listener: a reference to the requesting @EventListener. * @eventName: a string which indicates the type of events about * which the client desires notification. - * return values: void * * Register a client's interest in (all) application events of * a certain type. * **/ void registerGlobalEventListener (in EventListener listener, - in string eventName); + in string eventName); + + /** + * deregisterGlobalEventListener: + * @listener: the requesting @EventListener + * @eventName: a string indicating the type of events + * + * Request that a previously registered client stop receiving + * global notifications for events of a certain type. + * + **/ + void deregisterGlobalEventListenerAll (in EventListener listener); /** * deregisterGlobalEventListener: * @listener: the requesting @EventListener * @eventName: a string indicating the type of events - * return values: void * * Request that a previously registered client stop receiving * global notifications for events of a certain type. * **/ - void deregisterGlobalEventListener (in EventListener listener); + void deregisterGlobalEventListener (in EventListener listener, + in string event_name); /** * event types: "Window" "Desktop" * "Window:Create" "Window:Destroy" @@ -102,41 +110,47 @@ module Accessibility { /** * getDesktopCount: - * return values: a short integer indicating the current number of - * @Desktops. * * Get the current number of desktops. - * + * Returns: a short integer indicating the current number of + * @Desktops. **/ short getDesktopCount (); /** * getDesktop: * @n: the index of the requested @Desktop. - * return values: a reference to the requested @Desktop. * * Get the nth accessible desktop. * + * Returns: a reference to the requested @Desktop. **/ Desktop getDesktop (in short n); /** * getDesktopList: - * return values: a sequence containing references to - * the @Desktops. * * Get a list of accessible desktops. * + * Returns: a sequence containing references to + * the @Desktops. **/ DesktopSeq getDesktopList (); /** * getDeviceEventController: - * return values: an object implementing DeviceEventController * + * Returns: an object implementing DeviceEventController **/ DeviceEventController getDeviceEventController (); + /** + * unImplemented: + * + * placeholders for future expansion. + */ + void unImplemented (); + void unImplemented2 (); }; enum KeyEventType { @@ -144,49 +158,127 @@ module Accessibility { KEY_RELEASED }; + enum EventType { + KEY_PRESSED_EVENT, + KEY_RELEASED_EVENT + }; + + enum KeySynthType { + KEY_PRESS, + KEY_RELEASE, + KEY_PRESSRELEASE, + KEY_SYM, + KEY_STRING + }; + enum ModifierType { + MODIFIER_SHIFT, MODIFIER_ALT, - MODIFIER_META, MODIFIER_CONTROL, - MODIFIER_SHIFT, + MODIFIER_META, MODIFIER_META2, - MODIFIER_META3 + MODIFIER_META3, + MODIFIER_SHIFTLOCK, + MODIFIER_NUMLOCK + }; + + struct EventListenerMode { + boolean synchronous; + boolean preemptive; + boolean global; }; - typedef sequence ModifierSeq; + typedef unsigned long ControllerEventMask; - struct KeyStroke { - long keyID; - KeyEventType type; - ModifierSeq modifiers; + struct DeviceEvent { + EventType type; + long id; + short hw_code; + unsigned short modifiers; + unsigned long timestamp; + string event_string; + boolean is_text; }; - interface KeystrokeListener { - boolean keyEvent (in KeyStroke key); + typedef sequence< long > KeySet; + typedef sequence< KeyEventType > KeyEventTypeSeq; + + interface DeviceEventListener : Bonobo::Unknown { + boolean notifyEvent (in DeviceEvent event); }; - interface DeviceEventController { + interface DeviceEventController : Bonobo::Unknown { /** * registerKeystrokeListener: - * @listener: a @KeystrokeListener which will intercept key events. + * @listener: a @DeviceEventListener which will intercept key events. + * @keys: a @KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS. + * @mask: a @ControllerEventMask filtering the intercepted key events. + * @type: an @EventType mask that may created by ORing event types together. + * @is_synchronous: a @boolean indicating whether the listener should + * receive the events synchronously, potentially consuming them, + * or just be notified asynchronously of those events that have + * been generated. * Returns: void * * Register to intercept keyboard events, and either pass them on or * consume them. * **/ - void registerKeystrokeListener (in KeystrokeListener listener); + void registerKeystrokeListener (in DeviceEventListener listener, + in KeySet keys, + in ControllerEventMask mask, + in KeyEventTypeSeq type, + in EventListenerMode mode); + /** + * deregisterKeystrokeListener: + * @listener: a @DeviceEventListener which will intercept key events. + * @keys: a @KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS. + * @mask: a @ControllerEventMask filtering the intercepted key events. + * @type: an @EventType mask that may created by ORing event types together. + * + * Returns: void + * + * De-register a previously registered keyboard eventlistener. + * + **/ + void deregisterKeystrokeListener (in DeviceEventListener listener, + in KeySet keys, + in ControllerEventMask mask, + in KeyEventTypeSeq type); + + boolean notifyListenersSync (in DeviceEvent event); + + oneway void notifyListenersAsync (in DeviceEvent event); + /** - * generateKeyEvent: - * @keyEventID: a long integer indicating which keypress is synthesized. + * generateKeyboardEvent: + * @keycode: a long integer indicating the keycode of + * the keypress to be synthesized. + * @keystring: an optional UTF-8 string indicating a complex + * keyboard input event. + * @type: a #KeySynthType indicating the type of event(s) to be + * synthesized: a key press, release, press-release pair, + * or a complex input string (for instance from an + * internationalized or complex text input method, or + * a composed character). + * + * Note that @keycode may be truncated before being + * processed, as keycode length may be platform-dependent + * and keycode ranges are generally much smaller than + * CORBA_long. + * One or the other of @keycode or @keystring are generally NULL, + * (but not both), depending on the value of @type. + * * Returns: void * - * Synthesize a keypress event. + * Synthesize a keyboard event. * **/ - void generateKeyEvent (in long keyEventID); + void generateKeyboardEvent (in long keycode, + in string keystring, + in KeySynthType type); /** * generateMouseEvent: @@ -199,6 +291,14 @@ module Accessibility { * **/ void generateMouseEvent (in long x, in long y, in string eventName); + + /** + * unImplemented: + * + * placeholders for future expansion. + */ + void unImplemented (); + void unImplemented2 (); }; };