#include <atk/atk.h>
#include <droute/droute.h>
-#include "common/spi-dbus.h"
-#include "common/spi-stateset.h"
+#include "atspi/atspi.h"
+#include "spi-dbus.h"
+#include "accessible-stateset.h"
#include "object.h"
#include "introspection.h"
}
static dbus_bool_t
-impl_set_Name (DBusMessageIter * iter, void *user_data)
-{
- AtkObject *object = (AtkObject *) user_data;
- const char *name = droute_get_v_string (iter);
-
- g_return_val_if_fail (ATK_IS_OBJECT (user_data), FALSE);
-
- atk_object_set_name (object, name);
- return TRUE;
-}
-
-static dbus_bool_t
impl_get_Description (DBusMessageIter * iter, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
}
static dbus_bool_t
-impl_set_Description (DBusMessageIter * iter, void *user_data)
+impl_get_Locale (DBusMessageIter * iter, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
- const char *description = droute_get_v_string (iter);
g_return_val_if_fail (ATK_IS_OBJECT (user_data), FALSE);
- atk_object_set_description (object, description);
- return TRUE;
+ return droute_return_v_string (iter, atk_object_get_object_locale (object));
}
static dbus_bool_t
spi_object_append_null_reference (&iter_variant);
}
}
- else if (role != Accessibility_ROLE_APPLICATION)
+ else if (role != ATSPI_ROLE_APPLICATION)
spi_object_append_null_reference (&iter_variant);
else
spi_object_append_desktop_reference (&iter_variant);
g_return_val_if_fail (ATK_IS_OBJECT (user_data), FALSE);
- childCount = (ATK_IS_SOCKET (object) && atk_socket_is_occupied (object))
+ childCount = (ATK_IS_SOCKET (object) && atk_socket_is_occupied (ATK_SOCKET (object)))
? 1
: atk_object_get_n_accessible_children (object);
return droute_return_v_int32 (iter, childCount);
DBusMessage * message, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
- DBusError error;
+ DBusMessage *reply;
dbus_int32_t i;
AtkObject *child;
- dbus_error_init (&error);
g_return_val_if_fail (ATK_IS_OBJECT (user_data),
droute_not_yet_handled_error (message));
if (!dbus_message_get_args
- (message, &error, DBUS_TYPE_INT32, &i, DBUS_TYPE_INVALID))
+ (message, NULL, DBUS_TYPE_INT32, &i, DBUS_TYPE_INVALID))
{
return droute_invalid_arguments_error (message);
}
child_path = g_utf8_strchr (child_name + 1, -1, ':');
if (child_path)
{
- DBusMessage *reply;
DBusMessageIter iter, iter_socket;
*(child_path++) = '\0';
reply = dbus_message_new_method_return (message);
g_free (child_name);
}
child = atk_object_ref_accessible_child (object, i);
- return spi_object_return_reference (message, child);
+ reply = spi_object_return_reference (message, child);
+ g_object_unref (child);
+
+ return reply;
}
static DBusMessage *
DBusMessage * message, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
- dbus_uint32_t rv;
+ dbus_int32_t rv;
DBusMessage *reply;
g_return_val_if_fail (ATK_IS_OBJECT (user_data),
rv = atk_object_get_index_in_parent (object);
reply = dbus_message_new_method_return (message);
- dbus_message_append_args (reply, DBUS_TYPE_UINT32, &rv, DBUS_TYPE_INVALID);
+ dbus_message_append_args (reply, DBUS_TYPE_INT32, &rv, DBUS_TYPE_INVALID);
return reply;
}
static gboolean
-spi_init_relation_type_table (Accessibility_RelationType * types)
+spi_init_relation_type_table (AtspiRelationType * types)
{
gint i;
for (i = 0; i < ATK_RELATION_LAST_DEFINED; i++)
- types[i] = Accessibility_RELATION_NULL;
-
- types[ATK_RELATION_CONTROLLED_BY] = Accessibility_RELATION_CONTROLLED_BY;
- types[ATK_RELATION_CONTROLLER_FOR] = Accessibility_RELATION_CONTROLLER_FOR;
- types[ATK_RELATION_LABEL_FOR] = Accessibility_RELATION_LABEL_FOR;
- types[ATK_RELATION_LABELLED_BY] = Accessibility_RELATION_LABELLED_BY;
- types[ATK_RELATION_MEMBER_OF] = Accessibility_RELATION_MEMBER_OF;
- types[ATK_RELATION_NODE_CHILD_OF] = Accessibility_RELATION_NODE_CHILD_OF;
- types[ATK_RELATION_FLOWS_TO] = Accessibility_RELATION_FLOWS_TO;
- types[ATK_RELATION_FLOWS_FROM] = Accessibility_RELATION_FLOWS_FROM;
- types[ATK_RELATION_SUBWINDOW_OF] = Accessibility_RELATION_SUBWINDOW_OF;
- types[ATK_RELATION_EMBEDS] = Accessibility_RELATION_EMBEDS;
- types[ATK_RELATION_EMBEDDED_BY] = Accessibility_RELATION_EMBEDDED_BY;
- types[ATK_RELATION_POPUP_FOR] = Accessibility_RELATION_POPUP_FOR;
+ types[i] = ATSPI_RELATION_NULL;
+
+ types[ATK_RELATION_CONTROLLED_BY] = ATSPI_RELATION_CONTROLLED_BY;
+ types[ATK_RELATION_CONTROLLER_FOR] = ATSPI_RELATION_CONTROLLER_FOR;
+ types[ATK_RELATION_LABEL_FOR] = ATSPI_RELATION_LABEL_FOR;
+ types[ATK_RELATION_LABELLED_BY] = ATSPI_RELATION_LABELLED_BY;
+ types[ATK_RELATION_MEMBER_OF] = ATSPI_RELATION_MEMBER_OF;
+ types[ATK_RELATION_NODE_CHILD_OF] = ATSPI_RELATION_NODE_CHILD_OF;
+ types[ATK_RELATION_FLOWS_TO] = ATSPI_RELATION_FLOWS_TO;
+ types[ATK_RELATION_FLOWS_FROM] = ATSPI_RELATION_FLOWS_FROM;
+ types[ATK_RELATION_SUBWINDOW_OF] = ATSPI_RELATION_SUBWINDOW_OF;
+ types[ATK_RELATION_EMBEDS] = ATSPI_RELATION_EMBEDS;
+ types[ATK_RELATION_EMBEDDED_BY] = ATSPI_RELATION_EMBEDDED_BY;
+ types[ATK_RELATION_POPUP_FOR] = ATSPI_RELATION_POPUP_FOR;
types[ATK_RELATION_PARENT_WINDOW_OF] =
- Accessibility_RELATION_PARENT_WINDOW_OF;
+ ATSPI_RELATION_PARENT_WINDOW_OF;
types[ATK_RELATION_DESCRIPTION_FOR] =
- Accessibility_RELATION_DESCRIPTION_FOR;
- types[ATK_RELATION_DESCRIBED_BY] = Accessibility_RELATION_DESCRIBED_BY;
+ ATSPI_RELATION_DESCRIPTION_FOR;
+ types[ATK_RELATION_DESCRIBED_BY] = ATSPI_RELATION_DESCRIBED_BY;
+ types[ATK_RELATION_NODE_PARENT_OF] = ATSPI_RELATION_NODE_PARENT_OF;
return TRUE;
}
-static Accessibility_RelationType
+static AtspiRelationType
spi_relation_type_from_atk_relation_type (AtkRelationType type)
{
static gboolean is_initialized = FALSE;
- static Accessibility_RelationType
+ static AtspiRelationType
spi_relation_type_table[ATK_RELATION_LAST_DEFINED];
- Accessibility_RelationType spi_type;
+ AtspiRelationType spi_type;
if (!is_initialized)
is_initialized = spi_init_relation_type_table (spi_relation_type_table);
if (type > ATK_RELATION_NULL && type < ATK_RELATION_LAST_DEFINED)
spi_type = spi_relation_type_table[type];
else
- spi_type = Accessibility_RELATION_EXTENDED;
+ spi_type = ATSPI_RELATION_EXTENDED;
return spi_type;
}
for (j = 0; j < target->len; j++)
{
AtkObject *obj = target->pdata[j];
- char *path;
if (!obj)
continue;
spi_object_append_reference (&iter_targets, obj);
}
dbus_message_iter_close_container (&iter, &iter_array);
oom:
+ if (set)
+ g_object_unref (set);
// TODO: handle out of memory */
return reply;
}
return reply;
}
-static char *
-impl_get_role_str (void *datum)
-{
- g_return_val_if_fail (ATK_IS_OBJECT (datum), g_strdup (""));
- return g_strdup_printf ("%d",
- spi_accessible_role_from_atk_role
- (atk_object_get_role ((AtkObject *) datum)));
-}
-
static DBusMessage *
impl_GetRoleName (DBusConnection * bus,
DBusMessage * message, void *user_data)
impl_GetApplication (DBusConnection * bus,
DBusMessage * message, void *user_data)
{
- AtkObject *root = g_object_ref (atk_get_root ());
- return spi_object_return_reference (message, root);
+ return spi_object_return_reference (message, atk_get_root ());
}
static DBusMessage *
DBusMessage * message, void *user_data)
{
AtkObject *object = (AtkObject *) user_data;
- gint role;
- const char *role_name;
DBusMessage *reply;
DBusMessageIter iter, iter_array;
};
static DRouteProperty properties[] = {
- {impl_get_Name, impl_set_Name, "Name"},
- {impl_get_Description, impl_set_Description, "Description"},
+ {impl_get_Name, NULL, "Name"},
+ {impl_get_Description, NULL, "Description"},
+ {impl_get_Locale, NULL, "Locale"},
{impl_get_Parent, NULL, "Parent"},
{impl_get_ChildCount, NULL, "ChildCount"},
{NULL, NULL, NULL}
spi_initialize_accessible (DRoutePath * path)
{
droute_path_add_interface (path,
- SPI_DBUS_INTERFACE_ACCESSIBLE,
+ ATSPI_DBUS_INTERFACE_ACCESSIBLE,
spi_org_a11y_atspi_Accessible,
methods, properties);
};