home *** CD-ROM | disk | FTP | other *** search
- /*
- * 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
-