[Gtk-sharp-list] GAPI - Bug Report!

Daniel Espinosa esodan at gmail.com
Tue Dec 5 18:32:26 EST 2006


How or where can I file a bug for this?:

I'm working in GDA# and GnomeDb# bindings using GAPI for automatic
source generator, and found that when a GObject implementation has
multiple GInterface implementations GAPI consistently take in a count
the first and ignores the next, then take other and ignores the next,
then:

If a GObject has a code like (taked from the libgda project):

/* GAPI ignores the GInterfase XML_STORAGE*/

GType
gda_dict_table_get_type (void)
{
	static GType type = 0;

	if (!type) {
		static const GTypeInfo info = {
			sizeof (GdaDictTableClass),
			(GBaseInitFunc) NULL,
			(GBaseFinalizeFunc) NULL,
			(GClassInitFunc) gda_dict_table_class_init,
			NULL,
			NULL,
			sizeof (GdaDictTable),
			0,
			(GInstanceInitFunc) gda_dict_table_init
		};

		static const GInterfaceInfo xml_storage_info = {
			(GInterfaceInitFunc) gda_dict_table_xml_storage_init,
			NULL,
			NULL
		};

		static const GInterfaceInfo entity_info = {
			(GInterfaceInitFunc) gda_dict_table_entity_init,
			NULL,
			NULL
		};
		
		type = g_type_register_static (GDA_TYPE_OBJECT, "GdaDictTable", &info, 0);
		g_type_add_interface_static (type, GDA_TYPE_XML_STORAGE, &xml_storage_info);
		g_type_add_interface_static (type, GDA_TYPE_ENTITY, &entity_info);
	}
	return type;
}

/***********************
 In this case GAPI ignores: XML_STORAGE and RENDERER interfaces
***************************/

GType
gda_query_get_type (void)
{
	static GType type = 0;

	if (!type) {
		static const GTypeInfo info = {
			sizeof (GdaQueryClass),
			(GBaseInitFunc) NULL,
			(GBaseFinalizeFunc) NULL,
			(GClassInitFunc) gda_query_class_init,
			NULL,
			NULL,
			sizeof (GdaQuery),
			0,
			(GInstanceInitFunc) gda_query_init
		};

		static const GInterfaceInfo entity_info = {
			(GInterfaceInitFunc) gda_query_entity_init,
			NULL,
			NULL
		};

		static const GInterfaceInfo xml_storage_info = {
			(GInterfaceInitFunc) gda_query_xml_storage_init,
			NULL,
			NULL
		};

		static const GInterfaceInfo referer_info = {
			(GInterfaceInitFunc) gda_query_referer_init,
			NULL,
			NULL
		};

		static const GInterfaceInfo renderer_info = {
			(GInterfaceInitFunc) gda_query_renderer_init,
			NULL,
			NULL
		};
		
		type = g_type_register_static (GDA_TYPE_QUERY_OBJECT, "GdaQuery", &info, 0);
		g_type_add_interface_static (type, GDA_TYPE_ENTITY, &entity_info);		
		g_type_add_interface_static (type, GDA_TYPE_XML_STORAGE, &xml_storage_info);		
		g_type_add_interface_static (type, GDA_TYPE_REFERER, &referer_info);		
		g_type_add_interface_static (type, GDA_TYPE_RENDERER, &renderer_info);
	}
	return type;
}

-- 
Trabajar, la mejor arma para tu superación
"de grano en grano, se hace la arena" (R) (entrámite, pero para los
cuates: LIBRE)


More information about the Gtk-sharp-list mailing list