GNOME Bugzilla – Bug 561296
Add "storage type" to the typelib data for enums
Last modified: 2015-02-07 16:45:25 UTC
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.
Created attachment 122893 [details] [review] Add "storage type" to the typelib data for enums
Created attachment 122894 [details] [review] Add enums to the Everything test module * tests/everything/everything.[ch]: Add TestEnum and TestFlags to the Everything test module and register them as GTypes. https://bugzilla.gnome.org/show_bug.cgi?id=561296
Trivial typo: implemenation Otherwise looks good.
Typo fixed, both patches committed.
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]