2 * AT-SPI - Assistive Technology Service Provider Interface
3 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
5 * Copyright 2001 Sun Microsystems Inc.
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.
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.
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.
23 #include <Bonobo_Unknown.idl>
25 #ifndef _ACCESSIBILITY_LOGIN_HELPER_IDL_
26 #define _ACCESSIBILITY_LOGIN_HELPER_IDL_
28 module Accessibility {
30 interface LoginHelper : Bonobo::Unknown {
34 * A structure containing info about toplevel X windows that
35 * the @LoginHelper instance wishes to have raised.
37 * @winID: The windowing-system-dependeny Window ID of the toplevel window.
43 typedef sequence<WindowInfo> WindowList;
47 * @Accessibility_LoginHelper_GUI_EVENTS: Needs access to the GUI event subsystem (e.g. Xserver).
48 * @Accessibility_LoginHelper_CORE_KEYBOARD Needs access to the system keyboard events (read and write).
49 * @Accessibility_LoginHelper_CORE_POINTER: Needs access to the onscreen pointer (e.g. mouse pointer).
50 * @Accessibility_LoginHelper_EXT_INPUT: Reads XInput extended input devices.
51 * @Accessibility_LoginHelper_POST_WINDOWS: Posts Windows, and needs for toplevel windows to be visible
52 * @Accessibility_LoginHelper_AUDIO_OUT: Writes to audio device.
53 * @Accessibility_LoginHelper_AUDIO_IN: Reads from audio device.
54 * @Accessibility_LoginHelper_NETWORK: Requires access to general network services, including remote access.
55 * @Accessibility_LoginHelper_LOCALHOST: Requires network services hosted on LOCALHOST only.
56 * @Accessibility_LoginHelper_SERIAL_OUT: Writes to a serial port.
57 * @Accessibility_LoginHelper_SERIAL_IN: Reads from a serial port.
59 * The system and device access and services which the @LoginHelper-implementing
60 * assistive technology requires in order to enable the user to use the system.
77 typedef sequence<DeviceReq> DeviceReqList;
82 * Request a LoginHelper to enter "safe" mode, or
83 * inform LoginHelper that "safe" mode may be exited.
84 * If @safe_mode is %TRUE, but the return value is %FALSE,
85 * the requesting client may wish to deny services to the
86 * %LoginHelper, for instance avoid raising its toplevels.
87 * The return value is purely advisory, and no guarantees are
88 * intended about what the implementing LoginHelper will do
89 * to improve security when in "safe" mode.
91 * Returns: whether the %LoginHelper is now "safe" or not.
93 boolean setSafe (in boolean safe_mode);
98 * Query a @LoginHelper for the types of
99 * device I/O it requires, in order to do its job.
100 * For instance, a @LoginHelper which needs to receive keyboard
101 * events will include
102 * Accessibility_LoginHelper_CORE_KEYBOARD in this list.
104 * Returns: A sequence of @LoginHelper_DeviceFlags indicating
105 * the device I/O required in order to facilitate end-user access
108 DeviceReqList getDeviceReqs ();
113 * Get a list of window IDs that need raising on login.
115 * Returns: a sequence containing window IDS for toplevels which
116 * need to be raised/made visible during user authentication, in
117 * order for the @LoginHelper to facilitate end-user access to the
120 WindowList getRaiseWindows ();
125 * placeholders for future expansion.
127 void unImplemented ();
128 void unImplemented2 ();
129 void unImplemented3 ();
130 void unImplemented4 ();