Low-level core library that forms the basis for projects such as GTK+ and GNOME.
Go to file
Andreas Rottmann b95d92aca0 Bug 556489 – callback annotations
2008-01-03  Andreas Rottmann  <a.rottmann@gmx.at>

	Bug 556489 – callback annotations
	
	* giscanner/transformer.py 

	* tools/generate.c (write_callable_info): Write out the new scope,
	closure and destroy attributes.

	* giscanner/transformer.py (Transformer._type_is_callback): New
	method, checking if a given type is a callback.
	(Transformer._augment_callback_params): New method; adds
	information (closure, destroy) to callback parameters.
	(Transformer._handle_closure, Transformer._handle_destroy): New methods, 
	auxiliary to _augment_callback_params.
	(Transformer._create_function): Call _augment_callback_params().
	(Transformer._create_parameter): Handle scope option.

	(Transformer._create_typedef_callback): New method, creates a
	callback, and registers it in the typedef namespace
	(Transformer._create_typedef): Use _create_typedef_callback()
	instead of the plain _create_callback().

	* giscanner/ast.py (Parameter): Added callback-related fields.
	* giscanner/girwriter.py: Write out new Parameter fields.

	* girepository/girnode.h (GIrNodeParam): Added fields scope, 
	closure and destroy.
	* girepository/gtypelib.h (ArgBlob): Ditto.
	* girepository/girparser.c (start_parameter): Handle new fields.

	* girepository/girmodule.c (g_ir_module_build_typelib): Adjust
	arg_blob_size, bump major version due to this change.
	* girepository/girnode.c (g_ir_node_get_full_size_internal)
	(g_ir_node_build_typelib)
	* girepository/gtypelib.c (g_typelib_check_sanity): ArgBlob size
	adjustments.
	(g_ir_node_build_typelib): Fill in new ArgBlob flags from param. 

	* girepository/girepository.h (GIScope): New enumeration, listing
	the different possible scopes for callbacks.

	* girepository/ginfo.c (g_arg_info_get_scope)
	(g_arg_info_get_closure, g_arg_info_get_destroy): Accessors for
	callback-related argument indices (callback scope, closure for a
	callback, destroy notification for a callback).

	* tests/scanner/: Added testcases for new features.

svn path=/trunk/; revision=998
2009-01-03 13:44:42 +00:00
gdump.c Remove a warning, be less verbose on error on fundamental types. 2008-11-24 16:22:16 +00:00
gfield.c Fix memory leak; unref type info we created, not field info 2008-12-01 17:05:37 +00:00
ginfo.c Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
ginfo.h Bug 561137 - support multiple repositories 2008-11-25 21:48:34 +00:00
ginvoke.c Split g_ir_ffi_get_ffi_type() out from ginvoke.c 2008-11-11 00:04:45 +00:00
girepository.c Bug 563998 – Cache the GIBaseInfo for GTypes 2008-12-10 17:53:09 +00:00
girepository.h Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
girffi.c girepository/girffi.c: Fix "Unexpected time for time_t" message. 2008-11-13 21:38:42 +00:00
girffi.h Split g_ir_ffi_get_ffi_type() out from ginvoke.c 2008-11-11 00:04:45 +00:00
girmodule.c Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
girmodule.h Keep aliases and disguised_structures local to each module (#560419) 2008-11-12 17:17:01 +00:00
girnode.c Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
girnode.h Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
giroffsets.c Add "storage type" to the typelib data for enums 2008-11-18 12:29:10 +00:00
girparser.c Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
girparser.h Add a GirParser object to hold the state of a compilation 2008-11-12 17:16:42 +00:00
girwriter.c Bug 557405 – Use 'allow-none' consistently 2008-10-22 14:02:02 +00:00
girwriter.h Move shared *.[ch] files to girepository from tools 2008-08-09 12:46:48 +00:00
gtypelib.c Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
gtypelib.h Bug 556489 – callback annotations 2009-01-03 13:44:42 +00:00
Makefile.am Bug 561137 - support multiple repositories 2008-11-25 21:48:34 +00:00