- static GType type = 0;
-
- if (!type) {
- static const GTypeInfo tinfo = {
- sizeof (SpiDeviceEventControllerClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) spi_device_event_controller_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class data */
- sizeof (SpiDeviceEventController),
- 0, /* n preallocs */
- (GInstanceInitFunc) spi_device_event_controller_init,
- NULL /* value table */
- };
- /*
- * Here we use bonobo_type_unique instead of
- * gtk_type_unique, this 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_SpiDeviceEventController__init,
- NULL,
- G_STRUCT_OFFSET (SpiDeviceEventControllerClass, epv),
- &tinfo,
- "SpiDeviceEventController");
- }
-
- return type;
+ SpiRegistry *registry = SPI_REGISTRY (registryp);
+ SpiDeviceEventController *retval =
+ SPI_DEVICE_EVENT_CONTROLLER (g_object_new (SPI_DEVICE_EVENT_CONTROLLER_TYPE, NULL));
+ retval->registry = registry;
+ bonobo_object_ref (registry);
+ return retval;