import "Accessibility_LoginHelper.idl";
Public Types | |
typedef sequence< WindowInfo > | WindowList |
typedef sequence< DeviceReq > | DeviceReqList |
enum | DeviceReq { GUI_EVENTS, CORE_KEYBOARD, CORE_POINTER, EXT_INPUT, POST_WINDOWS, AUDIO_OUT, AUDIO_IN, NETWORK, LOCALHOST, SERIAL_OUT, SERIAL_IN } |
Public Methods | |
boolean | setSafe (in boolean safe_mode) |
DeviceReqList | getDeviceReqs () |
WindowList | getRaiseWindows () |
void | unImplemented () |
void | unImplemented2 () |
void | unImplemented3 () |
void | unImplemented4 () |
This interface is intended for use by assistive technologies and related user-enabling services, and by applications and utilities which may wish to restrict access to certain system devices and services during security-sensitive states, e.g. when the screen is locked or during authentication into some secure service.
Such 'applications' (for instance, screen lock dialogs and security-enabled web browsers) use the LoginHelper client interfaces, and the bonobo-activation query service, to query for assistive technologies which advertise the LoginHelper service. The client then queries these assistive technologies for their device I/O requirements, via the getDeviceReqs call. The client may then issue the advisory request setSafe (TRUE), which requests that the LoginHelper -implementing service make a best-effort attempt to make itself more secure (for instance, an onscreen keyboard might turn off word prediction, and a screenreader may turn off keyboard echo via speech). The return value of setSafe is an advisory indication of whether this attempt was successful (no specific guarantees are implied). Once the 'security sensitive' state is exited, the client should call setSafe (FALSE).
The return values from getDeviceReqs inform the client of which services the LoginHelper service (e. g. assistive technology) needs in order to do its job. The client may use this information to loosen any restrictions on access which it may currently have in place (for instance, keyboard grabs, etc.). If it does not do so, the likely outcome is that the end-user will experience loss of access to the system.
|
|
|
|
|
|
getDeviceReqs: Query a LoginHelper for the types of device I/O it requires, in order to do its job. For instance, a LoginHelper which needs to receive keyboard events will include Accessibility_LoginHelper_CORE_KEYBOARD in this list. @returns: A sequence of LoginHelper_DeviceReq indicating the device I/O required in order to facilitate end-user access to the system. |
|
getRaiseWindows: Get a list of window IDs that need raising on login. @returns: a sequence containing window IDS for toplevels which need to be raised/made visible during user authentication, in order for the LoginHelper to facilitate end-user access to the system. |
|
setSafe:
TRUE , but the return value is FALSE , the requesting client may wish to deny services to the LoginHelper, for instance avoid raising its toplevels. The return value is purely advisory, and no guarantees are intended about what the implementing LoginHelper will do to improve security when in "safe" mode.
@returns: whether the LoginHelper is now "safe" or not. |
|
\cond unImplemented: placeholders for future expansion. |
|
|
|
|
|
|