Added support for atk object:bounds-changed signals (bug #135253).
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Application.idl
1 /* 
2  * AT-SPI - Assistive Technology Service Provider Interface 
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2001 Sun Microsystems Inc.
6  *
7  * 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.
11  *
12  * 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.
16  *
17  * 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.
21  */
22
23 #ifndef __ACCESSIBILITY_APPLICATION_DEFINED__
24 #define __ACCESSIBILITY_APPLICATION_DEFINED__
25
26 #include <Bonobo_Unknown.idl>
27 #include <Accessibility_Accessible.idl>
28
29 module Accessibility {
30
31   enum LOCALE_TYPE {
32       LOCALE_TYPE_MESSAGES,
33       LOCALE_TYPE_COLLATE,
34       LOCALE_TYPE_CTYPE,
35       LOCALE_TYPE_MONETARY,
36       LOCALE_TYPE_NUMERIC,
37       LOCALE_TYPE_TIME
38   };
39
40   interface Application : Accessible {
41
42     /**
43      * @toolkitName:
44      * A string indicating the type of user interface toolkit
45      * which is used by the application.
46      * Ordinarily clients of @AccessibleApplication should be
47      * toolkit-agnostic, dependencies on this method probably
48      * should be reconsidered!
49      **/
50     readonly attribute string toolkitName;
51
52     /**
53      * @version:
54      * A string indicating the version number of the application's
55      * accessibility bridge implementation.
56      **/
57     readonly attribute string version;
58
59     /**
60      * @id:
61      * The application instance's unique ID as assigned by the registry.
62      **/
63     attribute long id;
64
65     /**
66      * registerToolkitEventListener:
67      * @listener: an #EventListener object which will receive the requested
68      *            events from the application's toolkits via toolit 'bridges'
69      * @eventName: a UTF-8 string indicating the type of (toolkit-specific) event
70      *            being requested.  Not all applications can generate toolkit events of
71      *            a given type.
72      *
73      * Register with this application's toolkit for "toolkit-specific" event notifications.
74      *       For most event support, clients should use non-toolkit-specific events
75      *       whenever possible, via #Registry::registerGlobalEventListener - this method 
76      *       is provided as a 'back door' when generic names do not exist for the events in question.
77      * SUBJECT TO DEPRECATION in favor of Registry::registerGlobalEventListener forms.
78      *
79      **/
80     void registerToolkitEventListener (in EventListener listener, in string eventName);
81
82     /**
83      * registerObjectEventListener:
84      * @listener: an #EventListener object which will receive the requested
85      *            events
86      * @eventName: a UTF-8 string indicating the type of (toolkit-specific) event
87      *            being requested.  
88      * Register with this application toolkit for "Accessibility::Accessible" 
89      * event notifications. SUBJECT TO DEPRECATION
90      *
91      **/
92     void registerObjectEventListener (in EventListener listener, in string eventName);
93
94     /**
95      * pause:
96      *
97      * Request that the application temporarily stop sending events.
98      * In most cases this should pause the application's main event loop.
99      *
100      * Returns: %true if the request succeeded, %false otherwise.
101      **/
102     boolean       pause ();
103
104     /**
105      * resume:
106      *
107      * Request that the application resume sending events.
108      *
109      * Returns: %true if the request succeeded, %false otherwise.
110      **/
111     boolean       resume ();
112
113      /**
114      * getLocale:
115      *
116      * @lctype: the LocaleType for which the locale is queried.
117      * Gets the locale in which the application is currently operating.
118      * For the current message locale, use @lctype LOCALE_TYPE_MESSAGES.
119      *
120      * Returns: a string compliant with the POSIX standard for locale description.
121      **/
122     string       getLocale (in LOCALE_TYPE lctype);
123
124     void          unImplemented_ ();
125     void          unImplemented2_ ();
126     void          unImplemented3_ ();
127   };
128 };
129
130 #endif