* Boston, MA 02111-1307, USA.
*/
-/*
- * component.c : bonobo wrapper for accessible component implementation
- *
- */
-#include <config.h>
-#include <bonobo/Bonobo.h>
+/* table.c : implements the Table interface */
+#include <config.h>
#include <stdio.h>
+#include <libspi/accessible.h>
+#include <libspi/table.h>
-/*
- * This pulls the CORBA definitions for the "Accessibility::Accessible" server
- */
-#include <libspi/Accessibility.h>
-
-/*
- * This pulls the definition of the Table bonobo object
- */
-#include "table.h"
-
-/*
- * Static function declarations
- */
-
-static void
-table_class_init (TableClass *klass);
-static void
-table_init (Table *table);
-static void
-table_finalize (GObject *obj);
-static Accessibility_Accessible
-impl__get_caption (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static Accessibility_Accessible
-impl__get_summary (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static CORBA_long
-impl__get_nRows (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static CORBA_long
-impl__get_nRows (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static CORBA_long
-impl__get_nColumns (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static Accessibility_Accessible
-impl_getAccessibleAt (PortableServer_Servant _servant,
- const CORBA_long row,
- const CORBA_long column,
- CORBA_Environment * ev);
-static CORBA_long
-impl_getIndexAt (PortableServer_Servant _servant,
- const CORBA_long row, const CORBA_long column,
- CORBA_Environment * ev);
-static CORBA_long
-impl_getRowAtIndex (PortableServer_Servant _servant,
- const CORBA_long index,
- CORBA_Environment * ev);
-static CORBA_long
-impl_getColumnAtIndex (PortableServer_Servant _servant,
- const CORBA_long index,
- CORBA_Environment * ev);
-static CORBA_string
-impl_getRowDescription (PortableServer_Servant _servant,
- const CORBA_long row,
- CORBA_Environment * ev);
-static CORBA_string
-impl_getColumnDescription (PortableServer_Servant _servant,
- const CORBA_long column,
- CORBA_Environment * ev);
-static CORBA_long
-impl_getRowExtentAt (PortableServer_Servant _servant,
- const CORBA_long row,
- const CORBA_long column,
- CORBA_Environment * ev);
-static CORBA_long
-impl_getColumnExtentAt (PortableServer_Servant _servant,
- const CORBA_long row,
- const CORBA_long column,
- CORBA_Environment * ev);
-static Accessibility_Table
-impl_getRowHeader (PortableServer_Servant _servant,
- const CORBA_long row,
- CORBA_Environment * ev);
-static Accessibility_Table
-impl_getColumnHeader (PortableServer_Servant _servant,
- const CORBA_long column,
- CORBA_Environment * ev);
-static Accessibility_LongSeq *
-impl_getSelectedRows (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static Accessibility_LongSeq *
-impl_getSelectedColumns (PortableServer_Servant _servant,
- CORBA_Environment * ev);
-static CORBA_boolean
-impl_isRowSelected (PortableServer_Servant _servant,
- const CORBA_long row,
- CORBA_Environment * ev);
-static CORBA_boolean
-impl_isColumnSelected (PortableServer_Servant _servant,
- const CORBA_long column,
- CORBA_Environment * ev);
-static CORBA_boolean
-impl_isSelected (PortableServer_Servant _servant,
- const CORBA_long row,
- const CORBA_long column,
- CORBA_Environment * ev);
-
-
+/* A pointer to our parent object class */
static GObjectClass *parent_class;
-GType
-table_get_type (void)
-{
- static GType type = 0;
-
- if (!type) {
- static const GTypeInfo tinfo = {
- sizeof (TableClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) table_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class data */
- sizeof (Table),
- 0, /* n preallocs */
- (GInstanceInitFunc) table_init,
- NULL /* value table */
- };
-
- /*
- * Bonobo_type_unique auto-generates a load of
- * CORBA structures for us. All derived types must
- * use bonobo_type_unique.
- */
- type = bonobo_type_unique (
- BONOBO_OBJECT_TYPE,
- POA_Accessibility_Table__init,
- NULL,
- G_STRUCT_OFFSET (TableClass, epv),
- &tinfo,
- "AccessibleTable");
- }
-
- return type;
-}
-
-static void
-table_class_init (TableClass *klass)
-{
- GObjectClass * object_class = (GObjectClass *) klass;
- POA_Accessibility_Table__epv *epv = &klass->epv;
- parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = table_finalize;
-
-
- /* Initialize epv table */
-
- epv->_get_caption = impl__get_caption;
- epv->_get_summary = impl__get_summary;
- epv->_get_nRows = impl__get_nRows;
- epv->_get_nColumns = impl__get_nColumns;
- epv->getAccessibleAt = impl_getAccessibleAt;
- epv->getIndexAt = impl_getIndexAt;
- epv->getRowAtIndex = impl_getRowAtIndex;
- epv->getColumnAtIndex = impl_getColumnAtIndex;
- epv->getRowDescription = impl_getRowDescription;
- epv->getColumnDescription = impl_getColumnDescription;
- epv->getRowExtentAt = impl_getRowExtentAt;
- epv->getColumnExtentAt = impl_getColumnExtentAt;
- epv->getRowHeader = impl_getRowHeader;
- epv->getColumnHeader = impl_getColumnHeader;
- epv->getSelectedRows = impl_getSelectedRows;
- epv->getSelectedColumns = impl_getSelectedColumns;
- epv->isRowSelected = impl_isRowSelected;
- epv->isColumnSelected = impl_isColumnSelected;
- epv->isSelected = impl_isSelected;
-}
-
-static void
-table_init (Table *table)
-{
-}
-
static void
-table_finalize (GObject *obj)
+spi_table_finalize (GObject *obj)
{
- Table *table = TABLE (obj);
+ SpiTable *table = SPI_TABLE (obj);
g_object_unref (table->atko);
table->atko = NULL;
parent_class->finalize (obj);
}
-Table *
-table_interface_new (AtkObject *obj)
+SpiTable *
+spi_table_interface_new (AtkObject *obj)
{
- Table *new_table =
- TABLE(g_object_new (TABLE_TYPE, NULL));
+ SpiTable *new_table = g_object_new (SPI_TABLE_TYPE, NULL);
new_table->atko = obj;
g_object_ref (obj);
return new_table;
impl__get_caption (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
atk_object = atk_table_get_caption (ATK_TABLE(table-> atko));
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
return CORBA_Object_duplicate (rv, ev);
}
impl__get_summary (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
atk_object = atk_table_get_summary (ATK_TABLE(table->atko));
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
return CORBA_Object_duplicate (rv, ev);
}
impl__get_nRows (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_n_rows (ATK_TABLE(table->atko) );
}
impl__get_nColumns (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_n_columns (ATK_TABLE(table->atko));
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *atk_object;
Accessibility_Accessible rv;
atk_object = atk_table_ref_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(atk_object)));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(atk_object)));
return CORBA_Object_duplicate (rv, ev);
}
const CORBA_long row, const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_index_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
const CORBA_long index,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_row_at_index (ATK_TABLE(table->atko), (gint) index);
}
const CORBA_long index,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_column_at_index (ATK_TABLE(table->atko), (gint) index);
}
static CORBA_string
-impl_getRowDescription (PortableServer_Servant _servant,
- const CORBA_long row,
- CORBA_Environment * ev)
+impl_getRowDescription (PortableServer_Servant servant,
+ const CORBA_long row,
+ CORBA_Environment *ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
- CORBA_char *rv;
+ const char *rv;
+ SpiTable *table;
+
+ table = SPI_TABLE (bonobo_object_from_servant (servant));
+
+ rv = atk_table_get_row_description (ATK_TABLE (table->atko), row);
- rv = atk_table_get_row_description (ATK_TABLE(table->atko), (gint) row);
if (rv)
return CORBA_string_dup (rv);
else
static CORBA_string
-impl_getColumnDescription (PortableServer_Servant _servant,
- const CORBA_long column,
- CORBA_Environment * ev)
+impl_getColumnDescription (PortableServer_Servant servant,
+ const CORBA_long column,
+ CORBA_Environment *ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
- CORBA_char *rv;
+ const char *rv;
+ SpiTable *table;
+
+ table = SPI_TABLE (bonobo_object_from_servant (servant));
+
+ rv = atk_table_get_row_description (ATK_TABLE (table->atko), column);
- rv = atk_table_get_column_description (ATK_TABLE(table->atko), (gint) column);
if (rv)
return CORBA_string_dup (rv);
else
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_row_extent_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_long)
atk_table_get_column_extent_at (ATK_TABLE(table->atko),
(gint) row, (gint) column);
const CORBA_long row,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *header;
Accessibility_Table rv;
header = atk_table_get_row_header (ATK_TABLE(table->atko), (gint) row);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(header)));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(header)));
return CORBA_Object_duplicate (rv, ev);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
AtkObject *header;
Accessibility_Table rv;
header = atk_table_get_column_header (ATK_TABLE(table->atko), (gint) column);
- rv = bonobo_object_corba_objref (BONOBO_OBJECT(accessible_new(header)));
+ rv = bonobo_object_corba_objref (BONOBO_OBJECT(spi_accessible_new(header)));
return CORBA_Object_duplicate (rv, ev);
}
impl_getSelectedRows (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
gint *selectedRows;
gint length;
Accessibility_LongSeq *retval;
impl_getSelectedColumns (PortableServer_Servant _servant,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
gint *selectedColumns;
gint length;
Accessibility_LongSeq *retval;
const CORBA_long row,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
atk_table_is_row_selected (ATK_TABLE(table->atko), (gint) row);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
atk_table_is_column_selected (ATK_TABLE(table->atko), (gint) column);
}
const CORBA_long column,
CORBA_Environment * ev)
{
- Table *table = TABLE (bonobo_object_from_servant (_servant));
+ SpiTable *table = SPI_TABLE (bonobo_object_from_servant (_servant));
return (CORBA_boolean)
atk_table_is_selected (ATK_TABLE(table->atko),
(gint) row, (gint) column);
}
+static void
+spi_table_class_init (SpiTableClass *klass)
+{
+ GObjectClass * object_class = (GObjectClass *) klass;
+ POA_Accessibility_Table__epv *epv = &klass->epv;
+ parent_class = g_type_class_peek_parent (klass);
+
+ object_class->finalize = spi_table_finalize;
+ /* Initialize epv table */
+
+ epv->_get_caption = impl__get_caption;
+ epv->_get_summary = impl__get_summary;
+ epv->_get_nRows = impl__get_nRows;
+ epv->_get_nColumns = impl__get_nColumns;
+ epv->getAccessibleAt = impl_getAccessibleAt;
+ epv->getIndexAt = impl_getIndexAt;
+ epv->getRowAtIndex = impl_getRowAtIndex;
+ epv->getColumnAtIndex = impl_getColumnAtIndex;
+ epv->getRowDescription = impl_getRowDescription;
+ epv->getColumnDescription = impl_getColumnDescription;
+ epv->getRowExtentAt = impl_getRowExtentAt;
+ epv->getColumnExtentAt = impl_getColumnExtentAt;
+ epv->getRowHeader = impl_getRowHeader;
+ epv->getColumnHeader = impl_getColumnHeader;
+ epv->getSelectedRows = impl_getSelectedRows;
+ epv->getSelectedColumns = impl_getSelectedColumns;
+ epv->isRowSelected = impl_isRowSelected;
+ epv->isColumnSelected = impl_isColumnSelected;
+ epv->isSelected = impl_isSelected;
+}
+
+static void
+spi_table_init (SpiTable *table)
+{
+}
+
+BONOBO_TYPE_FUNC_FULL (SpiTable,
+ Accessibility_Table,
+ BONOBO_TYPE_OBJECT,
+ spi_table);