summaryrefslogtreecommitdiff
path: root/tests/scanner/utility.h
diff options
context:
space:
mode:
authorAndreas Rottmann <a.rottmann@gmx.at>2009-01-03 13:44:42 +0000
committerJürg Billeter <juergbi@src.gnome.org>2009-01-03 13:44:42 +0000
commitbc88ef7bcda59b15988d27517a4f4f7e0672e33b (patch)
tree7e3af8b1d130ca9e4b5e78fb7314340d02b11eca /tests/scanner/utility.h
parent00b0ae6bca603adc2c424c9a9384c60c4e4b1ccb (diff)
downloadgobject-introspection-bc88ef7bcda59b15988d27517a4f4f7e0672e33b.tar.gz
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
Diffstat (limited to 'tests/scanner/utility.h')
-rw-r--r--tests/scanner/utility.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/scanner/utility.h b/tests/scanner/utility.h
index a592a96d..a744f037 100644
--- a/tests/scanner/utility.h
+++ b/tests/scanner/utility.h
@@ -23,7 +23,14 @@ struct _UtilityObjectClass
/* This one is similar to Pango.Glyph */
typedef guint32 UtilityGlyph;
+typedef void (*UtilityFileFunc)(const char *path, gpointer user_data);
+
GType utility_object_get_type (void) G_GNUC_CONST;
+void utility_object_watch_dir (UtilityObject *object,
+ const char *path,
+ UtilityFileFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy);
typedef enum
{
@@ -53,5 +60,7 @@ typedef union
glong integer;
double real;
} UtilityUnion;
-
+
+void utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data);
+
#endif /* __UTILITY_H__ */