2009-06-11 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Document.idl
1 /* 
2  * AT-SPI - Assistive Technology Service Provider Interface 
3  * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4  *
5  * Copyright 2005 Sun Microsystems Inc.
6  *
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.
11  *
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.
16  *
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.
21  */
22
23 #ifndef __ACCESSIBILITY_DOCUMENT_DEFINED__
24 #define __ACCESSIBILITY_DOCUMENT_DEFINED__
25
26 module Accessibility {
27
28     /**
29      * Primarily a 'tagging' interface which indicates the start of 
30      * document content in the Accessibility hierarchy.  
31      * Accessible objects below the node implementing
32      * Document are normally assumed to be part of the document content.
33      * Attributes of Document are those attributes associated with the document 
34      * as a whole.  Objects that implement Document are normally expected to
35      * implement Collection as well.
36      *
37      * \see Accessibility::Collection
38      */
39   interface Document : Bonobo::Unknown {
40
41      /**
42      * Gets the locale associated with the document's content.
43      * e.g. the locale for LOCALE_TYPE_MESSAGES.
44      *
45      * @returns a string compliant with the POSIX standard for locale description.
46      **/
47     string       getLocale ();
48
49       /**
50        * Gets the value of a single attribute, if specified for the document as a whole.
51        *
52        * @param attributename: a string indicating the name of a specific attribute 
53        * (name-value pair) being queried.
54        * 
55        * @returns a string corresponding to the value of the specified attribute, or
56        * an empty string if the attribute is unspecified for the object.
57        **/
58     string       getAttributeValue (in string attributename);
59
60       /**
61        * Gets all attributes specified for a document as a whole.  
62        * For attributes which change within 
63        * the document content, see Accessibility::Text::getAttributes instead.
64        * 
65        * @returns an ::AttributeSet containing the attributes of the document, 
66        * as name-value pairs.
67        *
68        * @since AT-SPI 1.8.0
69        **/
70     AttributeSet  getAttributes ();
71
72     /**\cond **/
73     void          unImplemented_ ();
74     void          unImplemented2_ ();
75     void          unImplemented3_ ();
76     void          unImplemented4_ ();
77     /**\endcond **/
78   };
79 };
80
81 #endif