/* 
 * AT-SPI - Assistive Technology Service Provider Interface 
 * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
 *
 * Copyright 2001-2005 Ximian, Inc. and 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_IDL_
#define _ACCESSIBILITY_IDL_

#ifndef  __ACCESSIBILITY_COMPILATION__
#ifdef   __ORBIT_IDL__
%{
#pragma include_defs Accessibility.h
%}
#pragma inhibit push
#endif
#endif

#ifndef _BONOBO_IDL_INCLUDED_
#define _BONOBO_IDL_INCLUDED_
#include <Bonobo_Unknown.idl>
#endif /* _BONOBO_IDL_INCLUDED_ */

/*!\mainpage AT-SPI Interfaces and Subinterfaces
 *
 * This is the main documentation page for the 
 * Assistive Technology Service Provider Interface (AT-SPI). 
 * 
 * \section apps Applications and Interface Components
 * Namespace Accessibility includes service APIs implemented by
 * participating applications and their user interface components:\n\n
 * Accessibility::Accessible\n 
 * Accessibility::Action\n
 * Accessibility::Application\n
 * Accessibility::Collection\n
 * Accessibility::Component\n
 * Accessibility::Desktop\n
 * Accessibility::Document\n
 * Accessibility::EditableText\n
 * Accessibility::Hypertext\n
 * Accessibility::Image\n
 * Accessibility::Selection\n
 * Accessibility::StreamableContent\n
 * Accessibility::Table\n
 * Accessibility::Text\n
 * Accessibility::Value
 *
 * \section types Enumerated Types
 * Accessibility defines a number of key enumerated types, including:\n\n
 * Accessibility::RelationType\n
 * Accessibility::Role\n
 * Accessibility::StateType\n
 * Accessibility::Event\n
 * Accessibility::EventDetails \n
 *
 * \section Registry
 * Accessibility also includes Accessibility::Registry,
 * which is the service used by assistive technologies and related
 * AT-SPI clients to register interest in certain classes of events,
 * enumerate the currently available desktop and application list,
 * and to synthesize certain kinds of device events.
 *
 * \section listeners Event Listener Interfaces
 * Accessibility::EventListener\n
 * Accessibility::DeviceEventListener
 *
 * \section helpers Helper Interfaces
 *
 * The following interfaces may be implemented by assistive technologies 
 * themselves, in order to export their services in a consistent manner or
 * in order to interoperate with other applications or desktop services.\n
 *
 * Accessibility::LoginHelper : Implemented by adaptive technologies which 
 * need to participate in user-authentication or login activities, and which
 * therefore may need negotiation with authentication agents or processes.\n
 *
 * Accessibility::Selector [NEW]: Implemented by user agents or assistive 
 * technologies which export lists of choices from which the end-user is 
 * expected to make selections.  Useful for various types of remote
 * activation or intercommunication between multiple ATs.
 **/

#include <Bonobo_Unknown.idl>

/*
 * Accessibility interfaces and subinterfaces
 */
#include <Accessibility_Accessible.idl>
#include <Accessibility_Action.idl>
#include <Accessibility_Collection.idl>
#include <Accessibility_Component.idl>
#include <Accessibility_Document.idl>
#include <Accessibility_Hyperlink.idl>
#include <Accessibility_Image.idl>
#include <Accessibility_Selection.idl>
#include <Accessibility_StreamableContent.idl>
#include <Accessibility_Table.idl>
#include <Accessibility_Text.idl>
#include <Accessibility_Value.idl>

/*
 * Interfaces derived from Accessibility::Text
 */

#include <Accessibility_EditableText.idl>
#include <Accessibility_Hypertext.idl>

/*
 * Utility interfaces and interfaces derived from Accessibility::Accessible
 */

#include <Accessibility_Relation.idl>
#include <Accessibility_State.idl>
#include <Accessibility_Application.idl>
#include <Accessibility_Desktop.idl>
#include <Accessibility_Event.idl>
#include <Accessibility_Registry.idl>
#include <Accessibility_Role.idl>
#include <Accessibility_LoginHelper.idl>
#include <Accessibility_Selector.idl>

#ifndef __ACCESSIBILITY_COMPILATION__
#ifdef  __ORBIT_IDL__
#pragma inhibit pop
#endif
#endif

#endif
