From: Jürg Billeter Date: Fri, 16 Jan 2009 19:57:57 +0000 (+0000) Subject: Support vfunc_name attribute X-Git-Tag: VALA_0_5_6~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d62516922262b79c64df14577c0069f7f7a695de;p=thirdparty%2Fvala.git Support vfunc_name attribute 2009-01-16 Jürg Billeter * vala/valacodewriter.vala: * vapigen/valagidlparser.vala: Support vfunc_name attribute * vapi/packages/gio-2.0/: Fix g_seekable_truncate binding, fixes bug 564448 * vapi/gio-2.0.vapi: regenerated svn path=/trunk/; revision=2363 --- diff --git a/ChangeLog b/ChangeLog index 873c18d03..8be6aa289 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2009-01-16 Jürg Billeter + + * vala/valacodewriter.vala: + * vapigen/valagidlparser.vala: + + Support vfunc_name attribute + + * vapi/packages/gio-2.0/: + + Fix g_seekable_truncate binding, fixes bug 564448 + + * vapi/gio-2.0.vapi: regenerated + 2009-01-16 Jürg Billeter * vapi/packages/gtk+-2.0/: diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala index 0aa35702d..259cdbccb 100644 --- a/vala/valacodewriter.vala +++ b/vala/valacodewriter.vala @@ -869,6 +869,10 @@ public class Vala.CodeWriter : CodeVisitor { ccode_params.append_printf ("%sdelegate_target_pos = %g", separator, m.cdelegate_target_parameter_position); separator = ", "; } + if (m.vfunc_name != m.name) { + ccode_params.append_printf ("%svfunc_name = \"%s\"", separator, m.vfunc_name); + separator = ", "; + } if (m.sentinel != m.DEFAULT_SENTINEL) { ccode_params.append_printf ("%ssentinel = \"%s\"", separator, m.sentinel); separator = ", "; diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi index faa0a84a0..225cdfd8e 100644 --- a/vapi/gio-2.0.vapi +++ b/vapi/gio-2.0.vapi @@ -666,9 +666,8 @@ namespace GLib { public abstract bool can_truncate (); public abstract bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable? cancellable) throws GLib.Error; public abstract int64 tell (); - public bool truncate (int64 offset, GLib.Cancellable? cancellable) throws GLib.Error; - [NoWrapper] - public abstract bool truncate_fn (int64 offset, GLib.Cancellable? cancellable) throws GLib.Error; + [CCode (vfunc_name = "truncate_fn")] + public abstract bool truncate (int64 offset, GLib.Cancellable? cancellable) throws GLib.Error; } [CCode (cheader_filename = "gio/gio.h")] public interface Volume : GLib.Object { diff --git a/vapi/packages/gio-2.0/gio-2.0.metadata b/vapi/packages/gio-2.0/gio-2.0.metadata index 4897167b5..aebc71be1 100644 --- a/vapi/packages/gio-2.0/gio-2.0.metadata +++ b/vapi/packages/gio-2.0/gio-2.0.metadata @@ -57,6 +57,8 @@ g_memory_input_stream_add_data.destroy nullable="1" g_memory_input_stream_new_from_data.destroy nullable="1" GMountOperation::reply has_emitter="1" g_output_stream_write_all.bytes_written is_out="1" +g_seekable_truncate abstract="1" vfunc_name="truncate_fn" +g_seekable_truncate_fn hidden="1" g_themed_icon_new_from_names.iconnames is_array="1" g_themed_icon_new_from_names.len hidden="1" g_themed_icon_get_names is_array="1" no_array_length="1" diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 75a27c9bc..4c446dfe5 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -1412,6 +1412,8 @@ public class Vala.GIdlParser : CodeVisitor { if (eval (nv[1]) == "1") { m.is_virtual = true; } + } else if (nv[0] == "vfunc_name") { + m.vfunc_name = eval (nv[1]); } }