add g_union_info_find_method

2008-10-14  Johan Bilien  <jobi@via.ecp.fr>

	* girepository/ginfo.c, girepository/girepository.h: add
	g_union_info_find_method


svn path=/trunk/; revision=706
This commit is contained in:
Johan Bilien 2008-10-14 22:25:13 +00:00 committed by Johan Bilien
parent 5069680682
commit 03d8379142
2 changed files with 18 additions and 0 deletions

16
ginfo.c
View File

@ -1838,3 +1838,19 @@ g_union_info_get_discriminator (GIUnionInfo *info,
return NULL; return NULL;
} }
GIFunctionInfo *
g_union_info_find_method (GIUnionInfo *info,
const gchar *name)
{
gint offset;
GIBaseInfo *base = (GIBaseInfo *)info;
Header *header = (Header *)base->typelib->data;
StructBlob *blob = (UnionBlob *)&base->typelib->data[base->offset];
offset = base->offset + header->union_blob_size
+ blob->n_fields * header->field_blob_size;
return find_method (base, offset, blob->n_methods, name);
}

View File

@ -362,6 +362,8 @@ gint g_union_info_get_discriminator_offset (GIUnionInfo *info)
GITypeInfo * g_union_info_get_discriminator_type (GIUnionInfo *info); GITypeInfo * g_union_info_get_discriminator_type (GIUnionInfo *info);
GIConstantInfo * g_union_info_get_discriminator (GIUnionInfo *info, GIConstantInfo * g_union_info_get_discriminator (GIUnionInfo *info,
gint n); gint n);
GIFunctionInfo * g_union_info_find_method (GIUnionInfo *info,
const gchar *name);
/* GIStructInfo */ /* GIStructInfo */