+ retval = BONOBO_OBJREF (spi_accessible_new (child));
+ printf ("SpiAccessible get_child_at_index called.\n");
+ return CORBA_Object_duplicate (retval, ev);
+}
+
+/*
+ * CORBA Accessibility::Accessible::getState method implementation
+ */
+static Accessibility_StateSet
+impl_accessibility_accessible_get_state (PortableServer_Servant servant,
+ CORBA_Environment *ev)
+{
+ Accessibility_StateSet retval;
+/* SpiAccessible *accessible = SPI_ACCESSIBLE (bonobo_object_from_servant (servant));
+ AtkStateSet *state = atk_object_ref_state_set (accessible->atko); */
+ retval = CORBA_OBJECT_NIL;
+ printf ("SpiAccessible get_state.\n");
+ /* TODO: implement the bonobo stateset class */
+ return (Accessibility_StateSet) retval;
+}
+
+/*
+ * CORBA Accessibility::Accessible::getRelationSet method implementation
+ */
+static Accessibility_RelationSet *
+impl_accessibility_accessible_get_relation_set (PortableServer_Servant servant,
+ CORBA_Environment *ev)
+{
+ Accessibility_RelationSet *retval;
+ gint n_relations;
+ gint i;
+ SpiAccessible *accessible = SPI_ACCESSIBLE (bonobo_object_from_servant (servant));
+ AtkRelationSet *relation_set = atk_object_ref_relation_set (accessible->atko);
+ n_relations = atk_relation_set_get_n_relations (relation_set);
+ retval = CORBA_sequence_Accessibility_Relation__alloc ();
+ CORBA_sequence_Accessibility_Relation_allocbuf (n_relations);
+
+ for (i=0; i<n_relations; ++i)
+ {
+ retval->_buffer[i] =
+ CORBA_Object_duplicate (bonobo_object_corba_objref (
+ BONOBO_OBJECT (spi_relation_new (atk_relation_set_get_relation (relation_set, i)))),
+ ev);
+ }
+
+ printf ("SpiAccessible get_relation_set.\n");