/** * atspi_table_cell_get_column_header_cells: * @obj: a GObject instance that implements AtspiTableCellIface * * Returns the column headers as an array of cell accessibles. * * Returns: (element-type AtspiAccessible) (transfer full): a GPtrArray of * AtspiAccessibles representing the column header cells. */ GPtrArray * atspi_table_cell_get_column_header_cells (AtspiTableCell *obj, GError **error) { DBusMessage *reply; g_return_val_if_fail (obj != NULL, NULL); reply = _atspi_dbus_call_partial (obj, atspi_interface_table_cell, "GetColumnHeaderCells", error, ""); return get_object_array_and_unref (reply); }
/** * atspi_hypertext_get_link: * @obj: a pointer to the #AtspiHypertext implementor on which to operate. * @link_index: a (zero-index) #gint indicating which hyperlink to query. * * Gets the #AtspiHyperlink object at a specified index. * * Returns: (nullable) (transfer full): the #AtspiHyperlink object * specified by @link_index. **/ AtspiHyperlink * atspi_hypertext_get_link (AtspiHypertext *obj, gint link_index, GError **error) { dbus_int32_t d_link_index = link_index; DBusMessage *reply; g_return_val_if_fail (obj != NULL, NULL); reply = _atspi_dbus_call_partial (obj, atspi_interface_hypertext, "GetLink", error, "i", d_link_index); return _atspi_dbus_return_hyperlink_from_message (reply); }
/** * atspi_hyperlink_get_object: * @obj: a pointer to the #AtspiHyperlink implementor on which to operate. * @i: a (zero-index) #gint indicating which hyperlink anchor to query. * * Gets the object associated with a particular hyperlink anchor, as an * #AtspiAccessible. * * Returns: (transfer full): an #AtspiAccessible that represents the object * associated with the @ith anchor of the specified #AtspiHyperlink. **/ AtspiAccessible* atspi_hyperlink_get_object (AtspiHyperlink *obj, gint i, GError **error) { dbus_int32_t d_i = i; DBusMessage *reply; g_return_val_if_fail (obj != NULL, NULL); reply = _atspi_dbus_call_partial (obj, atspi_interface_hyperlink, "GetObject", error, "i", d_i); return _atspi_dbus_return_accessible_from_message (reply); }
/** * atspi_table_cell_get_position: * @obj: a GObject instance that implements AtspiTableCellIface * @row: (out): the row of the given cell. * @column: (out): the column of the given cell. * * Retrieves the tabular position of this cell. * * Returns: TRUE if successful, FALSE otherwise. */ gint atspi_table_cell_get_position (AtspiTableCell *obj, gint *row, gint *column, GError *error) { DBusMessage *reply; DBusMessageIter iter, iter_struct, iter_variant; dbus_int32_t d_row = -1, d_column = -1; char *iter_sig; g_return_val_if_fail (obj != NULL, -1); reply = _atspi_dbus_call_partial (obj, "org.freedesktop.DBus.Properties", "Get", NULL, "ss", atspi_interface_table_cell, "Position"); dbus_message_iter_init (reply, &iter); /* TODO: Return error here */ if (dbus_message_iter_get_arg_type (&iter) != 'v') return FALSE; dbus_message_iter_recurse (&iter, &iter_variant); iter_sig = dbus_message_iter_get_signature (&iter_variant); /* TODO: Also report error here */ if (strcmp (iter_sig, "(ii)") != 0) { dbus_free (iter_sig); return FALSE; } dbus_free (iter_sig); dbus_message_iter_recurse (&iter_variant, &iter_struct); dbus_message_iter_get_basic (&iter_struct, &d_row); if (row) *row = d_row; dbus_message_iter_next (&iter_struct); dbus_message_iter_get_basic (&iter_struct, &d_column); if (column) *column = d_column; dbus_message_unref (reply); return TRUE; }