* Boston, MA 02111-1307, USA.
*/
-#include "accessible.h"
+#include <atk/atk.h>
+#include <droute/droute.h>
-static AtkTable *
-get_table (DBusMessage * message)
-{
- AtkObject *obj = atk_dbus_get_object (dbus_message_get_path (message));
- if (!obj)
- return NULL;
- return ATK_TABLE (obj);
-}
-
-static AtkTable *
-get_table_from_path (const char *path, void *user_data)
-{
- AtkObject *obj = atk_dbus_get_object (path);
- if (!obj || !ATK_IS_TABLE(obj))
- return NULL;
- return ATK_TABLE (obj);
-}
+#include "atk-dbus.h"
+#include "spi-common/spi-dbus.h"
static dbus_bool_t
-impl_get_nRows (const char *path, DBusMessageIter * iter, void *user_data)
+impl_get_nRows (DBusMessageIter * iter, void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
- if (!table)
- return FALSE;
+ AtkTable *table = (AtkTable *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
return droute_return_v_int32 (iter, atk_table_get_n_rows (table));
}
static dbus_bool_t
-impl_get_nColumns (const char *path, DBusMessageIter * iter, void *user_data)
+impl_get_nColumns (DBusMessageIter * iter, void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
- if (!table)
- return FALSE;
+ AtkTable *table = (AtkTable *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
return droute_return_v_int32 (iter, atk_table_get_n_columns (table));
}
static dbus_bool_t
-impl_get_caption (const char *path, DBusMessageIter * iter, void *user_data)
+impl_get_caption (DBusMessageIter * iter, void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
- if (!table)
- return FALSE;
+ AtkTable *table = (AtkTable *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
return spi_dbus_return_v_object (iter, atk_table_get_caption (table),
FALSE);
}
static dbus_bool_t
-impl_get_summary (const char *path, DBusMessageIter * iter, void *user_data)
+impl_get_summary (DBusMessageIter * iter, void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
- if (!table)
- return FALSE;
+ AtkTable *table = (AtkTable *) user_data;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
return spi_dbus_return_v_object (iter, atk_table_get_summary (table),
FALSE);
}
static dbus_bool_t
-impl_get_nSelectedRows (const char *path, DBusMessageIter * iter,
+impl_get_nSelectedRows (DBusMessageIter * iter,
void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
+ AtkTable *table = (AtkTable *) user_data;
gint *selected_rows = NULL;
int count;
- if (!table)
- return FALSE;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
count = atk_table_get_selected_rows (table, &selected_rows);
if (selected_rows)
g_free (selected_rows);
}
static dbus_bool_t
-impl_get_nSelectedColumns (const char *path, DBusMessageIter * iter,
+impl_get_nSelectedColumns (DBusMessageIter * iter,
void *user_data)
{
- AtkTable *table = get_table_from_path (path, user_data);
+ AtkTable *table = (AtkTable *) user_data;
gint *selected_columns = NULL;
int count;
- if (!table)
- return FALSE;
+ g_return_val_if_fail (ATK_IS_TABLE (user_data), FALSE);
count = atk_table_get_selected_columns (table, &selected_columns);
if (selected_columns)
g_free (selected_columns);
impl_getAccessibleAt (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
DBusError error;
AtkObject *obj;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INT32, &column,
static DBusMessage *
impl_getIndexAt (DBusConnection * bus, DBusMessage * message, void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
dbus_int32_t index;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INT32, &column,
impl_getRowAtIndex (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t index;
dbus_int32_t row;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &index, DBUS_TYPE_INVALID))
impl_getColumnAtIndex (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t index;
dbus_int32_t column;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &index, DBUS_TYPE_INVALID))
impl_getRowDescription (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
dbus_int32_t row;
+ AtkTable *table = (AtkTable *) user_data;
const gchar *description;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
impl_getColumnDescription (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t column;
const char *description;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &column, DBUS_TYPE_INVALID))
impl_getRowExtentAt (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
dbus_int32_t extent;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INT32, &column,
impl_getColumnExtentAt (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
dbus_int32_t extent;
DBusError error;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INT32, &column,
impl_getRowHeader (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row;
DBusError error;
AtkObject *obj;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
impl_getColumnHeader (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t column;
DBusError error;
AtkObject *obj;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &column, DBUS_TYPE_INVALID))
impl_getSelectedRows (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
gint *selected_rows = NULL;
gint count;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
count = atk_table_get_selected_rows (table, &selected_rows);
if (!selected_rows)
count = 0;
impl_getSelectedColumns (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
gint *selected_columns = NULL;
gint count;
DBusMessage *reply;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
count = atk_table_get_selected_columns (table, &selected_columns);
if (!selected_columns)
count = 0;
impl_isRowSelected (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
impl_isColumnSelected (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t column;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &column, DBUS_TYPE_INVALID))
static DBusMessage *
impl_isSelected (DBusConnection * bus, DBusMessage * message, void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row, column;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INT32, &column,
impl_addRowSelection (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
impl_addColumnSelection (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t column;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &column, DBUS_TYPE_INVALID))
impl_removeRowSelection (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t row;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &row, DBUS_TYPE_INVALID))
impl_removeColumnSelection (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t column;
DBusError error;
DBusMessage *reply;
dbus_bool_t ret;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &column, DBUS_TYPE_INVALID))
impl_getRowColumnExtentsAtIndex (DBusConnection * bus, DBusMessage * message,
void *user_data)
{
- AtkTable *table = get_table (message);
+ AtkTable *table = (AtkTable *) user_data;
dbus_int32_t index;
DBusError error;
dbus_int32_t row, column, row_extents, col_extents;
AtkObject *cell;
AtkRole role;
- if (!table)
- return spi_dbus_general_error (message);
+ g_return_val_if_fail (ATK_IS_TABLE (user_data),
+ droute_not_yet_handled_error (message));
dbus_error_init (&error);
if (!dbus_message_get_args
(message, &error, DBUS_TYPE_INT32, &index, DBUS_TYPE_INVALID))
};
void
-spi_initialize_table (DRouteData * data)
+spi_initialize_table (DRoutePath *path)
{
- droute_add_interface (data, SPI_DBUS_INTERFACE_TABLE, methods,
- properties,
- (DRouteGetDatumFunction) get_table_from_path, NULL);
+ droute_path_add_interface (path,
+ SPI_DBUS_INTERFACE_TABLE,
+ methods,
+ properties);
};