]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
write cprefix and lower_case_cprefix of namespaces and write
authorJuerg Billeter <j@bitron.ch>
Tue, 3 Jul 2007 21:42:08 +0000 (21:42 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Tue, 3 Jul 2007 21:42:08 +0000 (21:42 +0000)
2007-07-03  Juerg Billeter  <j@bitron.ch>

* vala/valainterfacewriter.vala: write cprefix and lower_case_cprefix
  of namespaces and write cheader_filename of interfaces
* vala/valanamespace.vala: make set_cprefix and set_lower_case_cprefix
  methods public
* ccode/valaccodewriter.vala, vala/valainterfacewriter.vala,
  gobject/valaccodecompiler.vala, compiler/valacompiler.vala,
  vapi/glib-2.0.vala, vapigen/valagidlparser.vala,
  vapigen/valavapigen.vala: split GLib.File into GLib.FileStream and
  GLib.FileUtils to not conflict with GVFS
* vala/valagidlparser.vala: improve support for GVFS
* vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
  regenerated
* vapi/gio-standalone.vala, vapi/packages/gio-standalone/: add
  experimental VAPI for GVFS
* vapi/Makefile.am: update

svn path=/trunk/; revision=328

19 files changed:
ChangeLog
ccode/valaccodewriter.vala
compiler/valacompiler.vala
gobject/valaccodecompiler.vala
vala/valainterfacewriter.vala
vala/valanamespace.vala
vapi/Makefile.am
vapi/atk.vala
vapi/gdk-2.0.vala
vapi/gio-standalone.vala [new file with mode: 0644]
vapi/glib-2.0.vala
vapi/gtk+-2.0.vala
vapi/packages/gio-standalone/gio-standalone.files [new file with mode: 0644]
vapi/packages/gio-standalone/gio-standalone.gidl [new file with mode: 0644]
vapi/packages/gio-standalone/gio-standalone.metadata [new file with mode: 0644]
vapi/packages/gio-standalone/gio-standalone.namespace [new file with mode: 0644]
vapi/pango.vala
vapigen/valagidlparser.vala
vapigen/valavapigen.vala

index 3934873c91fba9d301943f0042d0f8751a93fc5a..75fafd3761f19e2ab5d4cde9eb8d87e55d7bbdc2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2007-07-03  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valainterfacewriter.vala: write cprefix and lower_case_cprefix
+         of namespaces and write cheader_filename of interfaces
+       * vala/valanamespace.vala: make set_cprefix and set_lower_case_cprefix
+         methods public
+       * ccode/valaccodewriter.vala, vala/valainterfacewriter.vala,
+         gobject/valaccodecompiler.vala, compiler/valacompiler.vala,
+         vapi/glib-2.0.vala, vapigen/valagidlparser.vala,
+         vapigen/valavapigen.vala: split GLib.File into GLib.FileStream and
+         GLib.FileUtils to not conflict with GVFS
+       * vala/valagidlparser.vala: improve support for GVFS
+       * vapi/atk.vala, vapi/gdk-2.0.vala, vapi/gtk+-2.0.vala, vapi/pango.vala:
+         regenerated
+       * vapi/gio-standalone.vala, vapi/packages/gio-standalone/: add
+         experimental VAPI for GVFS
+       * vapi/Makefile.am: update
+
 2007-07-01  Jürg Billeter  <j@bitron.ch>
 
        * vapi/glib-2.0.vala: add more string utility functions and GDate
index 89b18cc4e9aeb057e6478d9030bbeeecca8fe314..9972b988f4726fc862ea9ec7556028f0b1bb7ee3 100644 (file)
@@ -1,6 +1,6 @@
 /* valaccodewriter.vala
  *
- * Copyright (C) 2006  Jürg Billeter
+ * Copyright (C) 2006-2007  Jürg Billeter
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -35,12 +35,12 @@ public class Vala.CCodeWriter {
                }
                construct {
                        _filename = value;
-                       file_exists = File.test (_filename, FileTest.EXISTS);
+                       file_exists = FileUtils.test (_filename, FileTest.EXISTS);
                        if (file_exists) {
                                temp_filename = "%s.valatmp".printf (_filename);
-                               stream = File.open (temp_filename, "w");
+                               stream = FileStream.open (temp_filename, "w");
                        } else {
-                               stream = File.open (_filename, "w");
+                               stream = FileStream.open (_filename, "w");
                        }
                }
        }
@@ -58,7 +58,7 @@ public class Vala.CCodeWriter {
        private string temp_filename;
        private bool file_exists;
 
-       private File stream;
+       private FileStream stream;
        
        private int indent;
 
@@ -90,9 +90,9 @@ public class Vala.CCodeWriter {
                        new_file = null;
                        
                        if (changed) {
-                               File.rename (temp_filename, _filename);
+                               FileUtils.rename (temp_filename, _filename);
                        } else {
-                               File.unlink (temp_filename);
+                               FileUtils.unlink (temp_filename);
                        }
                }
        }
index ee3a981f62dd2866540d3e54c7aa77ad2524e455..d211d87fefd5526072c086f3e22c7d430841deb5 100644 (file)
@@ -78,24 +78,24 @@ class Vala.Compiler {
                if (vapi_directories != null) {
                        foreach (string vapidir in vapi_directories) {
                                var filename = Path.build_filename (vapidir, basename);
-                               if (File.test (filename, FileTest.EXISTS)) {
+                               if (FileUtils.test (filename, FileTest.EXISTS)) {
                                        return filename;
                                }
                        }
                }
 
                string filename = Path.build_filename (Config.PACKAGE_DATADIR, "vapi", basename);
-               if (File.test (filename, FileTest.EXISTS)) {
+               if (FileUtils.test (filename, FileTest.EXISTS)) {
                        return filename;
                }
 
                filename = Path.build_filename ("/usr/local/share/vala/vapi", basename);
-               if (File.test (filename, FileTest.EXISTS)) {
+               if (FileUtils.test (filename, FileTest.EXISTS)) {
                        return filename;
                }
 
                filename = Path.build_filename ("/usr/share/vala/vapi", basename);
-               if (File.test (filename, FileTest.EXISTS)) {
+               if (FileUtils.test (filename, FileTest.EXISTS)) {
                        return filename;
                }
 
@@ -119,9 +119,9 @@ class Vala.Compiler {
                context.add_source_file (new SourceFile (context, package_path, true));
                
                var deps_filename = Path.build_filename (Path.get_dirname (package_path), "%s.deps".printf (pkg));
-               if (File.test (deps_filename, FileTest.EXISTS)) {
+               if (FileUtils.test (deps_filename, FileTest.EXISTS)) {
                        string deps_content;
-                       File.get_contents (deps_filename, out deps_content, null, null);
+                       FileUtils.get_contents (deps_filename, out deps_content, null, null);
                        foreach (string dep in deps_content.split ("\n")) {
                                if (dep != "") {
                                        if (!add_package (context, dep)) {
@@ -172,7 +172,7 @@ class Vala.Compiler {
                }
                
                foreach (string source in sources) {
-                       if (File.test (source, FileTest.EXISTS)) {
+                       if (FileUtils.test (source, FileTest.EXISTS)) {
                                context.add_source_file (new SourceFile (context, source));
                        } else {
                                Report.error (null, "%s not found".printf (source));
index 97703e3cd40c2925602788e206bce894e4f464e6..2d6b1725c1409a68f53838e4126fd0dcaad2d4d3 100644 (file)
@@ -81,8 +81,8 @@ public class Vala.CCodeCompiler {
                /* remove generated C source and header files */
                foreach (SourceFile file in source_files) {
                        if (!file.pkg) {
-                               File.unlink (file.get_csource_filename ());
-                               File.unlink (file.get_cheader_filename ());
+                               FileUtils.unlink (file.get_csource_filename ());
+                               FileUtils.unlink (file.get_cheader_filename ());
                        }
                }
 
index 80a6ce1af48c57bffdaf75754b1d39b5673c9b96..51412b44e44261d545c87ba883584dd0381038e8 100644 (file)
@@ -29,7 +29,7 @@ using GLib;
 public class Vala.InterfaceWriter : CodeVisitor {
        private CodeContext context;
        
-       File stream;
+       FileStream stream;
        
        int indent;
        /* at begin of line */
@@ -47,7 +47,7 @@ public class Vala.InterfaceWriter : CodeVisitor {
        public void write_file (CodeContext! context, string! filename) {
                this.context = context;
        
-               stream = File.open (filename, "w");
+               stream = FileStream.open (filename, "w");
        
                /* we're only interested in non-pkg source files */
                foreach (SourceFile file in context.get_source_files ()) {
@@ -72,7 +72,7 @@ public class Vala.InterfaceWriter : CodeVisitor {
                current_cheader_filename = ns.get_cheader_filename ();
                
                write_indent ();
-               write_string ("[CCode (cheader_filename = \"%s\")]".printf (current_cheader_filename));
+               write_string ("[CCode (cprefix = \"%s\", lower_case_cprefix = \"%s\", cheader_filename = \"%s\")]".printf (ns.get_cprefix (), ns.get_lower_case_cprefix (), current_cheader_filename));
                write_newline ();
 
                write_indent ();
@@ -161,7 +161,22 @@ public class Vala.InterfaceWriter : CodeVisitor {
                if (iface.access == MemberAccessibility.PRIVATE) {
                        return;
                }
-               
+
+               write_indent ();
+
+               var first = true;
+               string cheaders;
+               foreach (string cheader in iface.get_cheader_filenames ()) {
+                       if (first) {
+                               cheaders = cheader;
+                               first = false;
+                       } else {
+                               cheaders = "%s, %s".printf (cheaders, cheader);
+                       }
+               }
+               write_string ("[CCode (cheader_filename = \"%s\")]".printf (cheaders));
+               write_newline ();
+
                write_indent ();
                write_string ("public ");
                write_string ("interface ");
index 5b6f7bdb6fa371418b7ba78d447ae50d51e4ce98..67f027c76dc984a8be7e89e05d360ddd5d865765 100644 (file)
@@ -282,11 +282,17 @@ public class Vala.Namespace : CodeNode {
                }
                return cprefix;
        }
-       
-       private void set_cprefix (string cprefix) {
+
+       /**
+        * Sets the camel case string to be prepended to the name of members of
+        * this namespace when used in C code.
+        *
+        * @param cprefix the camel case prefix to be used in C code
+        */
+       public void set_cprefix (string cprefix) {
                this.cprefix = cprefix;
        }
-       
+
        /**
         * Returns the lower case string to be prepended to the name of members
         * of this namespace when used in C code.
@@ -303,11 +309,17 @@ public class Vala.Namespace : CodeNode {
                }
                return lower_case_cprefix;
        }
-       
-       private void set_lower_case_cprefix (string cprefix) {
+
+       /**
+        * Sets the lower case string to be prepended to the name of members of
+        * this namespace when used in C code.
+        *
+        * @param cprefix the lower case prefix to be used in C code
+        */
+       public void set_lower_case_cprefix (string cprefix) {
                this.lower_case_cprefix = cprefix;
        }
-       
+
        /**
         * Returns a list of C header filenames users of this namespace must
         * include.
index c8a654b10061c18a838aa6236a3abadd0de52f7b..c021330cf567dee3aabe896a312f762671e45f05 100644 (file)
@@ -11,6 +11,7 @@ dist_vapi_DATA = \
        glib-2.0.vala \
        gdk-2.0.deps \
        gdk-2.0.vala \
+       gio-standalone.vala \
        gtk+-2.0.deps \
        gtk+-2.0.vala \
        libxml-2.0.vala \
index 7f28b7329042da5c3c1b629181405fbe3d05a313..ae9ce11456633d166776be3e0b0e6a504e134ad8 100644 (file)
@@ -1,4 +1,4 @@
-[CCode (cheader_filename = "atk/atk.h")]
+[CCode (cprefix = "Atk", lower_case_cprefix = "atk_", cheader_filename = "atk/atk.h")]
 namespace Atk {
        [CCode (cprefix = "ATK_XY_")]
        public enum CoordType {
@@ -397,6 +397,7 @@ namespace Atk {
        public class Util : GLib.Object {
                public static GLib.Type get_type ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Action {
                public virtual bool do_action (int i);
                public virtual weak string get_description (int i);
@@ -407,6 +408,7 @@ namespace Atk {
                public static GLib.Type get_type ();
                public virtual bool set_description (int i, string desc);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Component {
                public virtual uint add_focus_handler (Atk.FocusHandler handler);
                public virtual bool contains (int x, int y, Atk.CoordType coord_type);
@@ -425,6 +427,7 @@ namespace Atk {
                public virtual bool set_size (int width, int height);
                public signal void bounds_changed (ref Atk.Rectangle bounds);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Document {
                public weak string get_attribute_value (string attribute_name);
                public weak GLib.SList get_attributes ();
@@ -437,6 +440,7 @@ namespace Atk {
                public signal void reload ();
                public signal void load_stopped ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface EditableText {
                public virtual void copy_text (int start_pos, int end_pos);
                public virtual void cut_text (int start_pos, int end_pos);
@@ -447,10 +451,12 @@ namespace Atk {
                public virtual bool set_run_attributes (GLib.SList attrib_set, int start_offset, int end_offset);
                public virtual void set_text_contents (string string);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface HyperlinkImpl {
                public virtual weak Atk.Hyperlink get_hyperlink ();
                public static GLib.Type get_type ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Hypertext {
                public virtual weak Atk.Hyperlink get_link (int link_index);
                public virtual int get_link_index (int char_index);
@@ -458,6 +464,7 @@ namespace Atk {
                public static GLib.Type get_type ();
                public signal void link_selected (int link_index);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Image {
                public virtual weak string get_image_description ();
                public virtual weak string get_image_locale ();
@@ -466,10 +473,12 @@ namespace Atk {
                public static GLib.Type get_type ();
                public virtual bool set_image_description (string description);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Implementor {
                public static GLib.Type get_type ();
                public virtual weak Atk.Object ref_accessible ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Selection {
                public virtual bool add_selection (int i);
                public virtual bool clear_selection ();
@@ -481,6 +490,7 @@ namespace Atk {
                public virtual bool select_all_selection ();
                public signal void selection_changed ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface StreamableContent {
                public virtual weak string get_mime_type (int i);
                public virtual int get_n_mime_types ();
@@ -488,6 +498,7 @@ namespace Atk {
                public static GLib.Type get_type ();
                public virtual weak string get_uri (string mime_type);
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Table {
                public virtual bool add_column_selection (int column);
                public virtual bool add_row_selection (int row);
@@ -527,6 +538,7 @@ namespace Atk {
                public signal void column_reordered ();
                public signal void model_changed ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Text {
                public virtual bool add_selection (int start_offset, int end_offset);
                public static Atk.TextAttribute attribute_for_name (string name);
@@ -558,6 +570,7 @@ namespace Atk {
                public signal void text_selection_changed ();
                public signal void text_attributes_changed ();
        }
+       [CCode (cheader_filename = "atk/atk.h")]
        public interface Value {
                public virtual void get_current_value (GLib.Value value);
                public virtual void get_maximum_value (GLib.Value value);
index 64c02e6646865304ce157d66d39541854a4e94e5..dfd62bcd205b1354bb326b939ce8fb3937782fca 100644 (file)
@@ -1,4 +1,4 @@
-[CCode (cheader_filename = "gdk/gdk.h")]
+[CCode (cprefix = "Gdk", lower_case_cprefix = "gdk_", cheader_filename = "gdk/gdk.h")]
 namespace Gdk {
        [CCode (cprefix = "GDK_AXIS_")]
        public enum AxisUse {
diff --git a/vapi/gio-standalone.vala b/vapi/gio-standalone.vala
new file mode 100644 (file)
index 0000000..22e41be
--- /dev/null
@@ -0,0 +1,648 @@
+[CCode (cprefix = "G", lower_case_cprefix = "g_", cheader_filename = "gio/gvfs.h")]
+namespace GLib {
+       [CCode (cprefix = "G_DIRECTORY_MONITOR_EVENT_")]
+       public enum DirectoryMonitorEvent {
+               CHANGED,
+               DELETED,
+               CREATED,
+               ATTRIBUTE_CHANGED,
+               UNMOUNTED,
+       }
+       [CCode (cprefix = "G_FILE_ATTRIBUTE_TYPE_")]
+       public enum FileAttributeType {
+               INVALID,
+               STRING,
+               BYTE_STRING,
+               UINT32,
+               INT32,
+               UINT64,
+               INT64,
+       }
+       [CCode (cprefix = "G_FILE_COPY_")]
+       public enum FileCopyFlags {
+               OVERWRITE,
+               BACKUP,
+       }
+       [CCode (cprefix = "G_FILE_FLAG_")]
+       public enum FileFlags {
+               HIDDEN,
+               SYMLINK,
+               LOCAL,
+               VIRTUAL,
+       }
+       [CCode (cprefix = "G_FILE_GET_INFO_NOFOLLOW_")]
+       public enum FileGetInfoFlags {
+               SYMLINKS,
+       }
+       [CCode (cprefix = "G_FILE_MONITOR_EVENT_")]
+       public enum FileMonitorEvent {
+               CHANGED,
+               DELETED,
+               CREATED,
+               ATTRIBUTE_CHANGED,
+               UNMOUNTED,
+       }
+       [CCode (cprefix = "G_FILE_TYPE_")]
+       public enum FileType {
+               UNKNOWN,
+               REGULAR,
+               DIRECTORY,
+               SYMBOLIC_LINK,
+               SPECIAL,
+               SHORTCUT,
+               MOUNTABLE,
+       }
+       [CCode (cprefix = "G_IO_ERROR_")]
+       public enum IOErrorEnum {
+               FAILED,
+               NOT_FOUND,
+               EXISTS,
+               IS_DIRECTORY,
+               NOT_DIRECTORY,
+               NOT_EMPTY,
+               NOT_REGULAR_FILE,
+               NOT_SYMBOLIC_LINK,
+               NOT_MOUNTABLE,
+               FILENAME_TOO_LONG,
+               INVALID_FILENAME,
+               TOO_MANY_LINKS,
+               NO_SPACE,
+               INVALID_ARGUMENT,
+               PERMISSION_DENIED,
+               NOT_SUPPORTED,
+               NOT_MOUNTED,
+               ALREADY_MOUNTED,
+               CLOSED,
+               CANCELLED,
+               PENDING,
+               READ_ONLY,
+               CANT_CREATE_BACKUP,
+               WRONG_MTIME,
+               TIMED_OUT,
+       }
+       [CCode (cprefix = "G_PASSWORD_FLAGS_")]
+       public enum PasswordFlags {
+               NEED_PASSWORD,
+               NEED_USERNAME,
+               NEED_DOMAIN,
+               SAVING_SUPPORTED,
+               ANON_SUPPORTED,
+       }
+       [CCode (cprefix = "G_PASSWORD_SAVE_")]
+       public enum PasswordSave {
+               NEVER,
+               FOR_SESSION,
+               PERMANENTLY,
+       }
+       [CCode (cprefix = "G_UNIX_MOUNT_TYPE_")]
+       public enum UnixMountType {
+               UNKNOWN,
+               FLOPPY,
+               CDROM,
+               NFS,
+               ZIP,
+               JAZ,
+               MEMSTICK,
+               CF,
+               SM,
+               SDMMC,
+               IPOD,
+               CAMERA,
+               HD,
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class BufferedInputStream : GLib.FilterInputStream {
+               public static GLib.Type get_type ();
+               public BufferedInputStream (GLib.InputStream base_stream);
+               public BufferedInputStream.sized (GLib.InputStream base_stream, uint size);
+               [NoAccessorMethod]
+               public weak uint buffer_size { get; construct; }
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class BufferedOutputStream : GLib.FilterOutputStream {
+               public static GLib.Type get_type ();
+               public BufferedOutputStream (GLib.OutputStream base_stream);
+               public BufferedOutputStream.sized (GLib.OutputStream base_stream, uint size);
+               [NoAccessorMethod]
+               public weak uint buffer_size { get; construct; }
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class Cancellable : GLib.Object {
+               public void cancel ();
+               public int get_fd ();
+               public static GLib.Type get_type ();
+               public bool is_cancelled ();
+               public Cancellable ();
+               public void reset ();
+               public signal void cancelled ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class DesktopAppInfo : GLib.Object, GLib.AppInfo {
+               public static GLib.Type get_type ();
+               public DesktopAppInfo (string desktop_id);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class DirectoryMonitor : GLib.Object {
+               public virtual bool cancel ();
+               public void emit_event (GLib.File child, GLib.File other_file, GLib.DirectoryMonitorEvent event_type);
+               public static GLib.Type get_type ();
+               public void set_rate_limit (int limit_msecs);
+               public signal void changed (GLib.File child, GLib.File other_file, GLib.DirectoryMonitorEvent event_type);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileEnumerator : GLib.Object {
+               public static GLib.Type get_type ();
+               public bool has_pending ();
+               public bool is_stopped ();
+               public virtual weak GLib.FileInfo next_file (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void next_files_async (int num_files, int io_priority, GLib.AsyncNextFilesCallback @callback, pointer user_data, GLib.Cancellable cancellable);
+               public void set_pending (bool pending);
+               public virtual bool stop (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void stop_async (int io_priority, GLib.AsyncStopEnumeratingCallback @callback, pointer user_data, GLib.Cancellable cancellable);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon {
+               public weak GLib.File get_file ();
+               public static GLib.Type get_type ();
+               public FileIcon (GLib.File file);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileInfo : GLib.Object {
+               public weak GLib.FileInfo copy ();
+               public weak string get_attribute_as_string (string attribute);
+               public weak string get_attribute_byte_string (string attribute);
+               public int get_attribute_int32 (string attribute);
+               public int64 get_attribute_int64 (string attribute);
+               public weak string get_attribute_string (string attribute);
+               public GLib.FileAttributeType get_attribute_type (string attribute);
+               public uint get_attribute_uint32 (string attribute);
+               public uint64 get_attribute_uint64 (string attribute);
+               public weak string get_content_type ();
+               public weak string get_display_name ();
+               public weak string get_edit_name ();
+               public GLib.FileType get_file_type ();
+               public GLib.FileFlags get_flags ();
+               public weak string get_icon ();
+               public void get_modification_time (GLib.TimeVal result);
+               public weak string get_name ();
+               public int64 get_size ();
+               public weak string get_symlink_target ();
+               public static GLib.Type get_type ();
+               public bool has_attribute (string attribute);
+               public weak string list_attributes (string name_space);
+               public FileInfo ();
+               public void remove_attribute (string attribute);
+               public void set_attribute_byte_string (string attribute, string value);
+               public void set_attribute_int32 (string attribute, int value);
+               public void set_attribute_int64 (string attribute, int64 value);
+               public void set_attribute_string (string attribute, string value);
+               public void set_attribute_uint32 (string attribute, uint value);
+               public void set_attribute_uint64 (string attribute, uint64 value);
+               public void set_content_type (string content_type);
+               public void set_display_name (string display_name);
+               public void set_edit_name (string edit_name);
+               public void set_file_type (GLib.FileType type);
+               public void set_flags (GLib.FileFlags @flags);
+               public void set_icon (string icon);
+               public void set_modification_time (GLib.TimeVal mtime);
+               public void set_name (string name);
+               public void set_size (int64 size);
+               public void set_symlink_target (string symlink_target);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileInputStream : GLib.InputStream, GLib.Seekable {
+               public virtual weak GLib.FileInfo get_file_info (string attributes, GLib.Cancellable cancellable, GLib.Error error);
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileMonitor : GLib.Object {
+               public virtual bool cancel ();
+               public static weak GLib.DirectoryMonitor directory (GLib.File file);
+               public void emit_event (GLib.File file, GLib.File other_file, GLib.FileMonitorEvent event_type);
+               public static weak GLib.FileMonitor file (GLib.File file);
+               public static GLib.Type get_type ();
+               public void set_rate_limit (int limit_msecs);
+               public signal void changed (GLib.File file, GLib.File other_file, GLib.FileMonitorEvent event_type);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FileOutputStream : GLib.OutputStream {
+               public virtual weak GLib.FileInfo get_file_info (string attributes, GLib.Cancellable cancellable, GLib.Error error);
+               public void get_final_mtime (GLib.TimeVal mtime);
+               public bool get_should_get_final_mtime ();
+               public static GLib.Type get_type ();
+               public void set_final_mtime (GLib.TimeVal final_mtime);
+               public void set_should_get_final_mtime (bool get_final_mtime);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FilterInputStream : GLib.InputStream {
+               public weak GLib.InputStream get_base_stream ();
+               public static GLib.Type get_type ();
+               [NoAccessorMethod]
+               public weak GLib.InputStream base_stream { get; construct; }
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class FilterOutputStream : GLib.OutputStream {
+               public weak GLib.OutputStream get_base_stream ();
+               public static GLib.Type get_type ();
+               [NoAccessorMethod]
+               public weak GLib.OutputStream base_stream { get; construct; }
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class InputStream : GLib.Object {
+               public virtual bool close (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void close_async (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool close_finish (GLib.AsyncResult result, GLib.Error error);
+               public static GLib.Type get_type ();
+               public bool has_pending ();
+               public bool is_closed ();
+               public virtual long read (pointer buffer, ulong count, GLib.Cancellable cancellable, GLib.Error error);
+               public bool read_all (pointer buffer, ulong count, ulong bytes_read, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void read_async (pointer buffer, ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual long read_finish (GLib.AsyncResult result, GLib.Error error);
+               public void set_pending (bool pending);
+               public virtual long skip (ulong count, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void skip_async (ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual long skip_finish (GLib.AsyncResult result, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalDirectoryMonitor : GLib.DirectoryMonitor {
+               public static GLib.Type get_type ();
+               public static weak GLib.DirectoryMonitor start (string dirname);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalFile : GLib.Object, GLib.File {
+               public static GLib.Type get_type ();
+               public static weak GLib.FileInfo info_get (string basename, string path, GLib.FileAttributeMatcher attribute_matcher, GLib.FileGetInfoFlags @flags, GLib.LocalParentFileInfo parent_info, GLib.Error error);
+               public static weak GLib.FileInfo info_get_from_fd (int fd, string attributes, GLib.Error error);
+               public static void info_get_parent_info (string dir, GLib.FileAttributeMatcher attribute_matcher, GLib.LocalParentFileInfo parent_info);
+               public LocalFile (string filename);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalFileEnumerator : GLib.FileEnumerator {
+               public static GLib.Type get_type ();
+               public LocalFileEnumerator (string filename, string attributes, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalFileInputStream : GLib.FileInputStream {
+               public static GLib.Type get_type ();
+               public LocalFileInputStream (int fd);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalFileMonitor : GLib.FileMonitor {
+               public static GLib.Type get_type ();
+               public static weak GLib.FileMonitor start (string dirname);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalFileOutputStream : GLib.FileOutputStream {
+               public static weak GLib.FileOutputStream append (string filename, GLib.Cancellable cancellable, GLib.Error error);
+               public static weak GLib.FileOutputStream create (string filename, GLib.Cancellable cancellable, GLib.Error error);
+               public static GLib.Type get_type ();
+               public static weak GLib.FileOutputStream replace (string filename, ulong mtime, bool make_backup, GLib.Cancellable cancellable, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class LocalVfs : GLib.Object, GLib.Vfs {
+               public static GLib.Type get_type ();
+               public LocalVfs ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class MemoryInputStream : GLib.InputStream, GLib.Seekable {
+               public static weak GLib.InputStream from_data (pointer data, ulong len);
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class MemoryOutputStream : GLib.OutputStream, GLib.Seekable {
+               public static GLib.Type get_type ();
+               public MemoryOutputStream (GLib.ByteArray data);
+               public void set_max_size (uint max_size);
+               [NoAccessorMethod]
+               public weak pointer data { get; set construct; }
+               [NoAccessorMethod]
+               public weak bool free_array { get; set; }
+               [NoAccessorMethod]
+               public weak uint size_limit { get; set; }
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class MountOperation : GLib.Object {
+               public bool get_anonymous ();
+               public int get_choice ();
+               public weak string get_domain ();
+               public weak string get_password ();
+               public GLib.PasswordSave get_password_save ();
+               public static GLib.Type get_type ();
+               public weak string get_username ();
+               public MountOperation ();
+               public void set_anonymous (bool anonymous);
+               public void set_choice (int choice);
+               public void set_domain (string domain);
+               public void set_password (string password);
+               public void set_password_save (GLib.PasswordSave save);
+               public void set_username (string username);
+               public signal bool ask_password (string message, string default_user, string default_domain, GLib.PasswordFlags @flags);
+               public signal bool ask_question (string message, string[] choices);
+               [HasEmitter]
+               public signal void reply (bool abort);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class OutputStream : GLib.Object {
+               public virtual bool close (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void close_async (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool close_finish (GLib.AsyncResult result, GLib.Error error);
+               public virtual bool flush (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void flush_async (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool flush_finish (GLib.AsyncResult result, GLib.Error error);
+               public static GLib.Type get_type ();
+               public bool has_pending ();
+               public bool is_closed ();
+               public void set_pending (bool pending);
+               public virtual long write (pointer buffer, ulong count, GLib.Cancellable cancellable, GLib.Error error);
+               public bool write_all (pointer buffer, ulong count, ulong bytes_written, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void write_async (pointer buffer, ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual long write_finish (GLib.AsyncResult result, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class SimpleAsyncResult : GLib.Object, GLib.AsyncResult {
+               public void complete ();
+               public void complete_in_idle ();
+               public bool get_op_res_gboolean ();
+               public pointer get_op_res_gpointer ();
+               public long get_op_res_gssize ();
+               public pointer get_source_tag ();
+               public static GLib.Type get_type ();
+               public SimpleAsyncResult (GLib.Object source_object, GLib.AsyncReadyCallback @callback, pointer user_data, pointer source_tag);
+               public SimpleAsyncResult.error (GLib.Object source_object, GLib.AsyncReadyCallback @callback, pointer user_data, GLib.Quark domain, int code, string format);
+               public SimpleAsyncResult.from_error (GLib.Object source_object, GLib.AsyncReadyCallback @callback, pointer user_data, GLib.Error error);
+               public bool propagate_error (GLib.Error dest);
+               public void run_in_thread (GLib.SimpleAsyncThreadFunc func, int io_priority, GLib.Cancellable cancellable);
+               public void set_error (GLib.Quark domain, int code, string format);
+               public void set_error_va (GLib.Quark domain, int code, string format, pointer args);
+               public void set_from_error (GLib.Error error);
+               public void set_handle_cancellation (bool handle_cancellation);
+               public void set_op_res_gboolean (bool op_res);
+               public void set_op_res_gpointer (pointer op_res, GLib.DestroyNotify destroy_op_res);
+               public void set_op_res_gssize (long op_res);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class SocketInputStream : GLib.InputStream {
+               public static GLib.Type get_type ();
+               public SocketInputStream (int fd, bool close_fd_at_close);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class SocketOutputStream : GLib.OutputStream {
+               public static GLib.Type get_type ();
+               public SocketOutputStream (int fd, bool close_fd_at_close);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class ThemedIcon : GLib.Object, GLib.Icon {
+               public weak string get_names ();
+               public static GLib.Type get_type ();
+               public ThemedIcon (string iconname);
+               public ThemedIcon.from_names (string iconnames);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnionDrive : GLib.Object, GLib.Drive {
+               public bool child_is_for_monitor (GLib.VolumeMonitor child_monitor);
+               public static GLib.Type get_type ();
+               public bool is_for_child_drive (GLib.Drive child_drive);
+               public UnionDrive (GLib.VolumeMonitor union_monitor, GLib.Drive child_drive, GLib.VolumeMonitor child_monitor);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnionVolume : GLib.Object, GLib.Volume {
+               public void add_volume (GLib.Volume volume, GLib.VolumeMonitor monitor);
+               public weak GLib.Volume get_child_for_monitor (GLib.VolumeMonitor child_monitor);
+               public static GLib.Type get_type ();
+               public bool has_child_volume (GLib.Volume child_volume);
+               public bool is_last_child (GLib.Volume child_volume);
+               public UnionVolume (GLib.VolumeMonitor union_monitor, GLib.Volume volume, GLib.VolumeMonitor monitor);
+               public void remove_volume (GLib.Volume volume);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnionVolumeMonitor : GLib.VolumeMonitor {
+               public weak GLib.Drive convert_drive (GLib.Drive child_drive);
+               public weak GLib.List convert_volumes (GLib.List child_volumes);
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnixDrive : GLib.Object, GLib.Drive {
+               public void disconnected ();
+               public static GLib.Type get_type ();
+               public bool has_mountpoint (string mountpoint);
+               public UnixDrive (GLib.VolumeMonitor volume_monitor, GLib.UnixMountPoint mountpoint);
+               public void set_volume (GLib.UnixVolume volume);
+               public void unset_volume (GLib.UnixVolume volume);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnixVolume : GLib.Object, GLib.Volume {
+               public static GLib.Type get_type ();
+               public bool has_mountpoint (string mountpoint);
+               public UnixVolume (GLib.VolumeMonitor volume_monitor, GLib.UnixMount mount);
+               public void unmounted ();
+               public void unset_drive (GLib.UnixDrive drive);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class UnixVolumeMonitor : GLib.VolumeMonitor {
+               public static GLib.Type get_type ();
+               public weak GLib.UnixDrive lookup_drive_for_mountpoint (string mountpoint);
+               public UnixVolumeMonitor ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class VolumeMonitor : GLib.Object {
+               public virtual weak GLib.List get_connected_drives ();
+               public virtual weak GLib.List get_mounted_volumes ();
+               public static GLib.Type get_type ();
+               public signal void volume_mounted (GLib.Volume volume);
+               public signal void volume_pre_unmount (GLib.Volume volume);
+               public signal void volume_unmounted (GLib.Volume volume);
+               public signal void drive_connected (GLib.Drive drive);
+               public signal void drive_disconnected (GLib.Drive drive);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public class Win32AppInfo : GLib.Object, GLib.AppInfo {
+               public static GLib.Type get_type ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface AppInfo {
+               public static weak GLib.AppInfo create_from_commandline (string commandline, string application_name, GLib.Error error);
+               public virtual weak GLib.AppInfo dup ();
+               public virtual bool equal (GLib.AppInfo appinfo2);
+               public virtual weak string get_description ();
+               public virtual weak string get_icon ();
+               public virtual weak string get_name ();
+               public static GLib.Type get_type ();
+               public virtual bool launch (GLib.List filenames, string envp, GLib.Error error);
+               public virtual bool launch_uris (GLib.List uris, string envp, GLib.Error error);
+               public virtual bool set_as_default_for_type (string content_type, GLib.Error error);
+               public virtual bool should_show (string desktop_env);
+               public virtual bool supports_uris ();
+               public virtual bool supports_xdg_startup_notify ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface AsyncResult {
+               public virtual weak GLib.Object get_source_object ();
+               public static GLib.Type get_type ();
+               public virtual pointer get_user_data ();
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface Drive {
+               public virtual bool can_eject ();
+               public virtual bool can_mount ();
+               public virtual void eject (GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool eject_finish (GLib.AsyncResult result, GLib.Error error);
+               public virtual weak string get_icon ();
+               public virtual weak string get_name ();
+               public weak string get_platform_id ();
+               public static GLib.Type get_type ();
+               public virtual weak GLib.List get_volumes ();
+               public virtual bool is_automounted ();
+               public virtual void mount (GLib.MountOperation mount_operation, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool mount_finish (GLib.AsyncResult result, GLib.Error error);
+               public signal void changed ();
+       }
+       [CCode (cheader_filename = "gio/gfile.h")]
+       public interface File {
+               public virtual weak GLib.FileOutputStream append_to (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual bool copy (GLib.File destination, GLib.FileCopyFlags @flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, pointer progress_callback_data, GLib.Error error);
+               public virtual weak GLib.FileOutputStream create (GLib.Cancellable cancellable, GLib.Error error);
+               public bool delete (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual weak GLib.File dup ();
+               public virtual void eject_mountable (GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool eject_mountable_finish (GLib.AsyncResult result, GLib.Error error);
+               public virtual weak GLib.FileEnumerator enumerate_children (string attributes, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual bool equal (GLib.File file2);
+               public virtual weak string get_basename ();
+               public weak GLib.File get_child (string name);
+               public virtual weak GLib.File get_child_for_display_name (string display_name, GLib.Error error);
+               public void get_contents_async (GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public bool get_contents_finish (GLib.AsyncResult res, string contents, ulong length, GLib.Error error);
+               public virtual weak GLib.FileInfo get_filesystem_info (string attributes, GLib.Cancellable cancellable, GLib.Error error);
+               public static weak GLib.File get_for_commandline_arg (string arg);
+               public static weak GLib.File get_for_path (string path);
+               public static weak GLib.File get_for_uri (string uri);
+               public virtual weak GLib.FileInfo get_info (string attributes, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual weak GLib.File get_parent ();
+               public virtual weak string get_parse_name ();
+               public virtual weak string get_path ();
+               public static GLib.Type get_type ();
+               public virtual weak string get_uri ();
+               public static uint hash (pointer file);
+               public virtual bool is_native ();
+               public virtual bool make_directory (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual bool make_symbolic_link (string symlink_value, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void mount_mountable (GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual weak GLib.File mount_mountable_finish (GLib.AsyncResult result, GLib.Error error);
+               public virtual bool move (GLib.File destination, GLib.FileCopyFlags @flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, pointer progress_callback_data, GLib.Error error);
+               public static weak GLib.File parse_name (string parse_name);
+               public virtual weak GLib.FileInputStream read (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void read_async (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual weak GLib.FileInputStream read_finish (GLib.AsyncResult res, GLib.Error error);
+               public virtual weak GLib.FileOutputStream replace (ulong mtime, bool make_backup, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual weak GLib.File resolve_relative (string relative_path);
+               public virtual bool set_attribute (string attribute, GLib.FileAttributeType type, pointer value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_byte_string (string attribute, string value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_int32 (string attribute, string value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_int64 (string attribute, int64 value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_string (string attribute, string value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_uint32 (string attribute, uint value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public bool set_attribute_uint64 (string attribute, uint64 value, GLib.FileGetInfoFlags @flags, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual weak GLib.File set_display_name (string display_name, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual bool trash (GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void unmount_mountable (GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool unmount_mountable_finish (GLib.AsyncResult result, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface Icon {
+               public virtual bool equal (GLib.Icon icon2);
+               public static GLib.Type get_type ();
+               public static uint hash (pointer icon);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface LoadableIcon {
+               public static GLib.Type get_type ();
+               public virtual weak GLib.InputStream load (int size, string type, GLib.Cancellable cancellable, GLib.Error error);
+               public virtual void load_async (int size, GLib.Cancellable cancellable, GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual weak GLib.InputStream load_finish (GLib.AsyncResult res, string type, GLib.Error error);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface Seekable {
+               public virtual bool can_seek ();
+               public virtual bool can_truncate ();
+               public static GLib.Type get_type ();
+               public virtual bool seek (int64 offset, GLib.SeekType type, GLib.Cancellable cancellable, GLib.Error err);
+               public virtual int64 tell ();
+               public virtual bool truncate (int64 offset, GLib.Cancellable cancellable, GLib.Error err);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface Vfs {
+               public static weak GLib.Vfs get ();
+               public virtual weak GLib.File get_file_for_path (string path);
+               public virtual weak GLib.File get_file_for_uri (string uri);
+               public static GLib.Type get_type ();
+               public virtual weak GLib.File parse_name (string parse_name);
+       }
+       [CCode (cheader_filename = "gio/gvfs.h")]
+       public interface Volume {
+               public virtual bool can_eject ();
+               public virtual bool can_unmount ();
+               public virtual void eject (GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool eject_finish (GLib.AsyncResult result, GLib.Error error);
+               public virtual weak GLib.Drive get_drive ();
+               public virtual weak string get_icon ();
+               public virtual weak string get_name ();
+               public virtual weak string get_platform_id ();
+               public virtual weak GLib.File get_root ();
+               public static GLib.Type get_type ();
+               public virtual void unmount (GLib.AsyncReadyCallback @callback, pointer user_data);
+               public virtual bool unmount_finish (GLib.AsyncResult result, GLib.Error error);
+               public signal void changed ();
+       }
+       [ReferenceType]
+       public struct AsyncResultData {
+               public pointer async_object;
+               public weak GLib.Error error;
+               public pointer user_data;
+       }
+       [ReferenceType]
+       public struct FileAttributeMatcher {
+               public bool enumerate_namespace (string @namespace);
+               public weak string enumerate_next ();
+               public void free ();
+               public bool matches (string full_name);
+               public bool matches_only (string full_name);
+               public FileAttributeMatcher (string attributes);
+       }
+       [ReferenceType]
+       public struct IOJob {
+               public void send_to_mainloop (GLib.IODataFunc func, pointer user_data, GLib.DestroyNotify notify, bool block);
+       }
+       [ReferenceType]
+       public struct LocalParentFileInfo {
+               public bool writable;
+               public bool is_sticky;
+               public int owner;
+       }
+       [ReferenceType]
+       public struct UnixMount {
+               public weak string mount_path;
+               public weak string device_path;
+               public weak string filesystem_type;
+               public bool is_read_only;
+       }
+       [ReferenceType]
+       public struct UnixMountPoint {
+               public weak string mount_path;
+               public weak string device_path;
+               public weak string filesystem_type;
+               public weak string dev_opt;
+               public bool is_read_only;
+               public bool is_user_mountable;
+               public bool is_loopback;
+       }
+       public callback void AsyncNextFilesCallback (GLib.FileEnumerator enumerator, GLib.List files, int num_files, pointer user_data, GLib.Error error);
+       public callback void AsyncReadyCallback (GLib.Object source_object, GLib.AsyncResult res, pointer user_data);
+       public callback void AsyncStopEnumeratingCallback (GLib.FileEnumerator enumerator, bool result, pointer user_data, GLib.Error error);
+       public callback bool FDSourceFunc (pointer user_data, GLib.IOCondition condition, int fd);
+       public callback void FileProgressCallback (int64 current_num_bytes, int64 total_num_bytes, pointer user_data);
+       public callback void IODataFunc (pointer user_data);
+       public callback void IOJobFunc (GLib.IOJob job, GLib.Cancellable cancellable, pointer user_data);
+       public callback void SimpleAsyncThreadFunc (GLib.SimpleAsyncResult res, GLib.Object object, GLib.Cancellable cancellable);
+       public callback void UnixMountCallback (pointer user_data);
+}
index 3365db2979894fab9deabe64ed5117503f593a6a..7cc254dfc75d1bb8233bc82b91522597d8e714bd 100644 (file)
@@ -1285,14 +1285,14 @@ namespace GLib {
                IS_EXECUTABLE,
                EXISTS
        }
-       
+
        [ReferenceType (free_function = "fclose")]
-       [CCode (cname = "FILE", cheader_filename = "stdio.h,glib/gstdio.h")]
-       public struct File {
+       [CCode (cname = "FILE", cheader_filename = "stdio.h")]
+       public struct FileStream {
                [CCode (cname = "fopen")]
-               public static ref File open (string path, string mode);
+               public static FileStream open (string path, string mode);
                [CCode (cname = "fdopen")]
-               public static ref File fdopen (int fildes, string mode);
+               public static FileStream fdopen (int fildes, string mode);
                [CCode (cname = "fprintf")]
                [PrintfFormat ()]
                public void printf (string format, ...);
@@ -1304,7 +1304,10 @@ namespace GLib {
                public void puts (string s);
                [CCode (cname = "fclose")]
                public void close ();
-               
+       }
+
+       [CCode (cprefix = "g_file_", cheader_filename = "glib/gstdio.h")]
+       public struct FileUtils {
                public static bool get_contents (string! filename, out string contents, ref long length, out Error error);
                public static bool set_contents (string! filename, string contents, long length, out Error error);
                public static bool test (string filename, FileTest test);
@@ -1319,7 +1322,7 @@ namespace GLib {
                [CCode (cname = "symlink")]
                public static int symlink (string! oldpath, string! newpath);
        }
-       
+
        [ReferenceType (free_function = "g_dir_close")]
        public struct Dir {
                public static ref Dir open (string filename, uint _flags, out Error error);
@@ -1349,10 +1352,10 @@ namespace GLib {
        }
        
        [CCode (cname = "stdout", cheader_filename = "stdio.h")]
-       public static File stdout;
+       public static FileStream stdout;
        
        [CCode (cname = "stderr", cheader_filename = "stdio.h")]
-       public static File stderr;
+       public static FileStream stderr;
 
        /* Shell-related Utilities */
 
index 7529f3ebbfbee05d0315485f93113281b3f05dc1..b4a434fd2fc0aa2fe7a32cc295289032551afd6b 100644 (file)
@@ -1,4 +1,4 @@
-[CCode (cheader_filename = "gtk/gtk.h")]
+[CCode (cprefix = "Gtk", lower_case_cprefix = "gtk_", cheader_filename = "gtk/gtk.h")]
 namespace Gtk {
        [CCode (cprefix = "GTK_ACCEL_")]
        public enum AccelFlags {
@@ -4915,6 +4915,7 @@ namespace Gtk {
                public WindowGroup ();
                public void remove_window (Gtk.Window window);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface Buildable {
                public virtual void add_child (Gtk.Builder builder, GLib.Object child, string type);
                public virtual weak GLib.Object construct_child (Gtk.Builder builder, string name);
@@ -4928,6 +4929,7 @@ namespace Gtk {
                public virtual void set_buildable_property (Gtk.Builder builder, string name, GLib.Value value);
                public virtual void set_name (string name);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface CellEditable {
                public static GLib.Type get_type ();
                [HasEmitter]
@@ -4935,6 +4937,7 @@ namespace Gtk {
                [HasEmitter]
                public signal void remove_widget ();
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface CellLayout {
                public virtual void add_attribute (Gtk.CellRenderer cell, string attribute, int column);
                public virtual void clear ();
@@ -4947,6 +4950,7 @@ namespace Gtk {
                public void set_attributes (Gtk.CellRenderer cell);
                public virtual void set_cell_data_func (Gtk.CellRenderer cell, Gtk.CellLayoutDataFunc func, pointer func_data, GLib.DestroyNotify destroy);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface Editable {
                public void copy_clipboard ();
                public void cut_clipboard ();
@@ -4966,6 +4970,7 @@ namespace Gtk {
                public signal void delete_text (int start_pos, int end_pos);
                public signal void changed ();
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface FileChooser {
                public void add_filter (Gtk.FileFilter filter);
                public bool add_shortcut_folder (string folder, GLib.Error error);
@@ -5018,6 +5023,7 @@ namespace Gtk {
                public void unselect_filename (string filename);
                public void unselect_uri (string uri);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface PrintOperationPreview {
                public virtual void end_preview ();
                public static GLib.Type get_type ();
@@ -5026,6 +5032,7 @@ namespace Gtk {
                public signal void ready (Gtk.PrintContext context);
                public signal void got_page_size (Gtk.PrintContext context, Gtk.PageSetup page_setup);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface RecentChooser {
                public virtual void add_filter (Gtk.RecentFilter filter);
                public static GLib.Quark error_quark ();
@@ -5065,17 +5072,20 @@ namespace Gtk {
                public signal void selection_changed ();
                public signal void item_activated ();
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface TreeDragDest {
                public virtual bool drag_data_received (Gtk.TreePath dest, Gtk.SelectionData selection_data);
                public static GLib.Type get_type ();
                public virtual bool row_drop_possible (Gtk.TreePath dest_path, Gtk.SelectionData selection_data);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface TreeDragSource {
                public virtual bool drag_data_delete (Gtk.TreePath path);
                public virtual bool drag_data_get (Gtk.TreePath path, Gtk.SelectionData selection_data);
                public static GLib.Type get_type ();
                public virtual bool row_draggable (Gtk.TreePath path);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface TreeModel {
                public void @foreach (Gtk.TreeModelForeachFunc func, pointer user_data);
                public void get (ref Gtk.TreeIter iter, ...);
@@ -5109,6 +5119,7 @@ namespace Gtk {
                [HasEmitter]
                public signal void rows_reordered (Gtk.TreePath path, ref Gtk.TreeIter iter, int new_order);
        }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public interface TreeSortable {
                public virtual bool get_sort_column_id (int sort_column_id, Gtk.SortType order);
                public static GLib.Type get_type ();
@@ -6316,7 +6327,7 @@ namespace Gtk {
        public static void show_about_dialog (Gtk.Window parent, string first_property_name, ...);
        public static void text_layout_draw (pointer layout, Gtk.Widget widget, Gdk.Drawable drawable, Gdk.GC cursor_gc, int x_offset, int y_offset, int x, int y, int width, int height, GLib.List widgets);
 }
-[CCode (cheader_filename = "gtk/gtk.h")]
+[CCode (cprefix = "Gtk", lower_case_cprefix = "gtk_", cheader_filename = "gtk/gtk.h")]
 namespace Gtk {
        public struct Allocation {
                public int x;
diff --git a/vapi/packages/gio-standalone/gio-standalone.files b/vapi/packages/gio-standalone/gio-standalone.files
new file mode 100644 (file)
index 0000000..2554b90
--- /dev/null
@@ -0,0 +1 @@
+gio
diff --git a/vapi/packages/gio-standalone/gio-standalone.gidl b/vapi/packages/gio-standalone/gio-standalone.gidl
new file mode 100644 (file)
index 0000000..ba6a8d9
--- /dev/null
@@ -0,0 +1,3559 @@
+<?xml version="1.0"?>
+<api version="1.0">
+  <!--
+
+        This file was automatically generated.
+        Please DO NOT MODIFY THIS FILE, modify .metadata files instead.
+
+-->
+  <namespace name="GLib">
+    <enum name="GDirectoryMonitorEvent" type="enum" type-name="GDirectoryMonitorEvent">
+      <member name="G_DIRECTORY_MONITOR_EVENT_CHANGED" value=""/>
+      <member name="G_DIRECTORY_MONITOR_EVENT_DELETED" value=""/>
+      <member name="G_DIRECTORY_MONITOR_EVENT_CREATED" value=""/>
+      <member name="G_DIRECTORY_MONITOR_EVENT_ATTRIBUTE_CHANGED" value=""/>
+      <member name="G_DIRECTORY_MONITOR_EVENT_UNMOUNTED" value=""/>
+    </enum>
+    <enum name="GFileAttributeType" type="enum" type-name="GFileAttributeType">
+      <member name="G_FILE_ATTRIBUTE_TYPE_INVALID" value="0"/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_STRING" value=""/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_BYTE_STRING" value=""/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_UINT32" value=""/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_INT32" value=""/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_UINT64" value=""/>
+      <member name="G_FILE_ATTRIBUTE_TYPE_INT64" value=""/>
+    </enum>
+    <enum name="GFileCopyFlags" type="flags" type-name="GFileCopyFlags">
+      <member name="G_FILE_COPY_OVERWRITE" value=""/>
+      <member name="G_FILE_COPY_BACKUP" value=""/>
+    </enum>
+    <enum name="GFileFlags" type="flags" type-name="GFileFlags">
+      <member name="G_FILE_FLAG_HIDDEN" value=""/>
+      <member name="G_FILE_FLAG_SYMLINK" value=""/>
+      <member name="G_FILE_FLAG_LOCAL" value=""/>
+      <member name="G_FILE_FLAG_VIRTUAL" value=""/>
+    </enum>
+    <enum name="GFileGetInfoFlags" type="flags" type-name="GFileGetInfoFlags">
+      <member name="G_FILE_GET_INFO_NOFOLLOW_SYMLINKS" value=""/>
+    </enum>
+    <enum name="GFileMonitorEvent" type="enum" type-name="GFileMonitorEvent">
+      <member name="G_FILE_MONITOR_EVENT_CHANGED" value=""/>
+      <member name="G_FILE_MONITOR_EVENT_DELETED" value=""/>
+      <member name="G_FILE_MONITOR_EVENT_CREATED" value=""/>
+      <member name="G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED" value=""/>
+      <member name="G_FILE_MONITOR_EVENT_UNMOUNTED" value=""/>
+    </enum>
+    <enum name="GFileType" type="enum" type-name="GFileType">
+      <member name="G_FILE_TYPE_UNKNOWN" value="0"/>
+      <member name="G_FILE_TYPE_REGULAR" value=""/>
+      <member name="G_FILE_TYPE_DIRECTORY" value=""/>
+      <member name="G_FILE_TYPE_SYMBOLIC_LINK" value=""/>
+      <member name="G_FILE_TYPE_SPECIAL" value=""/>
+      <member name="G_FILE_TYPE_SHORTCUT" value=""/>
+      <member name="G_FILE_TYPE_MOUNTABLE" value=""/>
+    </enum>
+    <enum name="GIOErrorEnum" type="enum" type-name="GIOErrorEnum">
+      <member name="G_IO_ERROR_FAILED" value=""/>
+      <member name="G_IO_ERROR_NOT_FOUND" value=""/>
+      <member name="G_IO_ERROR_EXISTS" value=""/>
+      <member name="G_IO_ERROR_IS_DIRECTORY" value=""/>
+      <member name="G_IO_ERROR_NOT_DIRECTORY" value=""/>
+      <member name="G_IO_ERROR_NOT_EMPTY" value=""/>
+      <member name="G_IO_ERROR_NOT_REGULAR_FILE" value=""/>
+      <member name="G_IO_ERROR_NOT_SYMBOLIC_LINK" value=""/>
+      <member name="G_IO_ERROR_NOT_MOUNTABLE" value=""/>
+      <member name="G_IO_ERROR_FILENAME_TOO_LONG" value=""/>
+      <member name="G_IO_ERROR_INVALID_FILENAME" value=""/>
+      <member name="G_IO_ERROR_TOO_MANY_LINKS" value=""/>
+      <member name="G_IO_ERROR_NO_SPACE" value=""/>
+      <member name="G_IO_ERROR_INVALID_ARGUMENT" value=""/>
+      <member name="G_IO_ERROR_PERMISSION_DENIED" value=""/>
+      <member name="G_IO_ERROR_NOT_SUPPORTED" value=""/>
+      <member name="G_IO_ERROR_NOT_MOUNTED" value=""/>
+      <member name="G_IO_ERROR_ALREADY_MOUNTED" value=""/>
+      <member name="G_IO_ERROR_CLOSED" value=""/>
+      <member name="G_IO_ERROR_CANCELLED" value=""/>
+      <member name="G_IO_ERROR_PENDING" value=""/>
+      <member name="G_IO_ERROR_READ_ONLY" value=""/>
+      <member name="G_IO_ERROR_CANT_CREATE_BACKUP" value=""/>
+      <member name="G_IO_ERROR_WRONG_MTIME" value=""/>
+      <member name="G_IO_ERROR_TIMED_OUT" value=""/>
+    </enum>
+    <enum name="GPasswordFlags" type="flags" type-name="GPasswordFlags">
+      <member name="G_PASSWORD_FLAGS_NEED_PASSWORD" value=""/>
+      <member name="G_PASSWORD_FLAGS_NEED_USERNAME" value=""/>
+      <member name="G_PASSWORD_FLAGS_NEED_DOMAIN" value=""/>
+      <member name="G_PASSWORD_FLAGS_SAVING_SUPPORTED" value=""/>
+      <member name="G_PASSWORD_FLAGS_ANON_SUPPORTED" value=""/>
+    </enum>
+    <enum name="GPasswordSave" type="enum" type-name="GPasswordSave">
+      <member name="G_PASSWORD_SAVE_NEVER" value=""/>
+      <member name="G_PASSWORD_SAVE_FOR_SESSION" value=""/>
+      <member name="G_PASSWORD_SAVE_PERMANENTLY" value=""/>
+    </enum>
+    <enum name="GUnixMountType" type="enum" type-name="GUnixMountType">
+      <member name="G_UNIX_MOUNT_TYPE_UNKNOWN" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_FLOPPY" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_CDROM" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_NFS" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_ZIP" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_JAZ" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_MEMSTICK" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_CF" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_SM" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_SDMMC" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_IPOD" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_CAMERA" value=""/>
+      <member name="G_UNIX_MOUNT_TYPE_HD" value=""/>
+    </enum>
+    <callback name="GAsyncNextFilesCallback" type-name="GAsyncNextFilesCallback">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="enumerator" type="GFileEnumerator*"/>
+        <parameter name="files" type="GList*"/>
+        <parameter name="num_files" type="int"/>
+        <parameter name="user_data" type="gpointer"/>
+        <parameter name="error" type="GError*"/>
+      </parameters>
+    </callback>
+    <callback name="GAsyncReadyCallback" type-name="GAsyncReadyCallback">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="source_object" type="GObject*"/>
+        <parameter name="res" type="GAsyncResult*"/>
+        <parameter name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="GAsyncStopEnumeratingCallback" type-name="GAsyncStopEnumeratingCallback">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="enumerator" type="GFileEnumerator*"/>
+        <parameter name="result" type="gboolean"/>
+        <parameter name="user_data" type="gpointer"/>
+        <parameter name="error" type="GError*"/>
+      </parameters>
+    </callback>
+    <callback name="GFDSourceFunc" type-name="GFDSourceFunc">
+      <return-type type="gboolean"/>
+      <parameters>
+        <parameter name="user_data" type="gpointer"/>
+        <parameter name="condition" type="GIOCondition"/>
+        <parameter name="fd" type="int"/>
+      </parameters>
+    </callback>
+    <callback name="GFileProgressCallback" type-name="GFileProgressCallback">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="current_num_bytes" type="goffset"/>
+        <parameter name="total_num_bytes" type="goffset"/>
+        <parameter name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="GIODataFunc" type-name="GIODataFunc">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="GIOJobFunc" type-name="GIOJobFunc">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="job" type="GIOJob*"/>
+        <parameter name="cancellable" type="GCancellable*"/>
+        <parameter name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <callback name="GSimpleAsyncThreadFunc" type-name="GSimpleAsyncThreadFunc">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="res" type="GSimpleAsyncResult*"/>
+        <parameter name="object" type="GObject*"/>
+        <parameter name="cancellable" type="GCancellable*"/>
+      </parameters>
+    </callback>
+    <callback name="GUnixMountCallback" type-name="GUnixMountCallback">
+      <return-type type="void"/>
+      <parameters>
+        <parameter name="user_data" type="gpointer"/>
+      </parameters>
+    </callback>
+    <interface get-type="" name="GAppInfo" type-name="GAppInfo">
+      <vfunc name="dup">
+        <return-type type="GAppInfo*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo1" type="GAppInfo*"/>
+          <parameter name="appinfo2" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_description">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="launch">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="filenames" type="GList*"/>
+          <parameter name="envp" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="supports_uris">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="launch_uris">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="uris" type="GList*"/>
+          <parameter name="envp" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="should_show">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="desktop_env" type="const-char*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="supports_xdg_startup_notify">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="set_as_default_for_type">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="content_type" type="const-char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="create_from_commandline" symbol="g_app_info_create_from_commandline">
+        <return-type type="GAppInfo*"/>
+        <parameters>
+          <parameter name="commandline" type="const-char*"/>
+          <parameter name="application_name" type="const-char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="dup" symbol="g_app_info_dup">
+        <return-type type="GAppInfo*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="equal" symbol="g_app_info_equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo1" type="GAppInfo*"/>
+          <parameter name="appinfo2" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_description" symbol="g_app_info_get_description">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_icon" symbol="g_app_info_get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_name" symbol="g_app_info_get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_app_info_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="launch" symbol="g_app_info_launch">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="filenames" type="GList*"/>
+          <parameter name="envp" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="launch_uris" symbol="g_app_info_launch_uris">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="uris" type="GList*"/>
+          <parameter name="envp" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_as_default_for_type" symbol="g_app_info_set_as_default_for_type">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="content_type" type="const-char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="should_show" symbol="g_app_info_should_show">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+          <parameter name="desktop_env" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="supports_uris" symbol="g_app_info_supports_uris">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+      <method name="supports_xdg_startup_notify" symbol="g_app_info_supports_xdg_startup_notify">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="appinfo" type="GAppInfo*"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GAsyncResult" type-name="GAsyncResult">
+      <vfunc name="get_user_data">
+        <return-type type="gpointer"/>
+        <parameters>
+          <parameter name="async_result" type="GAsyncResult*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_source_object">
+        <return-type type="GObject*"/>
+        <parameters>
+          <parameter name="async_result" type="GAsyncResult*"/>
+        </parameters>
+      </vfunc>
+      <method name="get_source_object" symbol="g_async_result_get_source_object">
+        <return-type type="GObject*"/>
+        <parameters>
+          <parameter name="res" type="GAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_async_result_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="get_user_data" symbol="g_async_result_get_user_data">
+        <return-type type="gpointer"/>
+        <parameters>
+          <parameter name="res" type="GAsyncResult*"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GDrive" type-name="GDrive">
+      <signal name="changed" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </signal>
+      <vfunc name="get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_volumes">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="is_automounted">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_mount">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_eject">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="mount_operation" type="GMountOperation*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="can_eject" symbol="g_drive_can_eject">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="can_mount" symbol="g_drive_can_mount">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="eject" symbol="g_drive_eject">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="eject_finish" symbol="g_drive_eject_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_icon" symbol="g_drive_get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="get_name" symbol="g_drive_get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="get_platform_id" symbol="g_drive_get_platform_id">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_drive_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="get_volumes" symbol="g_drive_get_volumes">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="is_automounted" symbol="g_drive_is_automounted">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="mount" symbol="g_drive_mount">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="mount_operation" type="GMountOperation*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="mount_finish" symbol="g_drive_mount_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GDrive*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GFile" type-name="GFile">
+      <vfunc name="dup">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="hash">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file1" type="GFile*"/>
+          <parameter name="file2" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="is_native">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_basename">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_path">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_uri">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_parse_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_parent">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="resolve_relative">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="relative_path" type="const-char*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_child_for_display_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="display_name" type="const-char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="enumerate_children">
+        <return-type type="GFileEnumerator*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_filesystem_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="set_display_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="display_name" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="set_attribute">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="type" type="GFileAttributeType"/>
+          <parameter name="data" type="gconstpointer"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="read">
+        <return-type type="GFileInputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="append_to">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="create">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="replace">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="mtime" type="time_t"/>
+          <parameter name="make_backup" type="gboolean"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="delete_file">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="trash">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="make_directory">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="make_symbolic_link">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="symlink_value" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="copy">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="source" type="GFile*"/>
+          <parameter name="destination" type="GFile*"/>
+          <parameter name="flags" type="GFileCopyFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="progress_callback" type="GFileProgressCallback"/>
+          <parameter name="progress_callback_data" type="gpointer"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="move">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="source" type="GFile*"/>
+          <parameter name="destination" type="GFile*"/>
+          <parameter name="flags" type="GFileCopyFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="progress_callback" type="GFileProgressCallback"/>
+          <parameter name="progress_callback_data" type="gpointer"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="read_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="read_finish">
+        <return-type type="GFileInputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="res" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="mount_operation" type="GMountOperation*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount_mountable_finish">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="unmount_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="unmount_mountable_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject_mountable_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount_for_location">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="location" type="GFile*"/>
+          <parameter name="mount_operation" type="GMountOperation*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="mount_for_location_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="location" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="monitor_dir">
+        <return-type type="GDirectoryMonitor*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="monitor_file">
+        <return-type type="GFileMonitor*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </vfunc>
+      <method name="append_to" symbol="g_file_append_to">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="copy" symbol="g_file_copy">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="source" type="GFile*"/>
+          <parameter name="destination" type="GFile*"/>
+          <parameter name="flags" type="GFileCopyFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="progress_callback" type="GFileProgressCallback"/>
+          <parameter name="progress_callback_data" type="gpointer"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="create" symbol="g_file_create">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="delete" symbol="g_file_delete">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="dup" symbol="g_file_dup">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="eject_mountable" symbol="g_file_eject_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="eject_mountable_finish" symbol="g_file_eject_mountable_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="enumerate_children" symbol="g_file_enumerate_children">
+        <return-type type="GFileEnumerator*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="equal" symbol="g_file_equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file1" type="GFile*"/>
+          <parameter name="file2" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_basename" symbol="g_file_get_basename">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_child" symbol="g_file_get_child">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_child_for_display_name" symbol="g_file_get_child_for_display_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="display_name" type="const-char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_contents_async" symbol="g_file_get_contents_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="get_contents_finish" symbol="g_file_get_contents_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="res" type="GAsyncResult*"/>
+          <parameter name="contents" type="gchar**"/>
+          <parameter name="length" type="gsize*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_filesystem_info" symbol="g_file_get_filesystem_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_for_commandline_arg" symbol="g_file_get_for_commandline_arg">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="arg" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_for_path" symbol="g_file_get_for_path">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="path" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_for_uri" symbol="g_file_get_for_uri">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="uri" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_info" symbol="g_file_get_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_parent" symbol="g_file_get_parent">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_parse_name" symbol="g_file_get_parse_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_path" symbol="g_file_get_path">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="get_uri" symbol="g_file_get_uri">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="hash" symbol="g_file_hash">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter name="file" type="gconstpointer"/>
+        </parameters>
+      </method>
+      <method name="is_native" symbol="g_file_is_native">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="make_directory" symbol="g_file_make_directory">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="make_symbolic_link" symbol="g_file_make_symbolic_link">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="symlink_value" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="mount_mountable" symbol="g_file_mount_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="mount_operation" type="GMountOperation*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="mount_mountable_finish" symbol="g_file_mount_mountable_finish">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="move" symbol="g_file_move">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="source" type="GFile*"/>
+          <parameter name="destination" type="GFile*"/>
+          <parameter name="flags" type="GFileCopyFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="progress_callback" type="GFileProgressCallback"/>
+          <parameter name="progress_callback_data" type="gpointer"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="parse_name" symbol="g_file_parse_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="parse_name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="read" symbol="g_file_read">
+        <return-type type="GFileInputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="read_async" symbol="g_file_read_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="read_finish" symbol="g_file_read_finish">
+        <return-type type="GFileInputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="res" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="replace" symbol="g_file_replace">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="mtime" type="time_t"/>
+          <parameter name="make_backup" type="gboolean"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="resolve_relative" symbol="g_file_resolve_relative">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="relative_path" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_attribute" symbol="g_file_set_attribute">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="type" type="GFileAttributeType"/>
+          <parameter name="value" type="gconstpointer"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_byte_string" symbol="g_file_set_attribute_byte_string">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_int32" symbol="g_file_set_attribute_int32">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_int64" symbol="g_file_set_attribute_int64">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="gint64"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_string" symbol="g_file_set_attribute_string">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_uint32" symbol="g_file_set_attribute_uint32">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="guint32"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_uint64" symbol="g_file_set_attribute_uint64">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="guint64"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_display_name" symbol="g_file_set_display_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="display_name" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="trash" symbol="g_file_trash">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="unmount_mountable" symbol="g_file_unmount_mountable">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="unmount_mountable_finish" symbol="g_file_unmount_mountable_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GIcon" type-name="GIcon">
+      <vfunc name="hash">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter name="icon" type="GIcon*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="icon1" type="GIcon*"/>
+          <parameter name="icon2" type="GIcon*"/>
+        </parameters>
+      </vfunc>
+      <method name="equal" symbol="g_icon_equal">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="icon1" type="GIcon*"/>
+          <parameter name="icon2" type="GIcon*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_icon_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="hash" symbol="g_icon_hash">
+        <return-type type="guint"/>
+        <parameters>
+          <parameter name="icon" type="gconstpointer"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GLoadableIcon" type-name="GLoadableIcon">
+      <vfunc name="load">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="size" type="int"/>
+          <parameter name="type" type="char**"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="load_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="size" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="load_finish">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="res" type="GAsyncResult*"/>
+          <parameter name="type" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="get_type" symbol="g_loadable_icon_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="load" symbol="g_loadable_icon_load">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="size" type="int"/>
+          <parameter name="type" type="char**"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="load_async" symbol="g_loadable_icon_load_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="size" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="load_finish" symbol="g_loadable_icon_load_finish">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="icon" type="GLoadableIcon*"/>
+          <parameter name="res" type="GAsyncResult*"/>
+          <parameter name="type" type="char**"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GSeekable" type-name="GSeekable">
+      <vfunc name="tell">
+        <return-type type="goffset"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="type" type="GSeekType"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_truncate">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="truncate">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="can_seek" symbol="g_seekable_can_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </method>
+      <method name="can_truncate" symbol="g_seekable_can_truncate">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_seekable_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="seek" symbol="g_seekable_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="type" type="GSeekType"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="err" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="tell" symbol="g_seekable_tell">
+        <return-type type="goffset"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+        </parameters>
+      </method>
+      <method name="truncate" symbol="g_seekable_truncate">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="seekable" type="GSeekable*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="err" type="GError**"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GVfs" type-name="GVfs">
+      <vfunc name="get_file_for_path">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="path" type="const-char*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_file_for_uri">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="uri" type="const-char*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="parse_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="parse_name" type="const-char*"/>
+        </parameters>
+      </vfunc>
+      <method name="get" symbol="g_vfs_get">
+        <return-type type="GVfs*"/>
+      </method>
+      <method name="get_file_for_path" symbol="g_vfs_get_file_for_path">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="path" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_file_for_uri" symbol="g_vfs_get_file_for_uri">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="uri" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_vfs_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="parse_name" symbol="g_vfs_parse_name">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="vfs" type="GVfs*"/>
+          <parameter name="parse_name" type="const-char*"/>
+        </parameters>
+      </method>
+    </interface>
+    <interface get-type="" name="GVolume" type-name="GVolume">
+      <signal name="changed" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </signal>
+      <vfunc name="get_root">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_drive">
+        <return-type type="GDrive*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_unmount">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_eject">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="unmount">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="unmount_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="eject_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_platform_id">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </vfunc>
+      <method name="can_eject" symbol="g_volume_can_eject">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="can_unmount" symbol="g_volume_can_unmount">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="eject" symbol="g_volume_eject">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="eject_finish" symbol="g_volume_eject_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_drive" symbol="g_volume_get_drive">
+        <return-type type="GDrive*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="get_icon" symbol="g_volume_get_icon">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="get_name" symbol="g_volume_get_name">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="get_platform_id" symbol="g_volume_get_platform_id">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="get_root" symbol="g_volume_get_root">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_volume_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="unmount" symbol="g_volume_unmount">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="unmount_finish" symbol="g_volume_unmount_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </interface>
+    <object get-type="" name="GBufferedInputStream" parent="GFilterInputStream" type-name="GBufferedInputStream">
+      <field name="priv" type="GBufferedInputStreamPrivate*"/>
+      <property construct-only="1" name="buffer-size" readable="1" type="guint" writable="1"/>
+      <method name="get_type" symbol="g_buffered_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_buffered_input_stream_new">
+        <parameters>
+          <parameter name="base_stream" type="GInputStream*"/>
+        </parameters>
+      </constructor>
+      <constructor name="new_sized" symbol="g_buffered_input_stream_new_sized">
+        <parameters>
+          <parameter name="base_stream" type="GInputStream*"/>
+          <parameter name="size" type="guint"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GBufferedOutputStream" parent="GFilterOutputStream" type-name="GBufferedOutputStream">
+      <field name="priv" type="GBufferedOutputStreamPrivate*"/>
+      <property construct-only="1" name="buffer-size" readable="1" type="guint" writable="1"/>
+      <method name="get_type" symbol="g_buffered_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_buffered_output_stream_new">
+        <parameters>
+          <parameter name="base_stream" type="GOutputStream*"/>
+        </parameters>
+      </constructor>
+      <constructor name="new_sized" symbol="g_buffered_output_stream_new_sized">
+        <parameters>
+          <parameter name="base_stream" type="GOutputStream*"/>
+          <parameter name="size" type="guint"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GCancellable" parent="GObject" type-name="GCancellable">
+      <signal name="cancelled" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </signal>
+      <method name="cancel" symbol="g_cancellable_cancel">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+      <method name="get_fd" symbol="g_cancellable_get_fd">
+        <return-type type="int"/>
+        <parameters>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_cancellable_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="is_cancelled" symbol="g_cancellable_is_cancelled">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_cancellable_new"/>
+      <method name="reset" symbol="g_cancellable_reset">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GDesktopAppInfo" parent="GObject" type-name="GDesktopAppInfo">
+      <implements>
+        <interface name="GAppInfo"/>
+      </implements>
+      <method name="get_type" symbol="g_desktop_app_info_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_desktop_app_info_new">
+        <parameters>
+          <parameter name="desktop_id" type="const-char*"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GDirectoryMonitor" parent="GObject" type-name="GDirectoryMonitor">
+      <field name="priv" type="GDirectoryMonitorPrivate*"/>
+      <signal name="changed" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GDirectoryMonitor*"/>
+          <parameter name="child" type="GFile*"/>
+          <parameter name="other_file" type="GFile*"/>
+          <parameter name="event_type" type="GDirectoryMonitorEvent"/>
+        </parameters>
+      </signal>
+      <vfunc name="cancel">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="monitor" type="GDirectoryMonitor*"/>
+        </parameters>
+      </vfunc>
+      <method name="cancel" symbol="g_directory_monitor_cancel">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="monitor" type="GDirectoryMonitor*"/>
+        </parameters>
+      </method>
+      <method name="emit_event" symbol="g_directory_monitor_emit_event">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GDirectoryMonitor*"/>
+          <parameter name="child" type="GFile*"/>
+          <parameter name="other_file" type="GFile*"/>
+          <parameter name="event_type" type="GDirectoryMonitorEvent"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_directory_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="set_rate_limit" symbol="g_directory_monitor_set_rate_limit">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GDirectoryMonitor*"/>
+          <parameter name="limit_msecs" type="int"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GFileEnumerator" parent="GObject" type-name="GFileEnumerator">
+      <field name="priv" type="GFileEnumeratorPrivate*"/>
+      <vfunc name="next_file">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="stop">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="next_files_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="num_files" type="int"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="callback" type="GAsyncNextFilesCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="stop_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="callback" type="GAsyncStopEnumeratingCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </vfunc>
+      <method name="get_type" symbol="g_file_enumerator_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_pending" symbol="g_file_enumerator_has_pending">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+        </parameters>
+      </method>
+      <method name="is_stopped" symbol="g_file_enumerator_is_stopped">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+        </parameters>
+      </method>
+      <method name="next_file" symbol="g_file_enumerator_next_file">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="next_files_async" symbol="g_file_enumerator_next_files_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="num_files" type="int"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="callback" type="GAsyncNextFilesCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+      <method name="set_pending" symbol="g_file_enumerator_set_pending">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="pending" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="stop" symbol="g_file_enumerator_stop">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="stop_async" symbol="g_file_enumerator_stop_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="enumerator" type="GFileEnumerator*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="callback" type="GAsyncStopEnumeratingCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GFileIcon" parent="GObject" type-name="GFileIcon">
+      <implements>
+        <interface name="GIcon"/>
+        <interface name="GLoadableIcon"/>
+      </implements>
+      <method name="get_file" symbol="g_file_icon_get_file">
+        <return-type type="GFile*"/>
+        <parameters>
+          <parameter name="icon" type="GFileIcon*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_icon_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_file_icon_new">
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GFileInfo" parent="GObject" type-name="GFileInfo">
+      <method name="copy" symbol="g_file_info_copy">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_as_string" symbol="g_file_info_get_attribute_as_string">
+        <return-type type="char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_byte_string" symbol="g_file_info_get_attribute_byte_string">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_int32" symbol="g_file_info_get_attribute_int32">
+        <return-type type="gint32"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_int64" symbol="g_file_info_get_attribute_int64">
+        <return-type type="gint64"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_string" symbol="g_file_info_get_attribute_string">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_type" symbol="g_file_info_get_attribute_type">
+        <return-type type="GFileAttributeType"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_uint32" symbol="g_file_info_get_attribute_uint32">
+        <return-type type="guint32"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_attribute_uint64" symbol="g_file_info_get_attribute_uint64">
+        <return-type type="guint64"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="get_content_type" symbol="g_file_info_get_content_type">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_display_name" symbol="g_file_info_get_display_name">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_edit_name" symbol="g_file_info_get_edit_name">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_file_type" symbol="g_file_info_get_file_type">
+        <return-type type="GFileType"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_flags" symbol="g_file_info_get_flags">
+        <return-type type="GFileFlags"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_icon" symbol="g_file_info_get_icon">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_modification_time" symbol="g_file_info_get_modification_time">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="result" type="GTimeVal*"/>
+        </parameters>
+      </method>
+      <method name="get_name" symbol="g_file_info_get_name">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_size" symbol="g_file_info_get_size">
+        <return-type type="goffset"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_symlink_target" symbol="g_file_info_get_symlink_target">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_info_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_attribute" symbol="g_file_info_has_attribute">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="list_attributes" symbol="g_file_info_list_attributes">
+        <return-type type="char**"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="name_space" type="const-char*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_file_info_new"/>
+      <method name="remove_attribute" symbol="g_file_info_remove_attribute">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_byte_string" symbol="g_file_info_set_attribute_byte_string">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_int32" symbol="g_file_info_set_attribute_int32">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="gint32"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_int64" symbol="g_file_info_set_attribute_int64">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="gint64"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_string" symbol="g_file_info_set_attribute_string">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_uint32" symbol="g_file_info_set_attribute_uint32">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="guint32"/>
+        </parameters>
+      </method>
+      <method name="set_attribute_uint64" symbol="g_file_info_set_attribute_uint64">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="attribute" type="const-char*"/>
+          <parameter name="value" type="guint64"/>
+        </parameters>
+      </method>
+      <method name="set_content_type" symbol="g_file_info_set_content_type">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="content_type" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_display_name" symbol="g_file_info_set_display_name">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="display_name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_edit_name" symbol="g_file_info_set_edit_name">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="edit_name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_file_type" symbol="g_file_info_set_file_type">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="type" type="GFileType"/>
+        </parameters>
+      </method>
+      <method name="set_flags" symbol="g_file_info_set_flags">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="flags" type="GFileFlags"/>
+        </parameters>
+      </method>
+      <method name="set_icon" symbol="g_file_info_set_icon">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="icon" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_modification_time" symbol="g_file_info_set_modification_time">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="mtime" type="GTimeVal*"/>
+        </parameters>
+      </method>
+      <method name="set_name" symbol="g_file_info_set_name">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_size" symbol="g_file_info_set_size">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="size" type="goffset"/>
+        </parameters>
+      </method>
+      <method name="set_symlink_target" symbol="g_file_info_set_symlink_target">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="info" type="GFileInfo*"/>
+          <parameter name="symlink_target" type="const-char*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GFileInputStream" parent="GInputStream" type-name="GFileInputStream">
+      <field name="priv" type="GFileInputStreamPrivate*"/>
+      <vfunc name="tell">
+        <return-type type="goffset"/>
+        <parameters>
+          <parameter name="stream" type="GFileInputStream*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GFileInputStream*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GFileInputStream*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="type" type="GSeekType"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_file_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="stream" type="GFileInputStream*"/>
+          <parameter name="attributes" type="char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <implements>
+        <interface name="GSeekable"/>
+      </implements>
+      <method name="get_file_info" symbol="g_file_input_stream_get_file_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="stream" type="GFileInputStream*"/>
+          <parameter name="attributes" type="char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GFileMonitor" parent="GObject" type-name="GFileMonitor">
+      <field name="priv" type="GFileMonitorPrivate*"/>
+      <signal name="changed" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GFileMonitor*"/>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="other_file" type="GFile*"/>
+          <parameter name="event_type" type="GFileMonitorEvent"/>
+        </parameters>
+      </signal>
+      <vfunc name="cancel">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="monitor" type="GFileMonitor*"/>
+        </parameters>
+      </vfunc>
+      <method name="cancel" symbol="g_file_monitor_cancel">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="monitor" type="GFileMonitor*"/>
+        </parameters>
+      </method>
+      <method name="directory" symbol="g_file_monitor_directory">
+        <return-type type="GDirectoryMonitor*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="emit_event" symbol="g_file_monitor_emit_event">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GFileMonitor*"/>
+          <parameter name="file" type="GFile*"/>
+          <parameter name="other_file" type="GFile*"/>
+          <parameter name="event_type" type="GFileMonitorEvent"/>
+        </parameters>
+      </method>
+      <method name="file" symbol="g_file_monitor_file">
+        <return-type type="GFileMonitor*"/>
+        <parameters>
+          <parameter name="file" type="GFile*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="set_rate_limit" symbol="g_file_monitor_set_rate_limit">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="monitor" type="GFileMonitor*"/>
+          <parameter name="limit_msecs" type="int"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GFileOutputStream" parent="GOutputStream" type-name="GFileOutputStream">
+      <field name="priv" type="GFileOutputStreamPrivate*"/>
+      <vfunc name="tell">
+        <return-type type="goffset"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="can_seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="seek">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="offset" type="goffset"/>
+          <parameter name="type" type="GSeekType"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_file_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="attributes" type="char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="get_file_info" symbol="g_file_output_stream_get_file_info">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="attributes" type="char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_final_mtime" symbol="g_file_output_stream_get_final_mtime">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="mtime" type="GTimeVal*"/>
+        </parameters>
+      </method>
+      <method name="get_should_get_final_mtime" symbol="g_file_output_stream_get_should_get_final_mtime">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_file_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="set_final_mtime" symbol="g_file_output_stream_set_final_mtime">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="final_mtime" type="GTimeVal*"/>
+        </parameters>
+      </method>
+      <method name="set_should_get_final_mtime" symbol="g_file_output_stream_set_should_get_final_mtime">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GFileOutputStream*"/>
+          <parameter name="get_final_mtime" type="gboolean"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GFilterInputStream" parent="GInputStream" type-name="GFilterInputStream">
+      <field name="base_stream" type="GInputStream*"/>
+      <property construct-only="1" name="base-stream" readable="1" type="GInputStream" writable="1"/>
+      <method name="get_base_stream" symbol="g_filter_input_stream_get_base_stream">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="stream" type="GFilterInputStream*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_filter_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GFilterOutputStream" parent="GOutputStream" type-name="GFilterOutputStream">
+      <field name="base_stream" type="GOutputStream*"/>
+      <property construct-only="1" name="base-stream" readable="1" type="GOutputStream" writable="1"/>
+      <method name="get_base_stream" symbol="g_filter_output_stream_get_base_stream">
+        <return-type type="GOutputStream*"/>
+        <parameters>
+          <parameter name="stream" type="GFilterOutputStream*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_filter_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GInputStream" parent="GObject" type-name="GInputStream">
+      <field name="priv" type="GInputStreamPrivate*"/>
+      <vfunc name="read">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="skip">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="read_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="read_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="skip_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="skip_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="close" symbol="g_input_stream_close">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="close_async" symbol="g_input_stream_close_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="close_finish" symbol="g_input_stream_close_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_pending" symbol="g_input_stream_has_pending">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+        </parameters>
+      </method>
+      <method name="is_closed" symbol="g_input_stream_is_closed">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+        </parameters>
+      </method>
+      <method name="read" symbol="g_input_stream_read">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="read_all" symbol="g_input_stream_read_all">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="bytes_read" type="gsize*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="read_async" symbol="g_input_stream_read_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="read_finish" symbol="g_input_stream_read_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="set_pending" symbol="g_input_stream_set_pending">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="pending" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="skip" symbol="g_input_stream_skip">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="skip_async" symbol="g_input_stream_skip_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="skip_finish" symbol="g_input_stream_skip_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GInputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GLocalDirectoryMonitor" parent="GDirectoryMonitor" type-name="GLocalDirectoryMonitor">
+      <method name="get_type" symbol="g_local_directory_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="start" symbol="g_local_directory_monitor_start">
+        <return-type type="GDirectoryMonitor*"/>
+        <parameters>
+          <parameter name="dirname" type="const-char*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GLocalFile" parent="GObject" type-name="GLocalFile">
+      <implements>
+        <interface name="GFile"/>
+      </implements>
+      <method name="get_type" symbol="g_local_file_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="info_get" symbol="g_local_file_info_get">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="basename" type="const-char*"/>
+          <parameter name="path" type="const-char*"/>
+          <parameter name="attribute_matcher" type="GFileAttributeMatcher*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="parent_info" type="GLocalParentFileInfo*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="info_get_from_fd" symbol="g_local_file_info_get_from_fd">
+        <return-type type="GFileInfo*"/>
+        <parameters>
+          <parameter name="fd" type="int"/>
+          <parameter name="attributes" type="char*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="info_get_parent_info" symbol="g_local_file_info_get_parent_info">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="dir" type="const-char*"/>
+          <parameter name="attribute_matcher" type="GFileAttributeMatcher*"/>
+          <parameter name="parent_info" type="GLocalParentFileInfo*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_local_file_new">
+        <parameters>
+          <parameter name="filename" type="const-char*"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GLocalFileEnumerator" parent="GFileEnumerator" type-name="GLocalFileEnumerator">
+      <method name="get_type" symbol="g_local_file_enumerator_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_local_file_enumerator_new">
+        <parameters>
+          <parameter name="filename" type="const-char*"/>
+          <parameter name="attributes" type="const-char*"/>
+          <parameter name="flags" type="GFileGetInfoFlags"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GLocalFileInputStream" parent="GFileInputStream" type-name="GLocalFileInputStream">
+      <field name="priv" type="GLocalFileInputStreamPrivate*"/>
+      <method name="get_type" symbol="g_local_file_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_local_file_input_stream_new">
+        <parameters>
+          <parameter name="fd" type="int"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GLocalFileMonitor" parent="GFileMonitor" type-name="GLocalFileMonitor">
+      <method name="get_type" symbol="g_local_file_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="start" symbol="g_local_file_monitor_start">
+        <return-type type="GFileMonitor*"/>
+        <parameters>
+          <parameter name="dirname" type="const-char*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GLocalFileOutputStream" parent="GFileOutputStream" type-name="GLocalFileOutputStream">
+      <field name="priv" type="GLocalFileOutputStreamPrivate*"/>
+      <method name="append" symbol="g_local_file_output_stream_append">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="filename" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="create" symbol="g_local_file_output_stream_create">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="filename" type="const-char*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_local_file_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="replace" symbol="g_local_file_output_stream_replace">
+        <return-type type="GFileOutputStream*"/>
+        <parameters>
+          <parameter name="filename" type="const-char*"/>
+          <parameter name="mtime" type="time_t"/>
+          <parameter name="make_backup" type="gboolean"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GLocalVfs" parent="GObject" type-name="GLocalVfs">
+      <implements>
+        <interface name="GVfs"/>
+      </implements>
+      <method name="get_type" symbol="g_local_vfs_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_local_vfs_new"/>
+    </object>
+    <object get-type="" name="GMemoryInputStream" parent="GInputStream" type-name="GMemoryInputStream">
+      <field name="priv" type="GMemoryInputStreamPrivate*"/>
+      <implements>
+        <interface name="GSeekable"/>
+      </implements>
+      <method name="from_data" symbol="g_memory_input_stream_from_data">
+        <return-type type="GInputStream*"/>
+        <parameters>
+          <parameter name="data" type="const-void*"/>
+          <parameter name="len" type="gsize"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_memory_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GMemoryOutputStream" parent="GOutputStream" type-name="GMemoryOutputStream">
+      <field name="priv" type="GMemoryOutputStreamPrivate*"/>
+      <property construct="1" name="data" readable="1" type="gpointer" writable="1"/>
+      <property name="free-array" readable="1" type="gboolean" writable="1"/>
+      <property name="size-limit" readable="1" type="guint" writable="1"/>
+      <implements>
+        <interface name="GSeekable"/>
+      </implements>
+      <method name="get_type" symbol="g_memory_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_memory_output_stream_new">
+        <parameters>
+          <parameter name="data" type="GByteArray*"/>
+        </parameters>
+      </constructor>
+      <method name="set_max_size" symbol="g_memory_output_stream_set_max_size">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="ostream" type="GMemoryOutputStream*"/>
+          <parameter name="max_size" type="guint"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GMountOperation" parent="GObject" type-name="GMountOperation">
+      <field name="priv" type="GMountOperationPrivate*"/>
+      <signal name="ask_password" when="LAST">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="message" type="const-char*"/>
+          <parameter name="default_user" type="const-char*"/>
+          <parameter name="default_domain" type="const-char*"/>
+          <parameter name="flags" type="GPasswordFlags"/>
+        </parameters>
+      </signal>
+      <signal name="ask_question" when="LAST">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="message" type="const-char*"/>
+          <parameter name="choices" type="const-char*[]"/>
+        </parameters>
+      </signal>
+      <signal name="reply" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="abort" type="gboolean"/>
+        </parameters>
+      </signal>
+      <method name="get_anonymous" symbol="g_mount_operation_get_anonymous">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <method name="get_choice" symbol="g_mount_operation_get_choice">
+        <return-type type="int"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <method name="get_domain" symbol="g_mount_operation_get_domain">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <method name="get_password" symbol="g_mount_operation_get_password">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <method name="get_password_save" symbol="g_mount_operation_get_password_save">
+        <return-type type="GPasswordSave"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_mount_operation_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="get_username" symbol="g_mount_operation_get_username">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_mount_operation_new"/>
+      <method name="reply" symbol="g_mount_operation_reply">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="abort" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="set_anonymous" symbol="g_mount_operation_set_anonymous">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="anonymous" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="set_choice" symbol="g_mount_operation_set_choice">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="choice" type="int"/>
+        </parameters>
+      </method>
+      <method name="set_domain" symbol="g_mount_operation_set_domain">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="domain" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_password" symbol="g_mount_operation_set_password">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="password" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="set_password_save" symbol="g_mount_operation_set_password_save">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="save" type="GPasswordSave"/>
+        </parameters>
+      </method>
+      <method name="set_username" symbol="g_mount_operation_set_username">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="op" type="GMountOperation*"/>
+          <parameter name="username" type="const-char*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GOutputStream" parent="GObject" type-name="GOutputStream">
+      <field name="priv" type="GOutputStreamPrivate*"/>
+      <vfunc name="write">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="flush">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="write_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="write_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="flush_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="flush_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="close_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </vfunc>
+      <method name="close" symbol="g_output_stream_close">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="close_async" symbol="g_output_stream_close_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="close_finish" symbol="g_output_stream_close_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="flush" symbol="g_output_stream_flush">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="flush_async" symbol="g_output_stream_flush_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="flush_finish" symbol="g_output_stream_flush_finish">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_pending" symbol="g_output_stream_has_pending">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+        </parameters>
+      </method>
+      <method name="is_closed" symbol="g_output_stream_is_closed">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+        </parameters>
+      </method>
+      <method name="set_pending" symbol="g_output_stream_set_pending">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="pending" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="write" symbol="g_output_stream_write">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="write_all" symbol="g_output_stream_write_all">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="bytes_written" type="gsize*"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="write_async" symbol="g_output_stream_write_async">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="buffer" type="void*"/>
+          <parameter name="count" type="gsize"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+        </parameters>
+      </method>
+      <method name="write_finish" symbol="g_output_stream_write_finish">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="stream" type="GOutputStream*"/>
+          <parameter name="result" type="GAsyncResult*"/>
+          <parameter name="error" type="GError**"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GSimpleAsyncResult" parent="GObject" type-name="GSimpleAsyncResult">
+      <implements>
+        <interface name="GAsyncResult"/>
+      </implements>
+      <method name="complete" symbol="g_simple_async_result_complete">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="complete_in_idle" symbol="g_simple_async_result_complete_in_idle">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_op_res_gboolean" symbol="g_simple_async_result_get_op_res_gboolean">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_op_res_gpointer" symbol="g_simple_async_result_get_op_res_gpointer">
+        <return-type type="gpointer"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_op_res_gssize" symbol="g_simple_async_result_get_op_res_gssize">
+        <return-type type="gssize"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_source_tag" symbol="g_simple_async_result_get_source_tag">
+        <return-type type="gpointer"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_simple_async_result_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_simple_async_result_new">
+        <parameters>
+          <parameter name="source_object" type="GObject*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="source_tag" type="gpointer"/>
+        </parameters>
+      </constructor>
+      <constructor name="new_error" symbol="g_simple_async_result_new_error">
+        <parameters>
+          <parameter name="source_object" type="GObject*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="domain" type="GQuark"/>
+          <parameter name="code" type="gint"/>
+          <parameter name="format" type="const-gchar*"/>
+        </parameters>
+      </constructor>
+      <constructor name="new_from_error" symbol="g_simple_async_result_new_from_error">
+        <parameters>
+          <parameter name="source_object" type="GObject*"/>
+          <parameter name="callback" type="GAsyncReadyCallback"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="error" type="GError*"/>
+        </parameters>
+      </constructor>
+      <method name="propagate_error" symbol="g_simple_async_result_propagate_error">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="dest" type="GError**"/>
+        </parameters>
+      </method>
+      <method name="run_in_thread" symbol="g_simple_async_result_run_in_thread">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="func" type="GSimpleAsyncThreadFunc"/>
+          <parameter name="io_priority" type="int"/>
+          <parameter name="cancellable" type="GCancellable*"/>
+        </parameters>
+      </method>
+      <method name="set_error" symbol="g_simple_async_result_set_error">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="domain" type="GQuark"/>
+          <parameter name="code" type="gint"/>
+          <parameter name="format" type="const-gchar*"/>
+        </parameters>
+      </method>
+      <method name="set_error_va" symbol="g_simple_async_result_set_error_va">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="domain" type="GQuark"/>
+          <parameter name="code" type="gint"/>
+          <parameter name="format" type="const-gchar*"/>
+          <parameter name="args" type="va_list"/>
+        </parameters>
+      </method>
+      <method name="set_from_error" symbol="g_simple_async_result_set_from_error">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="error" type="GError*"/>
+        </parameters>
+      </method>
+      <method name="set_handle_cancellation" symbol="g_simple_async_result_set_handle_cancellation">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="handle_cancellation" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="set_op_res_gboolean" symbol="g_simple_async_result_set_op_res_gboolean">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="op_res" type="gboolean"/>
+        </parameters>
+      </method>
+      <method name="set_op_res_gpointer" symbol="g_simple_async_result_set_op_res_gpointer">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="op_res" type="gpointer"/>
+          <parameter name="destroy_op_res" type="GDestroyNotify"/>
+        </parameters>
+      </method>
+      <method name="set_op_res_gssize" symbol="g_simple_async_result_set_op_res_gssize">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="simple" type="GSimpleAsyncResult*"/>
+          <parameter name="op_res" type="gssize"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GSocketInputStream" parent="GInputStream" type-name="GSocketInputStream">
+      <field name="priv" type="GSocketInputStreamPrivate*"/>
+      <method name="get_type" symbol="g_socket_input_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_socket_input_stream_new">
+        <parameters>
+          <parameter name="fd" type="int"/>
+          <parameter name="close_fd_at_close" type="gboolean"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GSocketOutputStream" parent="GOutputStream" type-name="GSocketOutputStream">
+      <field name="priv" type="GSocketOutputStreamPrivate*"/>
+      <method name="get_type" symbol="g_socket_output_stream_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_socket_output_stream_new">
+        <parameters>
+          <parameter name="fd" type="int"/>
+          <parameter name="close_fd_at_close" type="gboolean"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GThemedIcon" parent="GObject" type-name="GThemedIcon">
+      <implements>
+        <interface name="GIcon"/>
+      </implements>
+      <method name="get_names" symbol="g_themed_icon_get_names">
+        <return-type type="char**"/>
+        <parameters>
+          <parameter name="icon" type="GThemedIcon*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_themed_icon_get_type">
+        <return-type type="GType"/>
+      </method>
+      <constructor name="new" symbol="g_themed_icon_new">
+        <parameters>
+          <parameter name="iconname" type="const-char*"/>
+        </parameters>
+      </constructor>
+      <constructor name="new_from_names" symbol="g_themed_icon_new_from_names">
+        <parameters>
+          <parameter name="iconnames" type="char**"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GUnionDrive" parent="GObject" type-name="GUnionDrive">
+      <implements>
+        <interface name="GDrive"/>
+      </implements>
+      <method name="child_is_for_monitor" symbol="g_union_drive_child_is_for_monitor">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="union_drive" type="GUnionDrive*"/>
+          <parameter name="child_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_union_drive_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="is_for_child_drive" symbol="g_union_drive_is_for_child_drive">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="union_drive" type="GUnionDrive*"/>
+          <parameter name="child_drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_union_drive_new">
+        <parameters>
+          <parameter name="union_monitor" type="GVolumeMonitor*"/>
+          <parameter name="child_drive" type="GDrive*"/>
+          <parameter name="child_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </constructor>
+    </object>
+    <object get-type="" name="GUnionVolume" parent="GObject" type-name="GUnionVolume">
+      <implements>
+        <interface name="GVolume"/>
+      </implements>
+      <method name="add_volume" symbol="g_union_volume_add_volume">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="union_volume" type="GUnionVolume*"/>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </method>
+      <method name="get_child_for_monitor" symbol="g_union_volume_get_child_for_monitor">
+        <return-type type="GVolume*"/>
+        <parameters>
+          <parameter name="union_volume" type="GUnionVolume*"/>
+          <parameter name="child_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_union_volume_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_child_volume" symbol="g_union_volume_has_child_volume">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="union_volume" type="GUnionVolume*"/>
+          <parameter name="child_volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <method name="is_last_child" symbol="g_union_volume_is_last_child">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="union_volume" type="GUnionVolume*"/>
+          <parameter name="child_volume" type="GVolume*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_union_volume_new">
+        <parameters>
+          <parameter name="union_monitor" type="GVolumeMonitor*"/>
+          <parameter name="volume" type="GVolume*"/>
+          <parameter name="monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </constructor>
+      <method name="remove_volume" symbol="g_union_volume_remove_volume">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="union_volume" type="GUnionVolume*"/>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GUnionVolumeMonitor" parent="GVolumeMonitor" type-name="GUnionVolumeMonitor">
+      <method name="convert_drive" symbol="g_union_volume_monitor_convert_drive">
+        <return-type type="GDrive*"/>
+        <parameters>
+          <parameter name="monitor" type="GUnionVolumeMonitor*"/>
+          <parameter name="child_drive" type="GDrive*"/>
+        </parameters>
+      </method>
+      <method name="convert_volumes" symbol="g_union_volume_monitor_convert_volumes">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="monitor" type="GUnionVolumeMonitor*"/>
+          <parameter name="child_volumes" type="GList*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_union_volume_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GUnixDrive" parent="GObject" type-name="GUnixDrive">
+      <implements>
+        <interface name="GDrive"/>
+      </implements>
+      <method name="disconnected" symbol="g_unix_drive_disconnected">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GUnixDrive*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_unix_drive_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_mountpoint" symbol="g_unix_drive_has_mountpoint">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="drive" type="GUnixDrive*"/>
+          <parameter name="mountpoint" type="const-char*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_unix_drive_new">
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="mountpoint" type="GUnixMountPoint*"/>
+        </parameters>
+      </constructor>
+      <method name="set_volume" symbol="g_unix_drive_set_volume">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GUnixDrive*"/>
+          <parameter name="volume" type="GUnixVolume*"/>
+        </parameters>
+      </method>
+      <method name="unset_volume" symbol="g_unix_drive_unset_volume">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="drive" type="GUnixDrive*"/>
+          <parameter name="volume" type="GUnixVolume*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GUnixVolume" parent="GObject" type-name="GUnixVolume">
+      <implements>
+        <interface name="GVolume"/>
+      </implements>
+      <method name="get_type" symbol="g_unix_volume_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="has_mountpoint" symbol="g_unix_volume_has_mountpoint">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="volume" type="GUnixVolume*"/>
+          <parameter name="mountpoint" type="const-char*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_unix_volume_new">
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="mount" type="GUnixMount*"/>
+        </parameters>
+      </constructor>
+      <method name="unmounted" symbol="g_unix_volume_unmounted">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GUnixVolume*"/>
+        </parameters>
+      </method>
+      <method name="unset_drive" symbol="g_unix_volume_unset_drive">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume" type="GUnixVolume*"/>
+          <parameter name="drive" type="GUnixDrive*"/>
+        </parameters>
+      </method>
+    </object>
+    <object get-type="" name="GUnixVolumeMonitor" parent="GVolumeMonitor" type-name="GUnixVolumeMonitor">
+      <method name="get_type" symbol="g_unix_volume_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+      <method name="lookup_drive_for_mountpoint" symbol="g_unix_volume_monitor_lookup_drive_for_mountpoint">
+        <return-type type="GUnixDrive*"/>
+        <parameters>
+          <parameter name="monitor" type="GUnixVolumeMonitor*"/>
+          <parameter name="mountpoint" type="const-char*"/>
+        </parameters>
+      </method>
+      <constructor name="new" symbol="g_unix_volume_monitor_new"/>
+    </object>
+    <object get-type="" name="GVolumeMonitor" parent="GObject" type-name="GVolumeMonitor">
+      <field name="priv" type="gpointer"/>
+      <signal name="volume_mounted" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </signal>
+      <signal name="volume_pre_unmount" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </signal>
+      <signal name="volume_unmounted" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="volume" type="GVolume*"/>
+        </parameters>
+      </signal>
+      <signal name="drive_connected" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </signal>
+      <signal name="drive_disconnected" when="LAST">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+          <parameter name="drive" type="GDrive*"/>
+        </parameters>
+      </signal>
+      <vfunc name="get_mounted_volumes">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </vfunc>
+      <vfunc name="get_connected_drives">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </vfunc>
+      <method name="get_connected_drives" symbol="g_volume_monitor_get_connected_drives">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </method>
+      <method name="get_mounted_volumes" symbol="g_volume_monitor_get_mounted_volumes">
+        <return-type type="GList*"/>
+        <parameters>
+          <parameter name="volume_monitor" type="GVolumeMonitor*"/>
+        </parameters>
+      </method>
+      <method name="get_type" symbol="g_volume_monitor_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <object get-type="" name="GWin32AppInfo" parent="GObject" type-name="GWin32AppInfo">
+      <implements>
+        <interface name="GAppInfo"/>
+      </implements>
+      <method name="get_type" symbol="g_win32_app_info_get_type">
+        <return-type type="GType"/>
+      </method>
+    </object>
+    <struct get-type="" name="GAsyncResultData" type-name="GAsyncResultData">
+      <field name="async_object" readable="1" type="gpointer" writable="1"/>
+      <field name="error" readable="1" type="GError*" writable="1"/>
+      <field name="user_data" readable="1" type="gpointer" writable="1"/>
+    </struct>
+    <struct get-type="" name="GFileAttributeMatcher" opaque="true" type-name="GFileAttributeMatcher">
+      <method name="enumerate_namespace" symbol="g_file_attribute_matcher_enumerate_namespace">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="matcher" type="GFileAttributeMatcher*"/>
+          <parameter name="namespace" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="enumerate_next" symbol="g_file_attribute_matcher_enumerate_next">
+        <return-type type="const-char*"/>
+        <parameters>
+          <parameter name="matcher" type="GFileAttributeMatcher*"/>
+        </parameters>
+      </method>
+      <method name="free" symbol="g_file_attribute_matcher_free">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="matcher" type="GFileAttributeMatcher*"/>
+        </parameters>
+      </method>
+      <method name="matches" symbol="g_file_attribute_matcher_matches">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="matcher" type="GFileAttributeMatcher*"/>
+          <parameter name="full_name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="matches_only" symbol="g_file_attribute_matcher_matches_only">
+        <return-type type="gboolean"/>
+        <parameters>
+          <parameter name="matcher" type="GFileAttributeMatcher*"/>
+          <parameter name="full_name" type="const-char*"/>
+        </parameters>
+      </method>
+      <method name="new" symbol="g_file_attribute_matcher_new">
+        <return-type type="GFileAttributeMatcher*"/>
+        <parameters>
+          <parameter name="attributes" type="const-char*"/>
+        </parameters>
+      </method>
+    </struct>
+    <struct get-type="" name="GIOJob" opaque="true" type-name="GIOJob">
+      <method name="send_to_mainloop" symbol="g_io_job_send_to_mainloop">
+        <return-type type="void"/>
+        <parameters>
+          <parameter name="job" type="GIOJob*"/>
+          <parameter name="func" type="GIODataFunc"/>
+          <parameter name="user_data" type="gpointer"/>
+          <parameter name="notify" type="GDestroyNotify"/>
+          <parameter name="block" type="gboolean"/>
+        </parameters>
+      </method>
+    </struct>
+    <struct get-type="" name="GLocalParentFileInfo" type-name="GLocalParentFileInfo">
+      <field name="writable" readable="1" type="gboolean" writable="1"/>
+      <field name="is_sticky" readable="1" type="gboolean" writable="1"/>
+      <field name="owner" readable="1" type="int" writable="1"/>
+    </struct>
+    <struct get-type="" name="GUnixMount" type-name="GUnixMount">
+      <field name="mount_path" readable="1" type="char*" writable="1"/>
+      <field name="device_path" readable="1" type="char*" writable="1"/>
+      <field name="filesystem_type" readable="1" type="char*" writable="1"/>
+      <field name="is_read_only" readable="1" type="gboolean" writable="1"/>
+    </struct>
+    <struct get-type="" name="GUnixMountPoint" type-name="GUnixMountPoint">
+      <field name="mount_path" readable="1" type="char*" writable="1"/>
+      <field name="device_path" readable="1" type="char*" writable="1"/>
+      <field name="filesystem_type" readable="1" type="char*" writable="1"/>
+      <field name="dev_opt" readable="1" type="char*" writable="1"/>
+      <field name="is_read_only" readable="1" type="gboolean" writable="1"/>
+      <field name="is_user_mountable" readable="1" type="gboolean" writable="1"/>
+      <field name="is_loopback" readable="1" type="gboolean" writable="1"/>
+    </struct>
+  </namespace>
+</api>
diff --git a/vapi/packages/gio-standalone/gio-standalone.metadata b/vapi/packages/gio-standalone/gio-standalone.metadata
new file mode 100644 (file)
index 0000000..101660a
--- /dev/null
@@ -0,0 +1,4 @@
+GLib cprefix="G" lower_case_cprefix="g_" cheader_filename="gio/gvfs.h"
+GFile cheader_filename="gio/gfile.h"
+GMountOperation::reply has_emitter="1"
+
diff --git a/vapi/packages/gio-standalone/gio-standalone.namespace b/vapi/packages/gio-standalone/gio-standalone.namespace
new file mode 100644 (file)
index 0000000..d7425e5
--- /dev/null
@@ -0,0 +1 @@
+GLib
index 3a6bb3b97c757e560923d7a122de038cacf40b0a..c507991fe7531bbc69f66b4d015a3dd63ea7b981 100644 (file)
@@ -1,4 +1,4 @@
-[CCode (cheader_filename = "pango/pango.h")]
+[CCode (cprefix = "Pango", lower_case_cprefix = "pango_", cheader_filename = "pango/pango.h")]
 namespace Pango {
        [CCode (cprefix = "PANGO_ALIGN_")]
        public enum Alignment {
@@ -806,7 +806,7 @@ namespace Pango {
        public static bool parse_variant (string str, Pango.Variant variant, bool warn);
        public static bool parse_weight (string str, Pango.Weight weight, bool warn);
        public static void quantize_line_geometry (int thickness, int position);
-       public static int read_line (GLib.File stream, GLib.String str);
+       public static int read_line (GLib.FileStream stream, GLib.String str);
        public static weak GLib.List reorder_items (GLib.List logical_items);
        public static bool scan_int (string pos, int @out);
        public static bool scan_string (string pos, GLib.String @out);
index 8180d6a002ac05a15d5f97cb494e6c3828ecfb21..d8da32cb116279e68305597252c429adb3a4900f 100644 (file)
@@ -56,9 +56,9 @@ public class Vala.GIdlParser : CodeVisitor {
                
                codenode_attributes_map = new HashTable.full (str_hash, str_equal, g_free, g_free);
                
-               if (File.test (metadata_filename, FileTest.EXISTS)) {
+               if (FileUtils.test (metadata_filename, FileTest.EXISTS)) {
                        string metadata;
-                       File.get_contents (metadata_filename, out metadata, null, out error);
+                       FileUtils.get_contents (metadata_filename, out metadata, null, out error);
                        
                        foreach (string line in metadata.split ("\n")) {
                                var line_parts = line.split (" ", 2);
@@ -83,8 +83,26 @@ public class Vala.GIdlParser : CodeVisitor {
                        source_file.add_namespace (ns);
                }
        }
-       
-       private ref Namespace parse_module (IdlModule! module) {
+
+       private string! fix_type_name (string! type_name, IdlModule! module) {
+               if (type_name.has_prefix (module.name)) {
+                       return type_name.offset (module.name.len ());
+               } else if (module.name == "GLib" && type_name.has_prefix ("G")) {
+                       return type_name.offset (1);
+               }
+               return type_name;
+       }
+
+       private string! fix_const_name (string! const_name, IdlModule! module) {
+               if (const_name.has_prefix (module.name.up () + "_")) {
+                       return const_name.offset (module.name.len () + 1);
+               } else if (module.name == "GLib" && const_name.has_prefix ("G_")) {
+                       return const_name.offset (2);
+               }
+               return const_name;
+       }
+
+       private Namespace parse_module (IdlModule! module) {
                var ns = new Namespace (module.name, current_source_reference);
                
                var attributes = get_attributes (ns.name);
@@ -93,6 +111,10 @@ public class Vala.GIdlParser : CodeVisitor {
                                var nv = attr.split ("=", 2);
                                if (nv[0] == "cheader_filename") {
                                        ns.set_cheader_filename (eval (nv[1]));
+                               } else if (nv[0] == "cprefix") {
+                                       ns.set_cprefix (eval (nv[1]));
+                               } else if (nv[0] == "lower_case_cprefix") {
+                                       ns.set_lower_case_cprefix (eval (nv[1]));
                                }
                        }
                }
@@ -103,49 +125,35 @@ public class Vala.GIdlParser : CodeVisitor {
                                if (cb == null) {
                                        continue;
                                }
-                               if (cb.name.has_prefix (module.name)) {
-                                       cb.name = cb.name.offset (module.name.len ());
-                               }
+                               cb.name = fix_type_name (cb.name, module);
                                ns.add_callback (cb);
                        } else if (node.type == IdlNodeTypeId.STRUCT) {
                                var st = parse_struct ((IdlNodeStruct) node);
                                if (st == null) {
                                        continue;
                                }
-                               if (st.name.has_prefix (module.name)) {
-                                       st.name = st.name.offset (module.name.len ());
-                               }
+                               st.name = fix_type_name (st.name, module);
                                ns.add_struct (st);
                        } else if (node.type == IdlNodeTypeId.BOXED) {
                                var st = parse_boxed ((IdlNodeBoxed) node);
-                               if (st.name.has_prefix (module.name)) {
-                                       st.name = st.name.offset (module.name.len ());
-                               }
+                               st.name = fix_type_name (st.name, module);
                                ns.add_struct (st);
                                st.set_type_id (st.get_upper_case_cname ("TYPE_"));
                        } else if (node.type == IdlNodeTypeId.ENUM) {
                                var en = parse_enum ((IdlNodeEnum) node);
-                               if (en.name.has_prefix (module.name)) {
-                                       en.name = en.name.offset (module.name.len ());
-                               }
+                               en.name = fix_type_name (en.name, module);
                                ns.add_enum (en);
                        } else if (node.type == IdlNodeTypeId.OBJECT) {
                                var cl = parse_object ((IdlNodeInterface) node);
-                               if (cl.name.has_prefix (module.name)) {
-                                       cl.name = cl.name.offset (module.name.len ());
-                               }
+                               cl.name = fix_type_name (cl.name, module);
                                ns.add_class (cl);
                        } else if (node.type == IdlNodeTypeId.INTERFACE) {
                                var iface = parse_interface ((IdlNodeInterface) node);
-                               if (iface.name.has_prefix (module.name)) {
-                                       iface.name = iface.name.offset (module.name.len ());
-                               }
+                               iface.name = fix_type_name (iface.name, module);
                                ns.add_interface (iface);
                        } else if (node.type == IdlNodeTypeId.CONSTANT) {
                                var c = parse_constant ((IdlNodeConstant) node);
-                               if (c.name.has_prefix (module.name.up ())) {
-                                       c.name = c.name.offset (module.name.len () + 1);
-                               }
+                               c.name = fix_const_name (c.name, module);
                                ns.add_constant (c);
                        } else if (node.type == IdlNodeTypeId.FUNCTION) {
                                var m = parse_function ((IdlNodeFunction) node);
@@ -389,11 +397,21 @@ public class Vala.GIdlParser : CodeVisitor {
                
                return cl;
        }
-       
-       private ref Interface parse_interface (IdlNodeInterface! node) {
+
+       private Interface parse_interface (IdlNodeInterface! node) {
                var iface = new Interface (node.gtype_name, current_source_reference);
                iface.access = MemberAccessibility.PUBLIC;
                
+               var attributes = get_attributes (iface.name);
+               if (attributes != null) {
+                       foreach (string attr in attributes) {
+                               var nv = attr.split ("=", 2);
+                               if (nv[0] == "cheader_filename") {
+                                       iface.add_cheader_filename (eval (nv[1]));
+                               }
+                       }
+               }
+               
                foreach (string prereq_name in node.prerequisites) {
                        var prereq = new TypeReference ();
                        parse_type_string (prereq, prereq_name);
@@ -518,8 +536,10 @@ public class Vala.GIdlParser : CodeVisitor {
                                type.type_name = "ushort";
                        } else if (n == "gshort") {
                                type.type_name = "short";
-                       } else if (n == "gconstpointer") {
+                       } else if (n == "gconstpointer" || n == "void") {
                                type.type_name = "pointer";
+                       } else if (n == "goffset") {
+                               type.type_name = "int64";
                        } else if (n == "value_array") {
                                type.namespace_name = "GLib";
                                type.type_name = "ValueArray";
@@ -529,7 +549,7 @@ public class Vala.GIdlParser : CodeVisitor {
                                type.type_name = "int";
                        } else if (n == "FILE") {
                                type.namespace_name = "GLib";
-                               type.type_name = "File";
+                               type.type_name = "FileStream";
                        } else {
                                parse_type_string (type, n);
                                if (type_node.is_pointer && is_value_type (n)) {
index 1540e96283c6f32fddac40b5d05e156281cac384..bde1bd3b3c18a04b70584756eb71e08d62d5dbfd 100644 (file)
@@ -61,19 +61,19 @@ class Vala.VAPIGen {
                if (vapi_directories != null) {
                        foreach (string vapidir in vapi_directories) {
                                var filename = Path.build_filename (vapidir, basename, null);
-                               if (File.test (filename, FileTest.EXISTS)) {
+                               if (FileUtils.test (filename, FileTest.EXISTS)) {
                                        return filename;
                                }
                        }
                }
                
                var filename = Path.build_filename ("/usr/local/share/vala/vapi", basename, null);
-               if (File.test (filename, FileTest.EXISTS)) {
+               if (FileUtils.test (filename, FileTest.EXISTS)) {
                        return filename;
                }
                
                filename = Path.build_filename ("/usr/share/vala/vapi", basename, null);
-               if (File.test (filename, FileTest.EXISTS)) {
+               if (FileUtils.test (filename, FileTest.EXISTS)) {
                        return filename;
                }
                
@@ -114,7 +114,7 @@ class Vala.VAPIGen {
                }
                
                foreach (string source in sources) {
-                       if (File.test (source, FileTest.EXISTS)) {
+                       if (FileUtils.test (source, FileTest.EXISTS)) {
                                context.add_source_file (new SourceFile (context, source));
                        } else {
                                Report.error (null, "%s not found".printf (source));