Add navigation helper functions for screen-reader and friends
[platform/upstream/at-spi2-core.git] / atspi / atspi-accessible.h
index bbee0ce..82b779e 100644 (file)
@@ -5,7 +5,7 @@
  * Copyright 2002 Ximian, Inc.
  *           2002 Sun Microsystems Inc.
  * Copyright 2010, 2011 Novell, Inc.
- *           
+ *
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -26,6 +26,8 @@
 #ifndef _ATSPI_ACCESSIBLE_H_
 #define _ATSPI_ACCESSIBLE_H_
 
+G_BEGIN_DECLS
+
 #include "glib-object.h"
 
 #include "atspi-application.h"
@@ -41,6 +43,8 @@
 #define ATSPI_IS_ACCESSIBLE_CLASS(klass)             (G_TYPE_CHECK_CLASS_TYPE ((klass), ATSPI_TYPE_ACCESSIBLE))
 #define ATSPI_ACCESSIBLE_GET_CLASS(obj)              (G_TYPE_INSTANCE_GET_CLASS ((obj), ATSPI_TYPE_ACCESSIBLE, AtspiAccessibleClass))
 
+typedef struct _AtspiAccessiblePrivate AtspiAccessiblePrivate;
+
 struct _AtspiAccessible
 {
   AtspiObject parent;
@@ -53,6 +57,7 @@ struct _AtspiAccessible
   AtspiStateSet *states;
   GHashTable *attributes;
   guint cached_properties;
+  AtspiAccessiblePrivate *priv;
 };
 
 typedef struct _AtspiAccessibleClass AtspiAccessibleClass;
@@ -61,15 +66,23 @@ struct _AtspiAccessibleClass
   AtspiObjectClass parent_class;
 };
 
-GType atspi_accessible_get_type (void); 
+GType atspi_accessible_get_type (void);
 
 AtspiAccessible *
-atspi_accessible_new (AtspiApplication *app, const gchar *path);
+_atspi_accessible_new (AtspiApplication *app, const gchar *path);
 
 gchar * atspi_accessible_get_name (AtspiAccessible *obj, GError **error);
 
 gchar * atspi_accessible_get_description (AtspiAccessible *obj, GError **error);
 
+gchar * atspi_accessible_get_path (AtspiAccessible *obj, GError **error);
+
+gchar * atspi_accessible_get_bus_name (AtspiAccessible *obj, GError **error);
+
+gchar * atspi_accessible_get_unique_id (AtspiAccessible *obj, GError **error);
+
+AtspiAccessible *atspi_accessible_get_navigable_at_point (AtspiAccessible *root, gint x, gint y, AtspiCoordType ctype, GError **error);
+
 AtspiAccessible * atspi_accessible_get_parent (AtspiAccessible *obj, GError **error);
 
 gint atspi_accessible_get_child_count (AtspiAccessible *obj, GError **error);
@@ -102,6 +115,7 @@ gint atspi_accessible_get_id (AtspiAccessible *obj, GError **error);
 
 AtspiAccessible * atspi_accessible_get_application (AtspiAccessible *obj, GError **error);
 
+#ifndef ATSPI_DISABLE_DEPRECATED
 AtspiAction * atspi_accessible_get_action (AtspiAccessible *obj);
 
 AtspiCollection * atspi_accessible_get_collection (AtspiAccessible *obj);
@@ -122,18 +136,50 @@ AtspiSelection * atspi_accessible_get_selection (AtspiAccessible *obj);
 
 AtspiTable * atspi_accessible_get_table (AtspiAccessible *obj);
 
+AtspiTableCell * atspi_accessible_get_table_cell (AtspiAccessible *obj);
+
 AtspiText * atspi_accessible_get_text (AtspiAccessible *obj);
 
 AtspiValue * atspi_accessible_get_value (AtspiAccessible *obj);
+#endif
+
+AtspiAction * atspi_accessible_get_action_iface (AtspiAccessible *obj);
+
+AtspiCollection * atspi_accessible_get_collection_iface (AtspiAccessible *obj);
+
+AtspiComponent * atspi_accessible_get_component_iface (AtspiAccessible *obj);
+
+AtspiDocument * atspi_accessible_get_document_iface (AtspiAccessible *obj);
+
+AtspiEditableText * atspi_accessible_get_editable_text_iface (AtspiAccessible *obj);
+
+AtspiHypertext * atspi_accessible_get_hypertext_iface (AtspiAccessible *obj);
+
+AtspiImage * atspi_accessible_get_image_iface (AtspiAccessible *obj);
+
+AtspiSelection * atspi_accessible_get_selection_iface (AtspiAccessible *obj);
+
+AtspiTable * atspi_accessible_get_table_iface (AtspiAccessible *obj);
+
+AtspiText * atspi_accessible_get_text_iface (AtspiAccessible *obj);
+
+AtspiValue * atspi_accessible_get_value_iface (AtspiAccessible *obj);
 
 GArray * atspi_accessible_get_interfaces (AtspiAccessible *obj);
 
+const gchar* atspi_accessible_get_object_locale (AtspiAccessible *accessible, GError **error);
+
 void atspi_accessible_set_cache_mask (AtspiAccessible *accessible, AtspiCache mask);
 
 void atspi_accessible_clear_cache (AtspiAccessible *accessible);
 
+guint atspi_accessible_get_process_id (AtspiAccessible *accessible, GError **error);
+
 /* private */
 void _atspi_accessible_add_cache (AtspiAccessible *accessible, AtspiCache flag);
 AtspiCache _atspi_accessible_get_cache_mask (AtspiAccessible *accessible);
 gboolean _atspi_accessible_test_cache (AtspiAccessible *accessible, AtspiCache flag);
+
+G_END_DECLS
+
 #endif /* _ATSPI_ACCESSIBLE_H_ */