From: Jürg Billeter Date: Wed, 3 Jun 2009 11:27:55 +0000 (+0200) Subject: gio-2.0: Fix g_file_monitor_directory binding X-Git-Tag: 0.7.4~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cfebe74e367ffbac9ca38f03c7b60827f208e3a;p=thirdparty%2Fvala.git gio-2.0: Fix g_file_monitor_directory binding Fixes bug 527793. --- diff --git a/vala/valainterface.vala b/vala/valainterface.vala index c048c9e79..be55fcfc8 100644 --- a/vala/valainterface.vala +++ b/vala/valainterface.vala @@ -259,7 +259,13 @@ public class Vala.Interface : ObjectTypeSymbol { public override string get_cname (bool const_type = false) { if (cname == null) { - cname = "%s%s".printf (parent_symbol.get_cprefix (), name); + var attr = get_attribute ("CCode"); + if (attr != null) { + cname = attr.get_string ("cname"); + } + if (cname == null) { + cname = "%s%s".printf (parent_symbol.get_cprefix (), name); + } } return cname; } diff --git a/vapi/gio-2.0.vapi b/vapi/gio-2.0.vapi index 2b68078ba..44d9b9d49 100644 --- a/vapi/gio-2.0.vapi +++ b/vapi/gio-2.0.vapi @@ -256,9 +256,7 @@ namespace GLib { [CCode (cheader_filename = "gio/gio.h")] public class FileMonitor : GLib.Object { public virtual bool cancel (); - public static unowned GLib.FileMonitor directory (GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable) throws GLib.Error; public void emit_event (GLib.File child, GLib.File other_file, GLib.FileMonitorEvent event_type); - public static unowned GLib.FileMonitor file (GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable) throws GLib.Error; public bool is_cancelled (); public void set_rate_limit (int limit_msecs); [NoAccessorMethod] @@ -732,10 +730,9 @@ namespace GLib { public bool make_directory_with_parents (GLib.Cancellable? cancellable) throws GLib.Error; public abstract bool make_symbolic_link (string symlink_value, GLib.Cancellable? cancellable) throws GLib.Error; public unowned GLib.FileMonitor monitor (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable) throws GLib.Error; - [NoWrapper] - public abstract unowned GLib.FileMonitor monitor_dir (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable) throws GLib.Error; - [NoWrapper] - public abstract unowned GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable) throws GLib.Error; + [CCode (vfunc_name = "monitor_dir")] + public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; public abstract void mount_enclosing_volume (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable, GLib.AsyncReadyCallback? callback); public abstract bool mount_enclosing_volume_finish (GLib.AsyncResult _result) throws GLib.Error; public abstract void mount_mountable (GLib.MountMountFlags flags, GLib.MountOperation? mount_operation, GLib.Cancellable? cancellable, GLib.AsyncReadyCallback? callback); diff --git a/vapi/packages/gio-2.0/gio-2.0-custom.vala b/vapi/packages/gio-2.0/gio-2.0-custom.vala index 9c2b9008d..63956c435 100644 --- a/vapi/packages/gio-2.0/gio-2.0-custom.vala +++ b/vapi/packages/gio-2.0/gio-2.0-custom.vala @@ -26,5 +26,12 @@ namespace GLib { public class IOExtension { public extern Type get_type (); } + + [CCode (cname = "GFile")] + public interface File : Object { + [CCode (vfunc_name = "monitor_dir")] + public abstract GLib.FileMonitor monitor_directory (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + public abstract GLib.FileMonitor monitor_file (GLib.FileMonitorFlags flags, GLib.Cancellable? cancellable = null) throws GLib.IOError; + } } diff --git a/vapi/packages/gio-2.0/gio-2.0.metadata b/vapi/packages/gio-2.0/gio-2.0.metadata index 87cb1560c..0aa7f1b53 100644 --- a/vapi/packages/gio-2.0/gio-2.0.metadata +++ b/vapi/packages/gio-2.0/gio-2.0.metadata @@ -41,6 +41,9 @@ g_file_load_partial_contents_finish.contents transfer_ownership="1" g_file_load_partial_contents_finish.length is_out="1" g_file_load_partial_contents_finish.etag_out transfer_ownership="1" GFileMonitor::changed.other_file nullable="1" +g_file_monitor_directory hidden="1" +g_file_monitor_dir hidden="1" +g_file_monitor_file hidden="1" g_file_move.progress_callback_data hidden="1" g_file_new_for_commandline_arg transfer_ownership="1" g_file_new_for_path transfer_ownership="1"