[vala] gio-2.0: Fix g_file_monitor_directory binding



commit 3cfebe74e367ffbac9ca38f03c7b60827f208e3a
Author: Jürg Billeter <j bitron ch>
Date:   Wed Jun 3 13:27:55 2009 +0200

    gio-2.0: Fix g_file_monitor_directory binding
    
    Fixes bug 527793.
---
 vala/valainterface.vala                   |    8 +++++++-
 vapi/gio-2.0.vapi                         |    9 +++------
 vapi/packages/gio-2.0/gio-2.0-custom.vala |    7 +++++++
 vapi/packages/gio-2.0/gio-2.0.metadata    |    3 +++
 4 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index c048c9e..be55fcf 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 2b68078..44d9b9d 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 9c2b900..63956c4 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 87cb156..0aa7f1b 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"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]