*
* 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
#ifndef _ATSPI_ACCESSIBLE_H_
#define _ATSPI_ACCESSIBLE_H_
+G_BEGIN_DECLS
+
#include "glib-object.h"
+#include "atspi-application.h"
#include "atspi-constants.h"
+#include "atspi-object.h"
#include "atspi-stateset.h"
+#include "atspi-types.h"
#define ATSPI_TYPE_ACCESSIBLE (atspi_accessible_get_type ())
#define ATSPI_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATSPI_TYPE_ACCESSIBLE, AtspiAccessible))
#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 _AtspiApplication AtspiApplication;
-struct _AtspiApplication
+typedef struct _AtspiAccessiblePrivate AtspiAccessiblePrivate;
+
+struct _AtspiAccessibleDefaultLabelInfo
{
- GHashTable *hash;
- char *bus_name;
- struct _AtspiAccessible *root;
+ AtspiAccessible *obj;
+ AtspiRole role;
+};
+
+struct _AtspiAccessibleReadingMaterial
+{
+ AtspiAccessible *parent;
+ AtspiAccessible *described_by_accessible;
+ GHashTable *attributes;
+ AtspiRole role;
+ AtspiRole parent_role;
+ char *name;
+ char *labeled_by_name;
+ char *text_interface_name;
+ char *localized_role_name;
+ char *description;
+ gdouble value;
+ gdouble increment;
+ gdouble lower;
+ gdouble upper;
+ gint64 states;
+ gint64 parent_states;
+ gint child_count;
+ gint index_in_parent;
+ gint list_children_count;
+ gint first_selected_child_index;
+ gint parent_child_count;
+ gint parent_selected_child_count;
+ gboolean is_selected_in_parent;
+ gboolean has_checkbox_child;
};
-typedef struct _AtspiAccessible AtspiAccessible;
struct _AtspiAccessible
{
- GObject parent;
- gint ref_count;
+ AtspiObject parent;
AtspiAccessible *accessible_parent;
GList *children;
- AtspiApplication *app;
- char *path;
- gint role : 8;
- gint interfaces : 24;
+ AtspiRole role;
+ gint interfaces;
char *name;
char *description;
AtspiStateSet *states;
+ GHashTable *attributes;
+ guint cached_properties;
+ AtspiAccessiblePrivate *priv;
};
typedef struct _AtspiAccessibleClass AtspiAccessibleClass;
struct _AtspiAccessibleClass
{
- GObjectClass parent_class;
+ AtspiObjectClass parent_class;
};
-AtspiAccessible *
-atspi_accessible_new ();
+GType atspi_accessible_get_type (void);
-gchar * atspi_role_get_name (AtspiRole role);
+AtspiAccessible *
+_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_neighbor (AtspiAccessible *root, AtspiAccessible *start, AtspiNeighborSearchDirection direction, GError **error);
+
+AtspiAccessibleReadingMaterial *atspi_accessible_get_reading_material (AtspiAccessible *obj, GError **error);
+
+AtspiAccessibleDefaultLabelInfo *atspi_accessible_get_default_label_info (AtspiAccessible *obj, GError **error);
+
AtspiAccessible * atspi_accessible_get_parent (AtspiAccessible *obj, GError **error);
-gint atspi_accessible_get_child_count (AtspiAccessible *obj, GError *error);
+gint atspi_accessible_get_child_count (AtspiAccessible *obj, GError **error);
AtspiAccessible * atspi_accessible_get_child_at_index (AtspiAccessible *obj, gint child_index, GError **error);
GHashTable * atspi_accessible_get_attributes (AtspiAccessible *obj, GError **error);
-AtspiApplication * atspi_accessible_get_host_application (AtspiAccessible *obj, GError **error);
+GArray * atspi_accessible_get_attributes_as_array (AtspiAccessible *obj, GError **error);
+
+gchar * atspi_accessible_get_toolkit_name (AtspiAccessible *obj, GError **error);
+
+gchar * atspi_accessible_get_toolkit_version (AtspiAccessible *obj, GError **error);
+
+gchar * atspi_accessible_get_atspi_version (AtspiAccessible *obj, GError **error);
+
+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);
+
+AtspiComponent * atspi_accessible_get_component (AtspiAccessible *obj);
+
+AtspiDocument * atspi_accessible_get_document (AtspiAccessible *obj);
+
+AtspiEditableText * atspi_accessible_get_editable_text (AtspiAccessible *obj);
+
+AtspiHyperlink * atspi_accessible_get_hyperlink (AtspiAccessible *obj);
+
+AtspiHypertext * atspi_accessible_get_hypertext (AtspiAccessible *obj);
+
+AtspiImage * atspi_accessible_get_image (AtspiAccessible *obj);
+
+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_ */