summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog49
1 files changed, 49 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8bf8a3bd..bae3d7a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,52 @@
+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.
+
2009-01-03 Jürg Billeter <j@bitron.ch>
* giscanner/ast.py: