From d74a776b93798e6d1dad6ecadd03f8eef4d0f8b0 Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Sat, 1 Mar 2008 12:01:07 +0000 Subject: [PATCH] fix array_length_pos metadata attribute 2008-03-01 Juerg Billeter * vapigen/valagidlparser.vala: fix array_length_pos metadata attribute * vapi/packages/libgnome-2.0/: fix gnome_program_init binding * vapi/libgnome-2.0.vapi: regenerated svn path=/trunk/; revision=1075 --- ChangeLog | 9 +++++++++ vapi/libgnome-2.0.vapi | 11 ++++++++--- vapi/packages/libgnome-2.0/libgnome-2.0.metadata | 9 ++++++--- vapigen/valagidlparser.vala | 8 +++++++- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25034db..3546ce4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2008-03-01 Jürg Billeter + * vapigen/valagidlparser.vala: fix array_length_pos metadata + attribute + + * vapi/packages/libgnome-2.0/: fix gnome_program_init binding + + * vapi/libgnome-2.0.vapi: regenerated + +2008-03-01 Jürg Billeter + * ccode/valaccodecommaexpression.vala, ccode/valaccodeexpressionstatement.vala: improve C code output diff --git a/vapi/libgnome-2.0.vapi b/vapi/libgnome-2.0.vapi index b439a58..f39ea54 100644 --- a/vapi/libgnome-2.0.vapi +++ b/vapi/libgnome-2.0.vapi @@ -72,9 +72,9 @@ namespace Gnome { public weak string get_app_id (); public weak string get_app_version (); public weak string get_human_readable_name (); - public static weak Gnome.Program init (string app_id, string app_version, Gnome.ModuleInfo module_info, int argc, string[] argv, ...); - public static weak Gnome.Program init_paramv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, int argc, string[] argv, uint nparams, GLib.Parameter params); - public static weak Gnome.Program initv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, int argc, string[] argv, string first_property_name, pointer args); + public static weak Gnome.Program init (string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 3.9)] string[] argv, ...); + public static weak Gnome.Program init_paramv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 4.9)] string[] argv, uint nparams, GLib.Parameter params); + public static weak Gnome.Program initv (GLib.Type type, string app_id, string app_version, Gnome.ModuleInfo module_info, [CCode (array_length_pos = 4.9)] string[] argv, string first_property_name, pointer args); public static uint install_property (pointer pclass, GLib.ObjectGetPropertyFunc get_fn, GLib.ObjectSetPropertyFunc set_fn, GLib.ParamSpec pspec); public weak string locate_file (Gnome.FileDomain domain, string file_name, bool only_if_exists, GLib.SList ret_locations); public static weak Gnome.ModuleInfo module_load (string mod_name); @@ -117,10 +117,15 @@ namespace Gnome { [NoAccessorMethod] public weak pointer popt_table { construct; } } + [CCode (cheader_filename = "libgnome/libgnome.h")] public static delegate void ModuleClassInitHook (pointer klass, Gnome.ModuleInfo mod_info); + [CCode (cheader_filename = "libgnome/libgnome.h")] public static delegate weak GLib.OptionGroup ModuleGetGOptionGroupFunc (); + [CCode (cheader_filename = "libgnome/libgnome.h")] public static delegate void ModuleHook (Gnome.Program program, Gnome.ModuleInfo mod_info); + [CCode (cheader_filename = "libgnome/libgnome.h")] public static delegate void ModuleInitHook (Gnome.ModuleInfo mod_info); + [CCode (cheader_filename = "libgnome/libgnome.h")] public static delegate void TriggerActionFunction (string msg, string level, string[] supinfo); public const string DOT_GNOME; public const string DOT_GNOME_PRIVATE; diff --git a/vapi/packages/libgnome-2.0/libgnome-2.0.metadata b/vapi/packages/libgnome-2.0/libgnome-2.0.metadata index ceaeca9..13c25b7 100644 --- a/vapi/packages/libgnome-2.0/libgnome-2.0.metadata +++ b/vapi/packages/libgnome-2.0/libgnome-2.0.metadata @@ -1,7 +1,10 @@ Gnome cheader_filename="libgnome/libgnome.h" GnomeModuleInfo.options hidden="1" -gnome_program_init.argv is_array="1" -gnome_program_init_paramv.argv is_array="1" -gnome_program_initv.argv is_array="1" +gnome_program_init.argc hidden="1" +gnome_program_init.argv is_array="1" array_length_pos="3.9" +gnome_program_init_paramv.argc hidden="1" +gnome_program_init_paramv.argv is_array="1" array_length_pos="4.9" +gnome_program_initv.argc hidden="1" +gnome_program_initv.argv is_array="1" array_length_pos="4.9" gnome_program_preinit hidden="1" GnomeProgramClass name="pointer" diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index b416e10..2c232c2 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -1271,6 +1271,8 @@ public class Vala.GIdlParser : CodeVisitor { var p = new FormalParameter (param_name, param_type); bool hide_param = false; + bool set_array_length_pos = false; + double array_length_pos = 0; var attributes = get_attributes ("%s.%s".printf (symbol, param_node.name)); if (attributes != null) { foreach (string attr in attributes) { @@ -1302,7 +1304,8 @@ public class Vala.GIdlParser : CodeVisitor { hide_param = true; } } else if (nv[0] == "array_length_pos") { - p.carray_length_parameter_position = eval (nv[1]).to_double (); + set_array_length_pos = true; + array_length_pos = eval (nv[1]).to_double (); } } } @@ -1323,6 +1326,9 @@ public class Vala.GIdlParser : CodeVisitor { if (!hide_param) { m.add_parameter (p); + if (set_array_length_pos) { + p.carray_length_parameter_position = array_length_pos; + } } last_param = p; -- 2.7.4