1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
/*
* AT-SPI - Assistive Technology Service Provider Interface
* (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
*
* Copyright 2001-2004 Sun Microsystems Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __ACCESSIBILITY_APPLICATION_DEFINED__
#define __ACCESSIBILITY_APPLICATION_DEFINED__
#include <Accessibility_Accessible.idl>
module Accessibility {
/**
* An interface identifying an object which is the root of the
* user interface Accessible hierarchy associated with a running application.
* Children of Application are typically, but not exclusively,
* top-level windows.
* @note It is possible for an element deeper in an Accessibility stack to
* implement Application, for instance in the case of "embedded applications"
* which draw into toplevel windows associated with other applications
* from the user's point of view.
*/
interface Application : Accessible {
/**
* A string indicating the type of user interface toolkit
* which is used by the application.
* @note Ordinarily clients of ::Application should be
* toolkit-agnostic, dependencies on this property should
* be avoided where possible.
**/
readonly attribute string toolkitName;
/**
* A string indicating the version number of the application's
* accessibility bridge implementation.
**/
readonly attribute string version;
/**
* The application instance's unique ID as assigned by the registry.
**/
attribute long id;
/**
* @param listener: an ::EventListener object which will receive the requested
* events from the application's toolkits via toolit 'bridges'
* @param eventName: a UTF-8 string indicating the type of (toolkit-specific) event
* being requested. Not all applications can generate toolkit events of
* a given type.
*
* Register with this application's toolkit for "toolkit-specific" event notifications.
* @note
* For most event support, clients should use non-toolkit-specific events
* whenever possible, via ::Registry::registerGlobalEventListener - this method
* is provided as a 'back door' when generic names do not exist for the events in
* question.
**/
void registerToolkitEventListener (in EventListener listener, in string eventName);
/**
* registerObjectEventListener:
* @param listener: an ::EventListener object which will receive the requested
* events
* @param eventName: a UTF-8 string indicating the type of (toolkit-specific) event
* being requested.
* Register with this application toolkit for "Accessibility::Accessible"
* event notifications.
* @note: SUBJECT TO DEPRECATION.
**/
void registerObjectEventListener (in EventListener listener, in string eventName);
/**
* Request that the application temporarily stop sending events.
* In most cases this should pause the application's main event loop.
*
* @returns: \c true if the request succeeded, \c false otherwise.
*
* @note: This method is not implemented in most toolkits, and therefore should be treated with caution.
**/
boolean pause ();
/**
* Request that the application resume sending events.
*
* @returns: \c True if the request succeeded, \c False otherwise.
**/
boolean resume ();
/**
* Gets the locale in which the application is currently operating.
* For the current message locale, use \a lctype LOCALE_TYPE_MESSAGES.
*
* @param lctype The LocaleType for which the locale is queried.
* @returns a string compliant with the POSIX standard for locale description.
**/
string getLocale (in LOCALE_TYPE lctype);
/**\cond (This comment tells doxygen not to document these) */
void unImplemented_ ();
void unImplemented2_ ();
void unImplemented3_ ();
/**\endcond */
};
};
#endif
|