diff options
author | Colin Walters <walters@verbum.org> | 2010-07-07 14:07:17 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2010-07-09 14:15:52 -0400 |
commit | 5cb925b20739c04e18e94a03a3e4e68041894b03 (patch) | |
tree | 246f895c0a92ab1afd341170e45908104964ece3 /girepository/gitypes.h | |
parent | 07a36b499a7db6c65132511dc43f6acd281100ec (diff) | |
download | gobject-introspection-5cb925b20739c04e18e94a03a3e4e68041894b03.tar.gz |
Don't include machine-dependent integral types in the typelib
Previously we had both e.g. GI_TYPE_TAG_LONG and GI_TYPE_TAG_INT64,
but in fact the typelib is already machine-specific, so it makes sense
to just encode this as a fixed type. The .gir remains abstract.
We also remove size_t from the typelib; one would never want to treat
it differently than an integer.
time_t is removed as well; while bindings like gjs had special handling
to turn it into e.g. a JS Date object, I don't think we should encourage
people to use these POSIX types in their API. Use GTimeVal or the like
instead.
Because the typelib is now really machine-specific, we need to remove
the -expected.tgirs from git. (We could potentially add a check
which wasn't just a literal diff later)
https://bugzilla.gnome.org/show_bug.cgi?id=623774
Diffstat (limited to 'girepository/gitypes.h')
-rw-r--r-- | girepository/gitypes.h | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/girepository/gitypes.h b/girepository/gitypes.h index 5ef64ca1..eb1c1021 100644 --- a/girepository/gitypes.h +++ b/girepository/gitypes.h @@ -319,17 +319,8 @@ typedef enum { * @GI_TYPE_TAG_UINT32: 32-bit unsigned integer * @GI_TYPE_TAG_INT64: 64-bit signed integer * @GI_TYPE_TAG_UINT64: 64-bit unsigned integer - * @GI_TYPE_TAG_SHORT: signed short - * @GI_TYPE_TAG_USHORT: unsigned hosrt - * @GI_TYPE_TAG_INT: signed integer - * @GI_TYPE_TAG_UINT: unsigned integer - * @GI_TYPE_TAG_LONG: signed long - * @GI_TYPE_TAG_ULONG: unsigned long - * @GI_TYPE_TAG_SSIZE: ssize_t - * @GI_TYPE_TAG_SIZE: size_t * @GI_TYPE_TAG_FLOAT: float * @GI_TYPE_TAG_DOUBLE: double floating point - * @GI_TYPE_TAG_TIME_T: time_t * @GI_TYPE_TAG_GTYPE: a #GType * @GI_TYPE_TAG_UTF8: a UTF-8 encoded string * @GI_TYPE_TAG_FILENAME: a filename, encoded in the same encoding @@ -355,31 +346,32 @@ typedef enum { GI_TYPE_TAG_UINT32 = 7, GI_TYPE_TAG_INT64 = 8, GI_TYPE_TAG_UINT64 = 9, - GI_TYPE_TAG_SHORT = 10, - GI_TYPE_TAG_USHORT = 11, - GI_TYPE_TAG_INT = 12, - GI_TYPE_TAG_UINT = 13, - GI_TYPE_TAG_LONG = 14, - GI_TYPE_TAG_ULONG = 15, - GI_TYPE_TAG_SSIZE = 16, - GI_TYPE_TAG_SIZE = 17, - GI_TYPE_TAG_FLOAT = 18, - GI_TYPE_TAG_DOUBLE = 19, - GI_TYPE_TAG_TIME_T = 20, - GI_TYPE_TAG_GTYPE = 21, - GI_TYPE_TAG_UTF8 = 22, - GI_TYPE_TAG_FILENAME = 23, + GI_TYPE_TAG_FLOAT = 10, + GI_TYPE_TAG_DOUBLE = 11, + GI_TYPE_TAG_GTYPE = 12, + GI_TYPE_TAG_UTF8 = 13, + GI_TYPE_TAG_FILENAME = 14, /* Non-basic types */ - GI_TYPE_TAG_ARRAY = 24, - GI_TYPE_TAG_INTERFACE = 25, - GI_TYPE_TAG_GLIST = 26, - GI_TYPE_TAG_GSLIST = 27, - GI_TYPE_TAG_GHASH = 28, - GI_TYPE_TAG_ERROR = 29 + GI_TYPE_TAG_ARRAY = 15, + GI_TYPE_TAG_INTERFACE = 16, + GI_TYPE_TAG_GLIST = 17, + GI_TYPE_TAG_GSLIST = 18, + GI_TYPE_TAG_GHASH = 19, + GI_TYPE_TAG_ERROR = 20 /* Note - there is only room currently for 32 tags. * See docs/typelib-format.txt SimpleTypeBlob definition */ } GITypeTag; +#define GI_TYPE_TAG_N_TYPES (GI_TYPE_TAG_ERROR+1) + +/* These were removed and no longer appear in the typelib; + * instead, the machine-specific versions like INT32 are + * always used. + */ +#define GI_TYPE_TAG_SHORT GI_TYPE_TAG_SHORT_WAS_REMOVED +#define GI_TYPE_TAG_INT GI_TYPE_TAG_INT_WAS_REMOVED +#define GI_TYPE_TAG_LONG GI_TYPE_TAG_LONG_WAS_REMOVED + /** * GIArrayType: * @GI_ARRAY_TYPE_C: a C array, char[] for instance |