| 
									
										
											  
											
												added newly added gobject/ headers.
Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
        * glib-object.h: added newly added gobject/ headers.
        * gmesage.c: print g_message() output to stderr instead of stdout.
Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_free_instance): for the moment, freeing object
        structures will fill their memory portion with 0xAA. there's a
        FIXME there, remove this line at a later point.
Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>
        * glib-genmarshal.1:
        * glib-genmarshal.c: added publically installed marshaller generator.
        * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
        interface VTable from instances.
Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>
        * gobject.[hc]: new functions for closure maintenance:
        (g_object_watch_closure): maintain validity of the object and
        the closure for objects that are used as data part of a closure.
        (g_cclosure_new_object): convenience function to create C closures
        that have an object as data argument.
        (g_closure_new_object): convenience function to create closures
        that have an object as data argument.
        * gclosure.[hc]: implementation of GClosure mechanism.
        a closure is basically an encapsulation of a callback function
        and its environment. ideally, most places supporting callback
        functions will simply take a GClosure* pointer and thus unify
        callback environments wrg destroy notification etc.
        GClosure provides destroy notifiers for arbitrary data pointers,
        reference counting, invalidation notification (it can be invalidated
        which is merely a deactivate state) and a marshallinbg abstraction.
        GCClosure is also provided in these files, they present a specialized
        GClosure implementation for C language callbacks.
        * genum.c: macro cleanups.
        * gboxed.[hc]: new files, for boxed type abstraction.
        (g_boxed_copy): copy a boxed structure
        (g_boxed_free): free a boxed structure
        (g_value_set_boxed):
        (g_value_get_boxed): standard GValue functions for boxed types
        (g_boxed_type_register_static): convenience function for easy
        introduction of new G_TYPE_BOXED derivatives.
        * gparam.[hc]: introduced g_param_type_register_static(), a short hand
        for creation of new GParamSpec derived types.
        * gtype.[hc]: many fixes, introduced ability to flag individual
        type nodes as ABSTRACT upon registration, added value_peek_pointer()
        to the value table to peek at GValue contents as a pointer for types
        that support this. fixed up GValue checks.
        * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
        to peek at the value contents as pointer.
        * *.[hc]: adaptions to type macro fixes and changes in the type
        registration API.
        * many const corrections over the place.
Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_conforms_to): this function basically behaves like
        and is_a check, except that it _additionally_ features interfaces
        for instantiatable types. enforce this in the second branch as well
        (`type' conforms_to `type') even if `type' is not an interface type.
Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>
        * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
        * gtype.[hc]:
        * gobject.c:
        * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
        suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
        and G_TYPE_POINTER.
Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>
        * gbsearcharray.[hc]: long standing needed generic implementation
        of a binary searchable, sorted and dynamically sized array.
											
										 
											2000-10-25 20:36:35 +00:00
										 |  |  | .TH GLIB-GENMARSHAL 1 "18 Oct 2000" | 
					
						
							|  |  |  | .SH NAME | 
					
						
							|  |  |  | glib-genmarshal \- C code marshaller generation utility for GLib closures | 
					
						
							|  |  |  | .SH SYNOPSIS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \fBglib-genmarshal\fP [\fIoptions\fP] [\fIfiles...\fP] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH DESCRIPTION | 
					
						
							|  |  |  | \fBglib-genmarshal\fP is a small utility that generates C code marshallers | 
					
						
							|  |  |  | for callback functions of the GClosure mechanism in the GObject sublibrary | 
					
						
							|  |  |  | of GLib. The marshaller functions have a standard signature, they get passed | 
					
						
							|  |  |  | in the invoking closure, an array of value structures holding the callback | 
					
						
							|  |  |  | function parameters and a value structure for the return value of the | 
					
						
							|  |  |  | callback. The marshaller is then responsible to call the respective C code | 
					
						
							|  |  |  | function of the closure with all the parameters on the stack and to collect | 
					
						
							|  |  |  | its return value. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH INVOCATION | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \fBglib-genmarshal\fP takes a list of marshallers to generate as input. | 
					
						
							|  |  |  | The marshaller list is either read from standard input or from files | 
					
						
							|  |  |  | passed as additional arguments on the command line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SS Options | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI--header | 
					
						
							|  |  |  | Generate header file contents of the marshallers. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI--body | 
					
						
							|  |  |  | Generate C code file contents of the marshallers. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI--prefix=string, --prefix string | 
					
						
							|  |  |  | Specify marshaller prefix. The default prefix is `\fIg_cclosure_marshal\fP'. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI--skip-source | 
					
						
							|  |  |  | Skip source location remarks in generated comments. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
											  
											
												fixed dealing with collection/lcopy of NULL values.
Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>
	* gboxed.c: fixed dealing with collection/lcopy of NULL values.
	* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
	convenience macro.
	* Makefile.am: cleanups, marshaller generation rules.
	* gmarshal.[hc]: new files with GRuntime standard marshallers.
	* glib-genmarshal.c: fix log domain, support gruntime standard
	marshallers, suport G_TYPE_PARAM, come with extern "C" and
	#include gmarshal.h.
	* glib-genmarshal.1: reflect glib-genmarshal.c updates.
	* gobject.[hc]: implement object constructor. rework parameter
	changed notification queueing, we support queue freezes now and
	don't dispatch from an idle handler anymore.
	parameter->property rename hassle.
	implemented ::properties_changed and ::notify::* signals for
	property change notification (the later supports property names
	as details). added signal connection and named data properties.
	(g_signal_connect_object): new function to setup while_alive
	connections.
	(g_object_class_install_property): sink properties now, since they
	are initially floating.
	(g_object_steal_data):
	(g_object_set_data_full):
	(g_object_set_data):
	(g_object_get_data): set/get data by using g_datalist_*() functions
	directly.
	(g_object_queue_param_changed): nuked.
	(g_object_freeze_notify): start queueing of property changes (freeze/
	thaw calls stack).
	(g_object_notify): announce changes of a certain property directly.
	(g_object_thaw_notify): process queue of property changes, therefore
	emitting GObject::notify::detail with detail being the changed
	properties names.
	(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
	G_WARN_INVALID_PARAM_ID().
	* gparam.[hc]: param specs are now initially floating and need to be
	sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
	added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
	required by GObjectClass.constructor().
	* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
	GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
	and G_TYPE_CCALLBACK respectively.
	* gsignal.[hc]: cleanups.
	(signal_id_lookup): after walking the anchestry, try interfaces as well.
	(g_signal_new): new function to create signals from varargs type list.
	(g_signal_connect_closure): closure connection variant that works from
	signal name+detail.
	(g_signal_connect_data): c handler connection variant that works from
	signal name+detail.
	(g_signal_emit_valist): emit signal for an instance with paraneters
	collected from a va_list.
	(g_signal_emit): emit signal, taking parameters from varargs list.
	(g_signal_emit_by_name): same as g_signal_emit, working from
	signal name+detail.
	(signal_emit_R): return whether return_value needs to be altered.
	* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
	the points that need to reflect the upcoming rename.
	melt g_type_conforms_to() functionality into g_type_is_a(), as that
	is what we really want (liskov substitution principle).
	assorted changes to other files due to conforms_to->is_a.
	* gvalue.[hc]: implemented g_value_set_instance() that sets a value
	from an instantiatable type via the value_table's collect_value()
	function (based on an idea from James Henstridge <james@daa.com.au>).
	cleanups/fixes.
	* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
											
										 
											2000-12-12 07:32:00 +00:00
										 |  |  | \fI--nostdinc | 
					
						
							|  |  |  | Do not use the standard GRuntime marshallers, and skip gmarshal.h include | 
					
						
							|  |  |  | directive in generated header files. | 
					
						
							|  |  |  | .TP | 
					
						
							| 
									
										
											  
											
												added newly added gobject/ headers.
Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
        * glib-object.h: added newly added gobject/ headers.
        * gmesage.c: print g_message() output to stderr instead of stdout.
Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_free_instance): for the moment, freeing object
        structures will fill their memory portion with 0xAA. there's a
        FIXME there, remove this line at a later point.
Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>
        * glib-genmarshal.1:
        * glib-genmarshal.c: added publically installed marshaller generator.
        * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
        interface VTable from instances.
Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>
        * gobject.[hc]: new functions for closure maintenance:
        (g_object_watch_closure): maintain validity of the object and
        the closure for objects that are used as data part of a closure.
        (g_cclosure_new_object): convenience function to create C closures
        that have an object as data argument.
        (g_closure_new_object): convenience function to create closures
        that have an object as data argument.
        * gclosure.[hc]: implementation of GClosure mechanism.
        a closure is basically an encapsulation of a callback function
        and its environment. ideally, most places supporting callback
        functions will simply take a GClosure* pointer and thus unify
        callback environments wrg destroy notification etc.
        GClosure provides destroy notifiers for arbitrary data pointers,
        reference counting, invalidation notification (it can be invalidated
        which is merely a deactivate state) and a marshallinbg abstraction.
        GCClosure is also provided in these files, they present a specialized
        GClosure implementation for C language callbacks.
        * genum.c: macro cleanups.
        * gboxed.[hc]: new files, for boxed type abstraction.
        (g_boxed_copy): copy a boxed structure
        (g_boxed_free): free a boxed structure
        (g_value_set_boxed):
        (g_value_get_boxed): standard GValue functions for boxed types
        (g_boxed_type_register_static): convenience function for easy
        introduction of new G_TYPE_BOXED derivatives.
        * gparam.[hc]: introduced g_param_type_register_static(), a short hand
        for creation of new GParamSpec derived types.
        * gtype.[hc]: many fixes, introduced ability to flag individual
        type nodes as ABSTRACT upon registration, added value_peek_pointer()
        to the value table to peek at GValue contents as a pointer for types
        that support this. fixed up GValue checks.
        * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
        to peek at the value contents as pointer.
        * *.[hc]: adaptions to type macro fixes and changes in the type
        registration API.
        * many const corrections over the place.
Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_conforms_to): this function basically behaves like
        and is_a check, except that it _additionally_ features interfaces
        for instantiatable types. enforce this in the second branch as well
        (`type' conforms_to `type') even if `type' is not an interface type.
Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>
        * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
        * gtype.[hc]:
        * gobject.c:
        * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
        suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
        and G_TYPE_POINTER.
Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>
        * gbsearcharray.[hc]: long standing needed generic implementation
        of a binary searchable, sorted and dynamically sized array.
											
										 
											2000-10-25 20:36:35 +00:00
										 |  |  | \fI--g-fatal-warnings | 
					
						
							|  |  |  | Make warnings fatal, that is, exit immediately once a warning occours. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI-h, --help\fP  | 
					
						
							|  |  |  | Print brief help and exit. | 
					
						
							|  |  |  | .TP | 
					
						
							|  |  |  | \fI-v, --version\fP  | 
					
						
							|  |  |  | Print version and exit. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SS Marshaller list format | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | The marshaller lists are processed line by line, a line can contain a | 
					
						
							|  |  |  | comment in the form of | 
					
						
							|  |  |  | .RS | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | # this is a comment | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RE | 
					
						
							|  |  |  | or a marshaller specification of the form | 
					
						
							|  |  |  | .RS | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | \fIRTYPE\fP:\fBPTYPE\fP | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | \fIRTYPE\fP:\fBPTYPE\fP,\fBPTYPE\fP | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | \fIRTYPE\fP:\fBPTYPE\fP,\fBPTYPE\fP,\fBPTYPE\fP | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | # up to 16 \fBPTYPE\fPs may be present | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RE | 
					
						
							|  |  |  | The \fIRTYPE\fP part specifies the callback's return type and | 
					
						
							|  |  |  | the \fBPTYPE\fPs right to the colon specify the callback's | 
					
						
							|  |  |  | parameter list, except for the first and the last arguments which | 
					
						
							|  |  |  | are always pointers. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SS Parameter types | 
					
						
							|  |  |  | Currently, the following types are supported: | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIVOID | 
					
						
							|  |  |  | indicates no return type, or no extra parameters. if \fIVOID\fP is used as | 
					
						
							|  |  |  | the parameter list, no additional parameters may be present. | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIBOOLEAN | 
					
						
							|  |  |  | for boolean types (gboolean) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fICHAR | 
					
						
							|  |  |  | for signed char types (gchar) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIUCHAR | 
					
						
							|  |  |  | for unsigned char types (guchar) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIINT | 
					
						
							|  |  |  | for signed integer types (gint) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIUINT | 
					
						
							|  |  |  | for unsigned integer types (guint) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fILONG | 
					
						
							|  |  |  | for signed long integer types (glong) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIULONG | 
					
						
							|  |  |  | for unsigned long integer types (gulong) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIENUM | 
					
						
							|  |  |  | for enumeration types (gint) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIFLAGS | 
					
						
							|  |  |  | for flag enumeration types (guint) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIFLOAT | 
					
						
							|  |  |  | for single-precision float types (gfloat) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIDOUBLE | 
					
						
							|  |  |  | for double-precision float types (gdouble) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fISTRING | 
					
						
							|  |  |  | for string types (gchar*) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIBOXED | 
					
						
							|  |  |  | for boxed (anonymous but reference counted) types (GBoxed*) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							| 
									
										
											  
											
												fixed dealing with collection/lcopy of NULL values.
Mon Dec 11 04:44:11 2000  Tim Janik  <timj@gtk.org>
	* gboxed.c: fixed dealing with collection/lcopy of NULL values.
	* gclosure.h: removed insane ramblings, added G_CALLBACK() a casting
	convenience macro.
	* Makefile.am: cleanups, marshaller generation rules.
	* gmarshal.[hc]: new files with GRuntime standard marshallers.
	* glib-genmarshal.c: fix log domain, support gruntime standard
	marshallers, suport G_TYPE_PARAM, come with extern "C" and
	#include gmarshal.h.
	* glib-genmarshal.1: reflect glib-genmarshal.c updates.
	* gobject.[hc]: implement object constructor. rework parameter
	changed notification queueing, we support queue freezes now and
	don't dispatch from an idle handler anymore.
	parameter->property rename hassle.
	implemented ::properties_changed and ::notify::* signals for
	property change notification (the later supports property names
	as details). added signal connection and named data properties.
	(g_signal_connect_object): new function to setup while_alive
	connections.
	(g_object_class_install_property): sink properties now, since they
	are initially floating.
	(g_object_steal_data):
	(g_object_set_data_full):
	(g_object_set_data):
	(g_object_get_data): set/get data by using g_datalist_*() functions
	directly.
	(g_object_queue_param_changed): nuked.
	(g_object_freeze_notify): start queueing of property changes (freeze/
	thaw calls stack).
	(g_object_notify): announce changes of a certain property directly.
	(g_object_thaw_notify): process queue of property changes, therefore
	emitting GObject::notify::detail with detail being the changed
	properties names.
	(G_OBJECT_WARN_INVALID_PROPERTY_ID): saner macro variant of former
	G_WARN_INVALID_PARAM_ID().
	* gparam.[hc]: param specs are now initially floating and need to be
	sunken with g_param_spec_sink(), support G_TYPE_PARAM values.
	added G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY parameter flags,
	required by GObjectClass.constructor().
	* gparamspecs.[hc]: added GParamSpecParam, GParamSpecPointer and
	GParamSpecCCallback, param specs for G_TYPE_PARAM, G_TYPE_POINTER
	and G_TYPE_CCALLBACK respectively.
	* gsignal.[hc]: cleanups.
	(signal_id_lookup): after walking the anchestry, try interfaces as well.
	(g_signal_new): new function to create signals from varargs type list.
	(g_signal_connect_closure): closure connection variant that works from
	signal name+detail.
	(g_signal_connect_data): c handler connection variant that works from
	signal name+detail.
	(g_signal_emit_valist): emit signal for an instance with paraneters
	collected from a va_list.
	(g_signal_emit): emit signal, taking parameters from varargs list.
	(g_signal_emit_by_name): same as g_signal_emit, working from
	signal name+detail.
	(signal_emit_R): return whether return_value needs to be altered.
	* gtype.[hc]: set log-domain to GRuntime, i'm slowly getting to all
	the points that need to reflect the upcoming rename.
	melt g_type_conforms_to() functionality into g_type_is_a(), as that
	is what we really want (liskov substitution principle).
	assorted changes to other files due to conforms_to->is_a.
	* gvalue.[hc]: implemented g_value_set_instance() that sets a value
	from an instantiatable type via the value_table's collect_value()
	function (based on an idea from James Henstridge <james@daa.com.au>).
	cleanups/fixes.
	* gvaluetypes.[hc]: implement G_TYPE_CCALLBACK and G_TYPE_PARAM.
											
										 
											2000-12-12 07:32:00 +00:00
										 |  |  | \fIPARAM | 
					
						
							|  |  |  | for GParamSpec or derived types (GParamSpec*) | 
					
						
							| 
									
										
											  
											
												added newly added gobject/ headers.
Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>
        * glib-object.h: added newly added gobject/ headers.
        * gmesage.c: print g_message() output to stderr instead of stdout.
Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_free_instance): for the moment, freeing object
        structures will fill their memory portion with 0xAA. there's a
        FIXME there, remove this line at a later point.
Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>
        * glib-genmarshal.1:
        * glib-genmarshal.c: added publically installed marshaller generator.
        * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
        interface VTable from instances.
Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>
        * gobject.[hc]: new functions for closure maintenance:
        (g_object_watch_closure): maintain validity of the object and
        the closure for objects that are used as data part of a closure.
        (g_cclosure_new_object): convenience function to create C closures
        that have an object as data argument.
        (g_closure_new_object): convenience function to create closures
        that have an object as data argument.
        * gclosure.[hc]: implementation of GClosure mechanism.
        a closure is basically an encapsulation of a callback function
        and its environment. ideally, most places supporting callback
        functions will simply take a GClosure* pointer and thus unify
        callback environments wrg destroy notification etc.
        GClosure provides destroy notifiers for arbitrary data pointers,
        reference counting, invalidation notification (it can be invalidated
        which is merely a deactivate state) and a marshallinbg abstraction.
        GCClosure is also provided in these files, they present a specialized
        GClosure implementation for C language callbacks.
        * genum.c: macro cleanups.
        * gboxed.[hc]: new files, for boxed type abstraction.
        (g_boxed_copy): copy a boxed structure
        (g_boxed_free): free a boxed structure
        (g_value_set_boxed):
        (g_value_get_boxed): standard GValue functions for boxed types
        (g_boxed_type_register_static): convenience function for easy
        introduction of new G_TYPE_BOXED derivatives.
        * gparam.[hc]: introduced g_param_type_register_static(), a short hand
        for creation of new GParamSpec derived types.
        * gtype.[hc]: many fixes, introduced ability to flag individual
        type nodes as ABSTRACT upon registration, added value_peek_pointer()
        to the value table to peek at GValue contents as a pointer for types
        that support this. fixed up GValue checks.
        * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
        to peek at the value contents as pointer.
        * *.[hc]: adaptions to type macro fixes and changes in the type
        registration API.
        * many const corrections over the place.
Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>
        * gtype.c (g_type_conforms_to): this function basically behaves like
        and is_a check, except that it _additionally_ features interfaces
        for instantiatable types. enforce this in the second branch as well
        (`type' conforms_to `type') even if `type' is not an interface type.
Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>
        * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.
        * gtype.[hc]:
        * gobject.c:
        * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
        suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
        and G_TYPE_POINTER.
Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>
        * gbsearcharray.[hc]: long standing needed generic implementation
        of a binary searchable, sorted and dynamically sized array.
											
										 
											2000-10-25 20:36:35 +00:00
										 |  |  | \fIPOINTER | 
					
						
							|  |  |  | for anonymous pointer types (gpointer) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIOBJECT | 
					
						
							|  |  |  | for GObject or derived types (GObject*) | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fINONE | 
					
						
							|  |  |  | deprecated alias for \fIVOID\fP | 
					
						
							|  |  |  | .TP 12 | 
					
						
							|  |  |  | \fIBOOL | 
					
						
							|  |  |  | deprecated alias for \fIBOOLEAN\fP | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH EXAMPLE | 
					
						
							|  |  |  | To generate marshallers for the following callback functions: | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RS | 
					
						
							|  |  |  | .nf | 
					
						
							|  |  |  | void   foo (gpointer data1, | 
					
						
							|  |  |  |             gpointer data2); | 
					
						
							|  |  |  | void   bar (gpointer data1, | 
					
						
							|  |  |  |             gint     param1, | 
					
						
							|  |  |  |             gpointer data2); | 
					
						
							|  |  |  | gfloat baz (gpointer data1, | 
					
						
							|  |  |  |             gboolean param1, | 
					
						
							|  |  |  |             guchar   param2, | 
					
						
							|  |  |  |             gpointer data2); | 
					
						
							|  |  |  | .fi | 
					
						
							|  |  |  | .RE | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | The marshaller list has to look like this: | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RS | 
					
						
							|  |  |  | .nf | 
					
						
							|  |  |  | VOID:VOID | 
					
						
							|  |  |  | VOID:INT | 
					
						
							|  |  |  | FLOAT:BOOLEAN,UCHAR | 
					
						
							|  |  |  | .fi | 
					
						
							|  |  |  | .RE | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | The generated marshallers have the arguments encoded | 
					
						
							|  |  |  | in their function name. For this particular list, they | 
					
						
							|  |  |  | are | 
					
						
							|  |  |  | g_cclosure_marshal_VOID__VOID(), | 
					
						
							|  |  |  | g_cclosure_marshal_VOID__INT(),  | 
					
						
							|  |  |  | g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR(). | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | They can be used directly for GClosures or be passed in as | 
					
						
							|  |  |  | the GSignalCMarshaller c_marshaller; argument upon creation | 
					
						
							|  |  |  | of signals: | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .nf | 
					
						
							|  |  |  | GClosure *cc_foo, *cc_bar, *cc_baz; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cc_foo = g_cclosure_new (NULL, foo, NULL); | 
					
						
							|  |  |  | g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID); | 
					
						
							|  |  |  | cc_bar = g_cclosure_new (NULL, bar, NULL); | 
					
						
							|  |  |  | g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT); | 
					
						
							|  |  |  | cc_baz = g_cclosure_new (NULL, baz, NULL); | 
					
						
							|  |  |  | g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR); | 
					
						
							|  |  |  | .fi | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH SEE ALSO | 
					
						
							|  |  |  | \fB | 
					
						
							|  |  |  | glib-config(1) | 
					
						
							|  |  |  | \fP | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH BUGS  | 
					
						
							|  |  |  | None known yet. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .SH AUTHOR | 
					
						
							|  |  |  | .B glib-genmarshal | 
					
						
							|  |  |  | has been written by Tim Janik <timj@gtk.org>. | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | This manual page was provided by Tim Janik <timj@gtk.org>. |