mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-28 21:22:11 +01:00
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:
parent
5069680682
commit
03d8379142
16
ginfo.c
16
ginfo.c
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -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 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user