summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2014-02-18 12:07:33 -0600
committerMike Gorse <mgorse@suse.com>2014-02-18 12:22:45 -0600
commit50b78a502d8fe0e8ec7bf932d87151461bcecc2b (patch)
tree53f189f1ddf5e4e8bcb4e7eaec02f6cc6c4c9afb
parent2aa20b33e2c8ed64b7d7fd877c10b74730e6f0b5 (diff)
downloadat-spi2-atk-50b78a502d8fe0e8ec7bf932d87151461bcecc2b.tar.gz
Add AtspitableCell, tracking the new atk interface
-rw-r--r--atk-adaptor/adaptors/Makefile.am1
-rw-r--r--atk-adaptor/adaptors/adaptors.h1
-rw-r--r--atk-adaptor/adaptors/table-cell-adaptor.c191
-rw-r--r--atk-adaptor/bridge.c1
-rw-r--r--atk-adaptor/introspection.c171
-rw-r--r--atk-adaptor/introspection.h4
-rw-r--r--atk-adaptor/object.c6
-rw-r--r--configure.ac2
8 files changed, 333 insertions, 44 deletions
diff --git a/atk-adaptor/adaptors/Makefile.am b/atk-adaptor/adaptors/Makefile.am
index 66f7ba7..7624b57 100644
--- a/atk-adaptor/adaptors/Makefile.am
+++ b/atk-adaptor/adaptors/Makefile.am
@@ -29,5 +29,6 @@ libatk_bridge_adaptors_la_SOURCES =\
selection-adaptor.c \
socket-adaptor.c \
table-adaptor.c \
+ table-cell-adaptor.c \
text-adaptor.c \
value-adaptor.c
diff --git a/atk-adaptor/adaptors/adaptors.h b/atk-adaptor/adaptors/adaptors.h
index 84d2ef4..395114b 100644
--- a/atk-adaptor/adaptors/adaptors.h
+++ b/atk-adaptor/adaptors/adaptors.h
@@ -42,6 +42,7 @@ void spi_initialize_image (DRoutePath * path);
void spi_initialize_selection (DRoutePath * path);
void spi_initialize_socket (DRoutePath * path);
void spi_initialize_table (DRoutePath * path);
+void spi_initialize_table_cell (DRoutePath * path);
void spi_initialize_text (DRoutePath * path);
void spi_initialize_value (DRoutePath * path);
void spi_initialize_cache (DRoutePath * path);
diff --git a/atk-adaptor/adaptors/table-cell-adaptor.c b/atk-adaptor/adaptors/table-cell-adaptor.c
new file mode 100644
index 0000000..c557ed5
--- /dev/null
+++ b/atk-adaptor/adaptors/table-cell-adaptor.c
@@ -0,0 +1,191 @@
+/*
+ * AT-SPI - Assistive Technology Service Provider Interface
+ * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
+ *
+ * Copyright 2013 SUSE LLC.
+ * Copyright 2001, 2002 Sun Microsystems Inc.,
+ * Copyright 2001, 2002 Ximian, 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.
+ */
+
+#include <atk/atk.h>
+#include <droute/droute.h>
+
+#include "spi-dbus.h"
+#include "object.h"
+#include "introspection.h"
+
+static dbus_bool_t
+impl_get_ColumnSpan (DBusMessageIter * iter, void *user_data)
+{
+ AtkTableCell *cell = (AtkTableCell *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data), FALSE);
+ return droute_return_v_int32 (iter, atk_table_cell_get_column_span (cell));
+}
+
+static DBusMessage *
+message_from_object_array (DBusMessage *message, GPtrArray *array)
+{
+ DBusMessage *reply;
+ DBusMessageIter iter, iter_array;
+ gint len;
+ gint i;
+
+ reply = dbus_message_new_method_return (message);
+ if (!reply)
+ return NULL;
+
+ dbus_message_iter_init_append (reply, &iter);
+
+ if (!dbus_message_iter_open_container
+ (&iter, DBUS_TYPE_ARRAY, "(so)", &iter_array))
+ return reply; /* TODO: handle out of memory */
+ len = (array? array->len: 0);
+ for (i = 0; i < len; i++)
+ {
+ spi_object_append_reference (&iter_array, g_ptr_array_index (array, i));
+ }
+ dbus_message_iter_close_container (&iter, &iter_array);
+ g_ptr_array_unref (array);
+ return message;
+}
+
+static DBusMessage *
+impl_GetColumnHeaderCells (DBusConnection * bus, DBusMessage * message,
+ void *user_data)
+{
+ AtkTableCell *cell = user_data;
+ GPtrArray *array;
+
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data),
+ droute_not_yet_handled_error (message));
+
+ array = atk_table_cell_get_column_header_cells (cell);
+ return message_from_object_array (message, array);
+}
+
+static dbus_bool_t
+impl_get_RowSpan (DBusMessageIter * iter, void *user_data)
+{
+ AtkTableCell *cell = (AtkTableCell *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data), FALSE);
+ return droute_return_v_int32 (iter, atk_table_cell_get_row_span (cell));
+}
+
+static DBusMessage *
+impl_GetRowHeaderCells (DBusConnection * bus, DBusMessage * message,
+ void *user_data)
+{
+ AtkTableCell *cell = user_data;
+ GPtrArray *array;
+
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data),
+ droute_not_yet_handled_error (message));
+
+ array = atk_table_cell_get_row_header_cells (cell);
+ return message_from_object_array (message, array);
+}
+
+static dbus_bool_t
+impl_get_Position (DBusMessageIter * iter, void *user_data)
+{
+ AtkTableCell *cell = (AtkTableCell *) user_data;
+ gint row = -1, column = -1;
+ dbus_int32_t d_row, d_column;
+ DBusMessageIter iter_struct, iter_variant;
+
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data), FALSE);
+ if (!atk_table_cell_get_position (cell, &row, &column))
+ return FALSE;
+
+ d_row = row;
+ d_column = column;
+ dbus_message_iter_open_container (iter, DBUS_TYPE_STRUCT, "(ii)", &iter_variant);
+ dbus_message_iter_open_container (&iter_struct, DBUS_TYPE_STRUCT, NULL, &iter_struct);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &row);
+ dbus_message_iter_append_basic (&iter_struct, DBUS_TYPE_INT32, &column);
+ dbus_message_iter_close_container (&iter_variant, &iter_struct);
+ dbus_message_iter_close_container (iter, &iter_variant);
+ return TRUE;
+}
+
+static dbus_bool_t
+impl_get_Table (DBusMessageIter * iter, void *user_data)
+{
+ AtkTableCell *cell = (AtkTableCell *) user_data;
+ AtkObject *table;
+
+ g_return_val_if_fail (ATK_IS_TABLE_CELL (user_data), FALSE);
+
+ table = atk_table_cell_get_table (cell);
+ if (!table)
+ return FALSE;
+ spi_object_append_reference (iter, table);
+ return TRUE;
+}
+
+static DBusMessage *
+impl_GetRowColumnSpan (DBusConnection * bus, DBusMessage * message,
+ void *user_data)
+{
+ AtkTableCell *cell = (AtkTableCell *) user_data;
+ gint row, column, row_span, column_span;
+ dbus_int32_t d_row, d_column, d_row_span, d_column_span;
+ DBusMessage *reply;
+
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
+ atk_table_cell_get_row_column_span (cell, &row, &column, &row_span,
+ &column_span);
+ d_row = row;
+ d_column = column;
+ d_row_span = row_span;
+ d_column_span = column_span;
+ reply = dbus_message_new_method_return (message);
+ if (reply)
+ {
+ dbus_message_append_args (reply, DBUS_TYPE_INT32, &d_row, DBUS_TYPE_INT32,
+ &d_column, DBUS_TYPE_INT32, &d_row_span,
+ DBUS_TYPE_INT32, &d_column_span,
+ DBUS_TYPE_INVALID);
+ }
+ return reply;
+}
+
+static DRouteMethod methods[] = {
+ {impl_GetRowHeaderCells, "GetRowHeaderCells"},
+ {impl_GetColumnHeaderCells, "GetColumnHeaderCells"},
+ {impl_GetRowColumnSpan, "GetRowColumnSpan"},
+ {NULL, NULL}
+};
+
+static DRouteProperty properties[] = {
+ {impl_get_ColumnSpan, NULL, "ColumnSpan"},
+ {impl_get_Position, NULL, "Position"},
+ {impl_get_RowSpan, NULL, "RowSpan"},
+ {impl_get_Table, NULL, "Table"},
+ {NULL, NULL, NULL}
+};
+
+void
+spi_initialize_table_cell (DRoutePath * path)
+{
+ droute_path_add_interface (path,
+ ATSPI_DBUS_INTERFACE_TABLE_CELL,
+ spi_org_a11y_atspi_TableCell,
+ methods, properties);
+};
diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c
index 9f5977b..e7b3bab 100644
--- a/atk-adaptor/bridge.c
+++ b/atk-adaptor/bridge.c
@@ -1066,6 +1066,7 @@ atk_bridge_adaptor_init (gint * argc, gchar ** argv[])
spi_initialize_selection (accpath);
spi_initialize_socket (accpath);
spi_initialize_table (accpath);
+ spi_initialize_table_cell (accpath);
spi_initialize_text (accpath);
spi_initialize_value (accpath);
diff --git a/atk-adaptor/introspection.c b/atk-adaptor/introspection.c
index 7d0658d..0ce7cfa 100644
--- a/atk-adaptor/introspection.c
+++ b/atk-adaptor/introspection.c
@@ -13,15 +13,17 @@
const char *spi_org_a11y_atspi_Accessible =
"<interface name=\"org.a11y.atspi.Accessible\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"name\" type=\"s\" />"
+" <property access=\"read\" name=\"Name\" type=\"s\" />"
""
-" <property access=\"read\" name=\"description\" type=\"s\" />"
+" <property access=\"read\" name=\"Description\" type=\"s\" />"
""
-" <property access=\"read\" name=\"parent\" type=\"(so)\">"
+" <property access=\"read\" name=\"Parent\" type=\"(so)\">"
" "
" </property>"
""
-" <property access=\"read\" name=\"childCount\" type=\"i\" />"
+" <property access=\"read\" name=\"ChildCount\" type=\"i\" />"
+""
+" <property access=\"read\" name=\"Locale\" type=\"s\" />"
""
" <method name=\"GetChildAtIndex\">"
" <arg direction=\"in\" name=\"index\" type=\"i\" />"
@@ -76,7 +78,7 @@ const char *spi_org_a11y_atspi_Accessible =
const char *spi_org_a11y_atspi_Action =
"<interface name=\"org.a11y.atspi.Action\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"nActions\" type=\"i\" />"
+" <property access=\"read\" name=\"NActions\" type=\"i\" />"
""
" <method name=\"GetDescription\">"
" <arg direction=\"in\" name=\"index\" type=\"i\" />"
@@ -99,7 +101,7 @@ const char *spi_org_a11y_atspi_Action =
" </method>"
""
" <method name=\"GetActions\">"
-" <arg direction=\"out\" name=\"index\" type=\"a(ssss)\" />"
+" <arg direction=\"out\" type=\"a(sss)\" />"
" "
" </method>"
""
@@ -114,19 +116,24 @@ const char *spi_org_a11y_atspi_Action =
const char *spi_org_a11y_atspi_Application =
"<interface name=\"org.a11y.atspi.Application\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"toolkitName\" type=\"s\" />"
+" <property access=\"read\" name=\"ToolkitName\" type=\"s\" />"
""
-" <property access=\"read\" name=\"version\" type=\"s\" />"
+" <property access=\"read\" name=\"Version\" type=\"s\" />"
""
-" <property access=\"read\" name=\"id\" type=\"i\" />"
+" <property access=\"read\" name=\"AtspiVersion\" type=\"s\" />"
+" <property access=\"read\" name=\"Id\" type=\"i\" />"
""
" <method name=\"GetLocale\">"
" <arg direction=\"in\" name=\"lctype\" type=\"u\" />"
" <arg direction=\"out\" type=\"s\" />"
" </method>"
""
-" <method name=\"GetApplicationBusAddress\">"
-" <arg direction=\"out\" type=\"s\" />"
+" <method name=\"RegisterEventListener\">"
+" <arg direction=\"in\" name=\"event\" type=\"s\" />"
+" </method>"
+""
+" <method name=\"DeregisterEventListener\">"
+" <arg direction=\"in\" name=\"event\" type=\"s\" />"
" </method>"
""
"</interface>"
@@ -152,7 +159,7 @@ const char *spi_org_a11y_atspi_Collection =
" "
" <arg direction=\"in\" name=\"sortby\" type=\"u\" />"
" <arg direction=\"in\" name=\"tree\" type=\"u\" />"
-" <arg direction=\"in\" name=\"recurse\" type=\"b\" />"
+" <arg direction=\"in\" name=\"limit_scope\" type=\"b\" />"
" <arg direction=\"in\" name=\"count\" type=\"i\" />"
" <arg direction=\"in\" name=\"traverse\" type=\"b\" />"
" <arg direction=\"out\" type=\"a(so)\" />"
@@ -231,12 +238,38 @@ const char *spi_org_a11y_atspi_Component =
" <arg direction=\"out\" type=\"d\" />"
" </method>"
""
+" <method name=\"SetExtents\">"
+" <arg direction=\"in\" name=\"x\" type=\"i\" />"
+" <arg direction=\"in\" name=\"y\" type=\"i\" />"
+" <arg direction=\"in\" name=\"width\" type=\"i\" />"
+" <arg direction=\"in\" name=\"height\" type=\"i\" />"
+" <arg direction=\"in\" name=\"coord_type\" type=\"u\" />"
+" <arg direction=\"out\" type=\"b\" />"
+" </method>"
+""
+" <method name=\"SetPosition\">"
+" <arg direction=\"in\" name=\"x\" type=\"i\" />"
+" <arg direction=\"in\" name=\"y\" type=\"i\" />"
+" <arg direction=\"in\" name=\"coord_type\" type=\"u\" />"
+" <arg direction=\"out\" type=\"b\" />"
+" </method>"
+""
+" <method name=\"SetSize\">"
+" <arg direction=\"in\" name=\"width\" type=\"i\" />"
+" <arg direction=\"in\" name=\"height\" type=\"i\" />"
+" <arg direction=\"out\" type=\"b\" />"
+" </method>"
+""
"</interface>"
"";
const char *spi_org_a11y_atspi_Document =
"<interface name=\"org.a11y.atspi.Document\" version=\"0.1.7\">"
""
+" <property access=\"read\" name=\"CurrentPageNumber\" type=\"i\" />"
+""
+" <property access=\"read\" name=\"PageCount\" type=\"i\" />"
+""
" <method name=\"GetLocale\">"
" <arg direction=\"out\" type=\"s\" />"
" </method>"
@@ -278,11 +311,11 @@ const char *spi_org_a11y_atspi_Hypertext =
const char *spi_org_a11y_atspi_Hyperlink =
"<interface name=\"org.a11y.atspi.Hyperlink\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"nAnchors\" type=\"n\" />"
+" <property access=\"read\" name=\"NAnchors\" type=\"n\" />"
""
-" <property access=\"read\" name=\"startIndex\" type=\"i\" />"
+" <property access=\"read\" name=\"StartIndex\" type=\"i\" />"
""
-" <property access=\"read\" name=\"endIndex\" type=\"i\" />"
+" <property access=\"read\" name=\"EndIndex\" type=\"i\" />"
""
" <method name=\"GetObject\">"
" <arg direction=\"in\" name=\"i\" type=\"i\" />"
@@ -305,9 +338,9 @@ const char *spi_org_a11y_atspi_Hyperlink =
const char *spi_org_a11y_atspi_Image =
"<interface name=\"org.a11y.atspi.Image\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"imageDescription\" type=\"s\" />"
+" <property access=\"read\" name=\"ImageDescription\" type=\"s\" />"
""
-" <property access=\"read\" name=\"imageLocale\" type=\"s\" />"
+" <property access=\"read\" name=\"ImageLocale\" type=\"s\" />"
""
" <method name=\"GetImageExtents\">"
" <arg direction=\"in\" name=\"coordType\" type=\"u\" />"
@@ -332,7 +365,7 @@ const char *spi_org_a11y_atspi_Image =
const char *spi_org_a11y_atspi_Selection =
"<interface name=\"org.a11y.atspi.Selection\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"nSelectedChildren\" type=\"i\" />"
+" <property access=\"read\" name=\"NSelectedChildren\" type=\"i\" />"
""
" <method name=\"GetSelectedChild\">"
" <arg direction=\"in\" name=\"selectedChildIndex\" type=\"i\" />"
@@ -363,7 +396,7 @@ const char *spi_org_a11y_atspi_Selection =
" <arg direction=\"out\" type=\"b\" />"
" </method>"
""
-" <method name=\"deSelectChild\">"
+" <method name=\"DeselectChild\">"
" <arg direction=\"in\" name=\"childIndex\" type=\"i\" />"
" <arg direction=\"out\" type=\"b\" />"
" </method>"
@@ -374,21 +407,21 @@ const char *spi_org_a11y_atspi_Selection =
const char *spi_org_a11y_atspi_Table =
"<interface name=\"org.a11y.atspi.Table\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"nRows\" type=\"i\" />"
+" <property access=\"read\" name=\"NRows\" type=\"i\" />"
""
-" <property access=\"read\" name=\"nColumns\" type=\"i\" />"
+" <property access=\"read\" name=\"NColumns\" type=\"i\" />"
""
-" <property access=\"read\" name=\"caption\" type=\"(so)\">"
+" <property access=\"read\" name=\"Caption\" type=\"(so)\">"
" "
" </property>"
""
-" <property access=\"read\" name=\"summary\" type=\"(so)\">"
+" <property access=\"read\" name=\"Summary\" type=\"(so)\">"
" "
" </property>"
""
-" <property access=\"read\" name=\"nSelectedRows\" type=\"i\" />"
+" <property access=\"read\" name=\"NSelectedRows\" type=\"i\" />"
""
-" <property access=\"read\" name=\"nSelectedColumns\" type=\"i\" />"
+" <property access=\"read\" name=\"NSelectedColumns\" type=\"i\" />"
""
" <method name=\"GetAccessibleAt\">"
" <arg direction=\"in\" name=\"row\" type=\"i\" />"
@@ -506,12 +539,42 @@ const char *spi_org_a11y_atspi_Table =
"</interface>"
"";
+const char *spi_org_a11y_atspi_TableCell =
+"<interface name=\"org.a11y.atspi.TableCell\" version=\"0.1.7\">"
+""
+" <property access=\"read\" name=\"ColumnSpan\" type=\"i\" />"
+""
+" <property access=\"read\" name=\"Position\" type=\"(ii)\" />"
+""
+" <property access=\"read\" name=\"RowSpan\" type=\"i\" />"
+""
+" <property access=\"read\" name=\"Table\" type=\"(so)\" />"
+""
+" <method name=\"GetRowColumnSpan\">"
+" <arg direction=\"out\" type=\"b\" />"
+" <arg direction=\"out\" name=\"row\" type=\"i\" />"
+" <arg direction=\"out\" name=\"col\" type=\"i\" />"
+" <arg direction=\"out\" name=\"row_extents\" type=\"i\" />"
+" <arg direction=\"out\" name=\"col_extents\" type=\"i\" />"
+" </method>"
+""
+"</interface>"
+"";
+
const char *spi_org_a11y_atspi_Text =
"<interface name=\"org.a11y.atspi.Text\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"characterCount\" type=\"i\" />"
+" <property access=\"read\" name=\"CharacterCount\" type=\"i\" />"
""
-" <property access=\"read\" name=\"caretOffset\" type=\"i\" />"
+" <property access=\"read\" name=\"CaretOffset\" type=\"i\" />"
+""
+" <method name=\"GetStringAtOffset\">"
+" <arg direction=\"in\" name=\"offset\" type=\"i\" />"
+" <arg direction=\"in\" name=\"granularity\" type=\"u\" />"
+" <arg direction=\"out\" type=\"s\" />"
+" <arg direction=\"out\" name=\"startOffset\" type=\"i\" />"
+" <arg direction=\"out\" name=\"endOffset\" type=\"i\" />"
+" </method>"
""
" <method name=\"GetText\">"
" <arg direction=\"in\" name=\"startOffset\" type=\"i\" />"
@@ -548,14 +611,6 @@ const char *spi_org_a11y_atspi_Text =
" <arg direction=\"out\" name=\"endOffset\" type=\"i\" />"
" </method>"
""
-" <method name=\"GetStringAtOffset\">"
-" <arg direction=\"in\" name=\"offset\" type=\"i\" />"
-" <arg direction=\"in\" name=\"granularity\" type=\"u\" />"
-" <arg direction=\"out\" type=\"s\" />"
-" <arg direction=\"out\" name=\"startOffset\" type=\"i\" />"
-" <arg direction=\"out\" name=\"endOffset\" type=\"i\" />"
-" </method>"
-""
" <method name=\"GetCharacterAtOffset\">"
" <arg direction=\"in\" name=\"offset\" type=\"i\" />"
" <arg direction=\"out\" type=\"i\" />"
@@ -659,7 +714,7 @@ const char *spi_org_a11y_atspi_Text =
" </method>"
""
" <method name=\"GetDefaultAttributeSet\">"
-" <arg direction=\"out\" type=\"as\" />"
+" <arg direction=\"out\" type=\"a{ss}\" />"
" </method>"
""
"</interface>"
@@ -729,14 +784,44 @@ const char *spi_org_a11y_atspi_Cache =
const char *spi_org_a11y_atspi_Value =
"<interface name=\"org.a11y.atspi.Value\" version=\"0.1.7\">"
""
-" <property access=\"read\" name=\"minimumValue\" type=\"d\" />"
+" <property access=\"read\" name=\"MinimumValue\" type=\"d\" />"
+""
+" <property access=\"read\" name=\"MaximumValue\" type=\"d\" />"
+""
+" <property access=\"read\" name=\"MinimumIncrement\" type=\"d\" />"
+""
+" <property access=\"readwrite\" name=\"CurrentValue\" type=\"d\" />"
+""
+"</interface>"
+"";
+
+const char *spi_org_a11y_atspi_Registry =
+"<interface name=\"org.a11y.atspi.Registry\" version=\"0.1.7\">"
+""
+" <method name=\"RegisterEvent\">"
+" <arg direction=\"in\" name=\"event\" type=\"s\">"
+" </arg>"
+" </method>"
""
-" <property access=\"read\" name=\"maximumValue\" type=\"d\" />"
+" <method name=\"DeregisterEvent\">"
+" <arg direction=\"in\" name=\"event\" type=\"s\">"
+" </arg>"
+" </method>"
""
-" <property access=\"read\" name=\"minimumIncrement\" type=\"d\" />"
+" <method name=\"GetRegisteredEvents\">"
+" <arg direction=\"out\" name=\"events\" type=\"a(ss)\">"
+" </arg>"
+" </method>"
""
-" <property access=\"readwrite\" name=\"currentValue\" type=\"d\" />"
+" <signal name=\"EventListenerRegistered\">"
+" <arg direction=\"out\" name=\"bus\" type=\"s\" />"
+" <arg direction=\"out\" name=\"path\" type=\"s\" />"
+" </signal>"
""
+" <signal name=\"EventListenerDeregistered\">"
+" <arg direction=\"out\" name=\"bus\" type=\"s\" />"
+" <arg direction=\"out\" name=\"path\" type=\"s\" />"
+" </signal>"
"</interface>"
"";
@@ -791,13 +876,13 @@ const char *spi_org_a11y_atspi_DeviceEventController =
" </method>"
""
" <method name=\"NotifyListenersSync\">"
-" <arg direction=\"in\" name=\"event\" type=\"(uinnisb)\" />"
+" <arg direction=\"in\" name=\"event\" type=\"(uiuuisb)\" />"
" <arg direction=\"out\" type=\"b\" />"
" "
" </method>"
""
" <method name=\"NotifyListenersAsync\">"
-" <arg direction=\"in\" name=\"event\" type=\"(uinnisb)\" />"
+" <arg direction=\"in\" name=\"event\" type=\"(uiuuisb)\" />"
" "
" </method>"
""
@@ -808,7 +893,7 @@ const char *spi_org_a11y_atspi_DeviceEventListener =
"<interface name=\"org.a11y.atspi.DeviceEventListener\" version=\"0.1.7\">"
""
" <method name=\"NotifyEvent\">"
-" <arg direction=\"in\" name=\"event\" type=\"(uinnisb)\" />"
+" <arg direction=\"in\" name=\"event\" type=\"(uiuuisb)\" />"
" "
" <arg direction=\"out\" type=\"b\" />"
" </method>"
diff --git a/atk-adaptor/introspection.h b/atk-adaptor/introspection.h
index 5392870..2210483 100644
--- a/atk-adaptor/introspection.h
+++ b/atk-adaptor/introspection.h
@@ -35,6 +35,8 @@ extern const char *spi_org_a11y_atspi_Selection;
extern const char *spi_org_a11y_atspi_Table;
+extern const char *spi_org_a11y_atspi_TableCell;
+
extern const char *spi_org_a11y_atspi_Text;
extern const char *spi_org_a11y_atspi_EditableText;
@@ -43,6 +45,8 @@ extern const char *spi_org_a11y_atspi_Cache;
extern const char *spi_org_a11y_atspi_Value;
+extern const char *spi_org_a11y_atspi_Registry;
+
extern const char *spi_org_a11y_atspi_DeviceEventController;
extern const char *spi_org_a11y_atspi_DeviceEventListener;
diff --git a/atk-adaptor/object.c b/atk-adaptor/object.c
index cf15cc1..404fb24 100644
--- a/atk-adaptor/object.c
+++ b/atk-adaptor/object.c
@@ -272,6 +272,12 @@ spi_object_append_interfaces (DBusMessageIter * iter, AtkObject * obj)
dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, &itf);
}
+ if (ATK_IS_TABLE_CELL (obj))
+ {
+ itf = ATSPI_DBUS_INTERFACE_TABLE_CELL;
+ dbus_message_iter_append_basic (iter, DBUS_TYPE_STRING, &itf);
+ }
+
if (ATK_IS_VALUE (obj))
{
itf = ATSPI_DBUS_INTERFACE_VALUE;
diff --git a/configure.ac b/configure.ac
index 3e82cf9..829aef7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -51,7 +51,7 @@ PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0])
AC_SUBST(GMODULE_LIBS)
AC_SUBST(GMODULE_CFLAGS)
-PKG_CHECK_MODULES(ATK, [atk >= 2.11.3])
+PKG_CHECK_MODULES(ATK, [atk >= 2.11.90])
AC_SUBST(ATK_LIBS)
AC_SUBST(ATK_CFLAGS)