Пример #1
0
static gboolean
gobject_based_p(GIBaseInfo *info)
{
    GIBaseInfo *container_info;
    GIRegisteredTypeInfo *registered_type_info;

    container_info = g_base_info_get_container(info);
    if (g_base_info_get_type(container_info) != GI_INFO_TYPE_STRUCT) {
        return TRUE;
    }

    registered_type_info = (GIRegisteredTypeInfo *)container_info;
    if (g_registered_type_info_get_type_init(registered_type_info)) {
        return TRUE;
    }

    return FALSE;
}
Пример #2
0
{
	const gchar *name;
	const gchar *type_name;
	const gchar *type_init;
	gboolean deprecated;
	gboolean is_gtype_struct;
	gboolean foreign;
	gint i;
	gint size;
	int n_elts;

	name = g_base_info_get_name((GIBaseInfo *) info);
	deprecated = g_base_info_is_deprecated((GIBaseInfo *) info);

	type_name = g_registered_type_info_get_type_name((GIRegisteredTypeInfo*) info);
	type_init = g_registered_type_info_get_type_init((GIRegisteredTypeInfo*) info);

	if (g_base_info_get_type((GIBaseInfo *) info) == GI_INFO_TYPE_BOXED)
	{
		fprintf(file->file, "struct %s //boxed\n{\n", name);
	}
	else
	{
		fprintf(file->file, "struct %s\n{\n", name);
	}

	if (type_name != NULL)
		xml_printf(file, " glib:type-name=\"%s\" glib:get-type=\"%s\"", type_name, type_init);

	if (deprecated)
		xml_printf(file, " deprecated=\"1\"");