[vala] gio-2.0: Fix g_file_monitor_directory binding
- From: Jürg Billeter <juergbi src gnome org>
- To: svn-commits-list gnome org
- Subject: [vala] gio-2.0: Fix g_file_monitor_directory binding
- Date: Wed, 3 Jun 2009 07:29:10 -0400 (EDT)
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]