summaryrefslogtreecommitdiff
path: root/girepository/girnode.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2008-11-18 12:29:10 +0000
committerOwen Taylor <otaylor@src.gnome.org>2008-11-18 12:29:10 +0000
commita26517953e7fefedc8a450f8c727f787296d8823 (patch)
tree4e5b83362f094e7288ed7c45934275e17db8343b /girepository/girnode.h
parent6cea68fc58343509c7012ef7b5fec86a115e6fb4 (diff)
downloadgobject-introspection-a26517953e7fefedc8a450f8c727f787296d8823.tar.gz
Add "storage type" to the typelib data for enums
In order to set and get enum and flag fields in structures, we need to know the integral type that the enumeration is stored as. We are already computing that at compile time in order to compute struct offsets, so the easiest thing to do is to save that in the typelib. * docs/typelib-format.txt girepository/girnode.[ch] girepository/giroffsets.c girepository/gtypelib.h: Add 'storage_type' to the typelib format for EnumBlob and compute and save it at compile time. * girepository/girepository.h girepository/ginfo.c: Add g_enum_info_get_storage_type(). * girepository/gfield.c: Implement reading and writing enum and flags fields based on the storage type. http://bugzilla.gnome.org/show_bug.cgi?id=561296 svn path=/trunk/; revision=944
Diffstat (limited to 'girepository/girnode.h')
-rw-r--r--girepository/girnode.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/girepository/girnode.h b/girepository/girnode.h
index 9829a933..674594d8 100644
--- a/girepository/girnode.h
+++ b/girepository/girnode.h
@@ -259,6 +259,7 @@ struct _GIrNodeEnum
GIrNode node;
gboolean deprecated;
+ gint storage_type;
gchar *gtype_name;
gchar *gtype_init;