removed enum GTypeFundamentals. use macros to provide the constant

Sun Nov 25 22:33:32 2001  Tim Janik  <timj@gtk.org>

        * gtype.h: removed enum GTypeFundamentals. use macros
        to provide the constant fundamental type IDs, so they
        all return numbers of type GType, and not int.
        sizeof(GTypeFundamentals) < sizeof(GType) problem reported
        and fix sugegsted by Havoc.
This commit is contained in:
Tim Janik
2001-11-25 21:59:53 +00:00
committed by Tim Janik
parent f409c97549
commit 5f04f01ff1
4 changed files with 73 additions and 45 deletions

View File

@ -96,12 +96,12 @@ included in.
On non-Windows platforms, expands to nothing. On non-Windows platforms, expands to nothing.
</para> </para>
@static: empty or "static". @static: empty or "static".
@dll_name: the name of the (pointer to the) char array where the DLL name @dll_name: the name of the (pointer to the) char array where the DLL name
will be stored. If this is used, you must also include will be stored. If this is used, you must also include
<filename>windows.h</filename>. If you need a more complex DLL entry <filename>windows.h</filename>. If you need a more complex DLL entry
point function, you cannot use this. point function, you cannot use this.
<!-- # Unused Parameters # -->
@static: @static:
@dll_name: @dll_name:

View File

@ -187,11 +187,35 @@ The predefined identifiers of the reserved fundamental types.
@G_TYPE_BOXED: Identifier for the "#GBoxed" type. @G_TYPE_BOXED: Identifier for the "#GBoxed" type.
@G_TYPE_PARAM: Identifier for the "#GParam" type. @G_TYPE_PARAM: Identifier for the "#GParam" type.
@G_TYPE_OBJECT: Identifier for the "#GObject" type. @G_TYPE_OBJECT: Identifier for the "#GObject" type.
@G_TYPE_RESERVED_GLIB_FIRST:
@G_TYPE_RESERVED_GLIB_LAST:
@G_TYPE_RESERVED_BSE_FIRST: First fundamental type ID reserved for BSE. @G_TYPE_RESERVED_BSE_FIRST: First fundamental type ID reserved for BSE.
@G_TYPE_RESERVED_BSE_LAST: Last fundamental type ID reserved for BSE. @G_TYPE_RESERVED_BSE_LAST: Last fundamental type ID reserved for BSE.
@G_TYPE_RESERVED_USER_FIRST: @G_TYPE_RESERVED_LAST_FUNDAMENTAL:
@G_TYPE_CONSTANT_TYPES:
@G_TYPE_CLOSURE:
@G_TYPE_VALUE:
@G_TYPE_VALUE_ARRAY:
@G_TYPE_GSTRING:
@G_TYPE_PARAM_CHAR:
@G_TYPE_PARAM_UCHAR:
@G_TYPE_PARAM_BOOLEAN:
@G_TYPE_PARAM_INT:
@G_TYPE_PARAM_UINT:
@G_TYPE_PARAM_LONG:
@G_TYPE_PARAM_ULONG:
@G_TYPE_PARAM_INT64:
@G_TYPE_PARAM_UINT64:
@G_TYPE_PARAM_UNICHAR:
@G_TYPE_PARAM_ENUM:
@G_TYPE_PARAM_FLAGS:
@G_TYPE_PARAM_FLOAT:
@G_TYPE_PARAM_DOUBLE:
@G_TYPE_PARAM_STRING:
@G_TYPE_PARAM_PARAM:
@G_TYPE_PARAM_BOXED:
@G_TYPE_PARAM_POINTER:
@G_TYPE_PARAM_VALUE_ARRAY:
@G_TYPE_PARAM_CLOSURE:
@G_TYPE_PARAM_OBJECT:
<!-- ##### STRUCT GTypeInterface ##### --> <!-- ##### STRUCT GTypeInterface ##### -->
<para> <para>

View File

@ -1,8 +1,15 @@
Sun Nov 25 22:33:32 2001 Tim Janik <timj@gtk.org>
* gtype.h: removed enum GTypeFundamentals. use macros
to provide the constant fundamental type IDs, so they
all return numbers of type GType, and not int.
sizeof(GTypeFundamentals) < sizeof(GType) problem reported
and fix sugegsted by Havoc.
2001-11-23 Hans Breuer <hans@breuer.org> 2001-11-23 Hans Breuer <hans@breuer.org>
* gobject.def : updated externals * gobject.def : updated externals
Mon Nov 19 14:35:56 2001 Owen Taylor <otaylor@redhat.com> Mon Nov 19 14:35:56 2001 Owen Taylor <otaylor@redhat.com>
* *.h: Improve the detection of invalid includes by moving * *.h: Improve the detection of invalid includes by moving

View File

@ -31,47 +31,44 @@ G_BEGIN_DECLS
*/ */
#define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type)) #define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type))
#define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT) #define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT)
#define G_TYPE_FUNDAMENTAL_SHIFT (2)
/* Constant fundamental types,
/* Constant fundamental types * introduced by g_type_init().
*/ */
typedef enum /*< skip >*/ #define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
{ #define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
/* standard types, introduced by g_type_init() */ #define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2)
G_TYPE_INVALID = 0 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3)
G_TYPE_NONE = 1 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4)
G_TYPE_INTERFACE = 2 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5)
#define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6)
/* GLib type IDs */ #define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7)
G_TYPE_CHAR = 3 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8)
G_TYPE_UCHAR = 4 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9)
G_TYPE_BOOLEAN = 5 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10)
G_TYPE_INT = 6 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11)
G_TYPE_UINT = 7 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12)
G_TYPE_LONG = 8 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13)
G_TYPE_ULONG = 9 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14)
G_TYPE_INT64 = 10 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15)
G_TYPE_UINT64 = 11 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16)
G_TYPE_ENUM = 12 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17)
G_TYPE_FLAGS = 13 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18)
G_TYPE_FLOAT = 14 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19)
G_TYPE_DOUBLE = 15 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20)
G_TYPE_STRING = 16 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_POINTER = 17 << G_TYPE_FUNDAMENTAL_SHIFT,
G_TYPE_BOXED = 18 << G_TYPE_FUNDAMENTAL_SHIFT, /* Reserved fundamental type numbers to create new fundamental
G_TYPE_PARAM = 19 << G_TYPE_FUNDAMENTAL_SHIFT, * type IDs with G_TYPE_MAKE_FUNDAMENTAL().
G_TYPE_OBJECT = 20 << G_TYPE_FUNDAMENTAL_SHIFT, * Send email to gtk-devel-list@redhat.com for reservations.
*/
/* reserved fundamental type ids, #define G_TYPE_FUNDAMENTAL_SHIFT (2)
* mail gtk-devel-list@redhat.com for reservations #define G_TYPE_MAKE_FUNDAMENTAL(x) ((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
*/ #define G_TYPE_RESERVED_GLIB_FIRST (21)
G_TYPE_RESERVED_GLIB_FIRST = 21 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_RESERVED_GLIB_LAST (31)
G_TYPE_RESERVED_GLIB_LAST = 31 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_RESERVED_BSE_FIRST (32)
G_TYPE_RESERVED_BSE_FIRST = 32 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_RESERVED_BSE_LAST (48)
G_TYPE_RESERVED_BSE_LAST = 48 << G_TYPE_FUNDAMENTAL_SHIFT, #define G_TYPE_RESERVED_USER_FIRST (49)
G_TYPE_RESERVED_USER_FIRST = 49 << G_TYPE_FUNDAMENTAL_SHIFT
} GTypeFundamentals;
/* Type Checking Macros /* Type Checking Macros