- static GType type = 0;
-
- if (!type) {
- static const GTypeInfo tinfo = {
- sizeof (SpiAccessibleClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) spi_accessible_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class data */
- sizeof (SpiAccessible),
- 0, /* n preallocs */
- (GInstanceInitFunc) spi_accessible_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 (
- PARENT_TYPE,
- POA_Accessibility_Accessible__init,
- NULL,
- G_STRUCT_OFFSET (SpiAccessibleClass, epv),
- &tinfo,
- "SpiAccessible");
- }
-
- return type;
+ if (!public_corba_refs)
+ {
+ public_corba_refs = g_hash_table_new (NULL, NULL);
+ }
+ return public_corba_refs;
+}
+
+static void
+de_register_public_ref (SpiBase *object)
+{
+ g_hash_table_remove (get_public_refs (), object->atko);