[f-spot] [xbuild] Added gio-sharp generated files



commit 934f7c0e87ad9c073c4d686b5920109a9d05ef65
Author: Stephen Shaw <sshaw decriptor com>
Date:   Fri Jun 29 13:22:02 2012 -0600

    [xbuild] Added gio-sharp generated files
    
    This should really be revisited to see if we
    still need to carry this around with us.

 lib/gio-sharp/gio-sharp.csproj                     |  175 ++
 lib/gio-sharp/gio/AssemblyInfo.cs                  |    1 -
 lib/gio-sharp/gio/generated/AppInfo.cs             |   53 +
 lib/gio-sharp/gio/generated/AppInfoAdapter.cs      |  383 +++
 lib/gio-sharp/gio/generated/AppInfoCreateFlags.cs  |   30 +
 lib/gio-sharp/gio/generated/AppLaunchContext.cs    |   69 +
 lib/gio-sharp/gio/generated/AskPasswordFlags.cs    |   32 +
 lib/gio-sharp/gio/generated/AskPasswordHandler.cs  |   36 +
 lib/gio-sharp/gio/generated/AskQuestionHandler.cs  |   24 +
 lib/gio-sharp/gio/generated/AsyncInitable.cs       |   22 +
 .../gio/generated/AsyncInitableAdapter.cs          |  156 ++
 lib/gio-sharp/gio/generated/AsyncReadyCallback.cs  |   10 +
 lib/gio-sharp/gio/generated/AsyncResult.cs         |   26 +
 lib/gio-sharp/gio/generated/AsyncResultAdapter.cs  |  158 ++
 lib/gio-sharp/gio/generated/BufferedInputStream.cs |  150 +
 .../gio/generated/BufferedOutputStream.cs          |   95 +
 lib/gio-sharp/gio/generated/Cancellable.cs         |  175 ++
 lib/gio-sharp/gio/generated/ChangedHandler.cs      |   30 +
 lib/gio-sharp/gio/generated/Content.cs             |  135 +
 lib/gio-sharp/gio/generated/DataInputStream.cs     |  235 ++
 lib/gio-sharp/gio/generated/DataOutputStream.cs    |  156 ++
 lib/gio-sharp/gio/generated/DataStreamByteOrder.cs |   29 +
 .../gio/generated/DataStreamNewlineType.cs         |   30 +
 lib/gio-sharp/gio/generated/DesktopAppInfo.cs      |  296 ++
 .../gio/generated/DesktopAppInfoLookup.cs          |   20 +
 .../gio/generated/DesktopAppInfoLookupAdapter.cs   |  128 +
 lib/gio-sharp/gio/generated/Drive.cs               |   58 +
 lib/gio-sharp/gio/generated/DriveAdapter.cs        |  356 +++
 lib/gio-sharp/gio/generated/DriveChangedHandler.cs |   18 +
 .../gio/generated/DriveConnectedHandler.cs         |   18 +
 .../gio/generated/DriveDisconnectedHandler.cs      |   18 +
 .../gio/generated/DriveEjectButtonHandler.cs       |   18 +
 lib/gio-sharp/gio/generated/DriveStartFlags.cs     |   27 +
 lib/gio-sharp/gio/generated/DriveStartStopType.cs  |   31 +
 .../gio/generated/DriveStopButtonHandler.cs        |   18 +
 lib/gio-sharp/gio/generated/Emblem.cs              |  110 +
 lib/gio-sharp/gio/generated/EmblemOrigin.cs        |   30 +
 lib/gio-sharp/gio/generated/EmblemedIcon.cs        |   88 +
 lib/gio-sharp/gio/generated/File.cs                |  271 ++
 lib/gio-sharp/gio/generated/FileAdapter.cs         | 2895 ++++++++++++++++++++
 lib/gio-sharp/gio/generated/FileAttributeInfo.cs   |   31 +
 .../gio/generated/FileAttributeInfoFlags.cs        |   30 +
 .../gio/generated/FileAttributeInfoList.cs         |  110 +
 .../gio/generated/FileAttributeMatcher.cs          |  114 +
 lib/gio-sharp/gio/generated/FileAttributeStatus.cs |   29 +
 lib/gio-sharp/gio/generated/FileAttributeType.cs   |   36 +
 lib/gio-sharp/gio/generated/FileCopyFlags.cs       |   34 +
 lib/gio-sharp/gio/generated/FileCreateFlags.cs     |   30 +
 lib/gio-sharp/gio/generated/FileEnumerator.cs      |  197 ++
 lib/gio-sharp/gio/generated/FileIOStream.cs        |  134 +
 lib/gio-sharp/gio/generated/FileIcon.cs            |  109 +
 lib/gio-sharp/gio/generated/FileInfo.cs            |  626 +++++
 lib/gio-sharp/gio/generated/FileInputStream.cs     |  123 +
 lib/gio-sharp/gio/generated/FileMonitor.cs         |  163 ++
 lib/gio-sharp/gio/generated/FileMonitorEvent.cs    |   33 +
 lib/gio-sharp/gio/generated/FileMonitorFlags.cs    |   29 +
 lib/gio-sharp/gio/generated/FileOutputStream.cs    |  134 +
 .../gio/generated/FileProgressCallback.cs          |   10 +
 lib/gio-sharp/gio/generated/FileQueryInfoFlags.cs  |   29 +
 .../gio/generated/FileReadMoreCallback.cs          |   10 +
 lib/gio-sharp/gio/generated/FileType.cs            |   33 +
 lib/gio-sharp/gio/generated/FilenameCompleter.cs   |  120 +
 .../gio/generated/FilesystemPreviewType.cs         |   29 +
 lib/gio-sharp/gio/generated/FilterInputStream.cs   |   65 +
 lib/gio-sharp/gio/generated/FilterOutputStream.cs  |   65 +
 .../GLibSharp.AsyncReadyCallbackNative.cs          |   92 +
 .../GLibSharp.FileProgressCallbackNative.cs        |   92 +
 .../GLibSharp.FileReadMoreCallbackNative.cs        |   97 +
 .../gio/generated/GLibSharp.GSourceFuncNative.cs   |   95 +
 .../GLibSharp.IOSchedulerJobFuncNative.cs          |   95 +
 .../gio/generated/GLibSharp.ReallocFuncNative.cs   |   96 +
 .../GLibSharp.SimpleAsyncThreadFuncNative.cs       |   92 +
 lib/gio-sharp/gio/generated/IOErrorEnum.cs         |   48 +
 lib/gio-sharp/gio/generated/IOExtension.cs         |   50 +
 lib/gio-sharp/gio/generated/IOExtensionPoint.cs    |   91 +
 lib/gio-sharp/gio/generated/IOModule.cs            |   57 +
 lib/gio-sharp/gio/generated/IOSchedulerJob.cs      |   53 +
 lib/gio-sharp/gio/generated/IOSchedulerJobFunc.cs  |   10 +
 lib/gio-sharp/gio/generated/IOStream.cs            |  145 +
 lib/gio-sharp/gio/generated/Icon.cs                |   24 +
 lib/gio-sharp/gio/generated/IconAdapter.cs         |  167 ++
 lib/gio-sharp/gio/generated/InetAddress.cs         |   17 +
 lib/gio-sharp/gio/generated/InetSocketAddress.cs   |   17 +
 lib/gio-sharp/gio/generated/Initable.cs            |   20 +
 lib/gio-sharp/gio/generated/InitableAdapter.cs     |  130 +
 lib/gio-sharp/gio/generated/InputStream.cs         |  181 ++
 lib/gio-sharp/gio/generated/InputVector.cs         |   38 +
 lib/gio-sharp/gio/generated/Io.cs                  |   58 +
 lib/gio-sharp/gio/generated/LoadableIcon.cs        |   24 +
 lib/gio-sharp/gio/generated/LoadableIconAdapter.cs |  188 ++
 .../gio/generated/LocalDirectoryMonitor.cs         |   35 +
 lib/gio-sharp/gio/generated/LocalFileEnumerator.cs |   24 +
 lib/gio-sharp/gio/generated/LocalFileIOStream.cs   |   24 +
 lib/gio-sharp/gio/generated/MemoryInputStream.cs   |  113 +
 lib/gio-sharp/gio/generated/MemoryOutputStream.cs  |  128 +
 lib/gio-sharp/gio/generated/Mount.cs               |   56 +
 lib/gio-sharp/gio/generated/MountAdapter.cs        |  335 +++
 lib/gio-sharp/gio/generated/MountAddedHandler.cs   |   18 +
 lib/gio-sharp/gio/generated/MountChangedHandler.cs |   18 +
 lib/gio-sharp/gio/generated/MountMountFlags.cs     |   27 +
 lib/gio-sharp/gio/generated/MountOperation.cs      |  418 +++
 .../gio/generated/MountOperationResult.cs          |   29 +
 .../gio/generated/MountPreUnmountHandler.cs        |   18 +
 lib/gio-sharp/gio/generated/MountRemovedHandler.cs |   18 +
 lib/gio-sharp/gio/generated/MountUnmountFlags.cs   |   29 +
 lib/gio-sharp/gio/generated/NativeVolumeMonitor.cs |   35 +
 lib/gio-sharp/gio/generated/OutputStream.cs        |  212 ++
 .../gio/generated/OutputStreamSpliceFlags.cs       |   30 +
 lib/gio-sharp/gio/generated/OutputVector.cs        |   38 +
 lib/gio-sharp/gio/generated/PasswordSave.cs        |   29 +
 lib/gio-sharp/gio/generated/ReallocFunc.cs         |   10 +
 lib/gio-sharp/gio/generated/ReplyHandler.cs        |   18 +
 lib/gio-sharp/gio/generated/Seekable.cs            |   32 +
 lib/gio-sharp/gio/generated/SeekableAdapter.cs     |  197 ++
 .../gio/generated/ShowProcessesHandler.cs          |   30 +
 lib/gio-sharp/gio/generated/Simple.cs              |   22 +
 lib/gio-sharp/gio/generated/SimpleAsyncResult.cs   |  206 ++
 .../gio/generated/SimpleAsyncThreadFunc.cs         |   10 +
 lib/gio-sharp/gio/generated/SrvTarget.cs           |  131 +
 lib/gio-sharp/gio/generated/ThemedIcon.cs          |  121 +
 lib/gio-sharp/gio/generated/Vfs.cs                 |  112 +
 lib/gio-sharp/gio/generated/Volume.cs              |   44 +
 lib/gio-sharp/gio/generated/VolumeAdapter.cs       |  252 ++
 lib/gio-sharp/gio/generated/VolumeAddedHandler.cs  |   18 +
 .../gio/generated/VolumeChangedHandler.cs          |   18 +
 lib/gio-sharp/gio/generated/VolumeMonitor.cs       |  699 +++++
 .../gio/generated/VolumeRemovedHandler.cs          |   18 +
 lib/gtk-sharp-beans/gtk-sharp-beans.csproj         |   10 +-
 src/Clients/MainApp/MainApp.csproj                 |    8 +-
 src/Core/FSpot.Core/FSpot.Core.csproj              |    8 +-
 src/Core/FSpot.Gui/FSpot.Gui.csproj                |    8 +-
 src/Core/FSpot.Utils/FSpot.Utils.csproj            |    8 +-
 .../FSpot.Exporters.CD/FSpot.Exporters.CD.csproj   |    8 +-
 .../FSpot.Exporters.Facebook.csproj                |    8 +-
 .../FSpot.Exporters.Folder.csproj                  |    8 +-
 .../FSpot.Exporters.Gallery.csproj                 |    8 +-
 .../FSpot.Exporters.Tabblo.csproj                  |    8 +-
 .../FSpot.Exporters.Zip/FSpot.Exporters.Zip.csproj |    8 +-
 .../FSpot.Tools.ChangePhotoPath.csproj             |    8 +-
 .../FSpot.Tools.DevelopInUFraw.csproj              |    8 +-
 .../FSpot.Tools.MergeDb/FSpot.Tools.MergeDb.csproj |    8 +-
 141 files changed, 14539 insertions(+), 57 deletions(-)
---
diff --git a/lib/gio-sharp/gio-sharp.csproj b/lib/gio-sharp/gio-sharp.csproj
new file mode 100644
index 0000000..6cc8006
--- /dev/null
+++ b/lib/gio-sharp/gio-sharp.csproj
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>giosharp</RootNamespace>
+    <AssemblyName>gio-sharp</AssemblyName>
+    <ReleaseVersion>0.9.0</ReleaseVersion>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>True</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>False</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>False</ConsolePause>
+    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>True</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>False</ConsolePause>
+    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+      <Private>False</Private>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="gio\AssemblyInfo.cs" />
+    <Compile Include="gio\FileFactory.cs" />
+    <Compile Include="gio\GioStream.cs" />
+    <Compile Include="gio\generated\AppInfo.cs" />
+    <Compile Include="gio\generated\AppInfoAdapter.cs" />
+    <Compile Include="gio\generated\AppInfoCreateFlags.cs" />
+    <Compile Include="gio\generated\AppLaunchContext.cs" />
+    <Compile Include="gio\generated\AskPasswordFlags.cs" />
+    <Compile Include="gio\generated\AskPasswordHandler.cs" />
+    <Compile Include="gio\generated\AskQuestionHandler.cs" />
+    <Compile Include="gio\generated\AsyncInitable.cs" />
+    <Compile Include="gio\generated\AsyncInitableAdapter.cs" />
+    <Compile Include="gio\generated\AsyncReadyCallback.cs" />
+    <Compile Include="gio\generated\AsyncResult.cs" />
+    <Compile Include="gio\generated\AsyncResultAdapter.cs" />
+    <Compile Include="gio\generated\BufferedInputStream.cs" />
+    <Compile Include="gio\generated\BufferedOutputStream.cs" />
+    <Compile Include="gio\generated\Cancellable.cs" />
+    <Compile Include="gio\generated\ChangedHandler.cs" />
+    <Compile Include="gio\generated\Content.cs" />
+    <Compile Include="gio\generated\DataInputStream.cs" />
+    <Compile Include="gio\generated\DataOutputStream.cs" />
+    <Compile Include="gio\generated\DataStreamByteOrder.cs" />
+    <Compile Include="gio\generated\DataStreamNewlineType.cs" />
+    <Compile Include="gio\generated\DesktopAppInfo.cs" />
+    <Compile Include="gio\generated\DesktopAppInfoLookup.cs" />
+    <Compile Include="gio\generated\DesktopAppInfoLookupAdapter.cs" />
+    <Compile Include="gio\generated\Drive.cs" />
+    <Compile Include="gio\generated\DriveAdapter.cs" />
+    <Compile Include="gio\generated\DriveChangedHandler.cs" />
+    <Compile Include="gio\generated\DriveConnectedHandler.cs" />
+    <Compile Include="gio\generated\DriveDisconnectedHandler.cs" />
+    <Compile Include="gio\generated\DriveEjectButtonHandler.cs" />
+    <Compile Include="gio\generated\DriveStartFlags.cs" />
+    <Compile Include="gio\generated\DriveStartStopType.cs" />
+    <Compile Include="gio\generated\DriveStopButtonHandler.cs" />
+    <Compile Include="gio\generated\Emblem.cs" />
+    <Compile Include="gio\generated\EmblemOrigin.cs" />
+    <Compile Include="gio\generated\EmblemedIcon.cs" />
+    <Compile Include="gio\generated\File.cs" />
+    <Compile Include="gio\generated\FileAdapter.cs" />
+    <Compile Include="gio\generated\FileAttributeInfo.cs" />
+    <Compile Include="gio\generated\FileAttributeInfoFlags.cs" />
+    <Compile Include="gio\generated\FileAttributeInfoList.cs" />
+    <Compile Include="gio\generated\FileAttributeMatcher.cs" />
+    <Compile Include="gio\generated\FileAttributeStatus.cs" />
+    <Compile Include="gio\generated\FileAttributeType.cs" />
+    <Compile Include="gio\generated\FileCopyFlags.cs" />
+    <Compile Include="gio\generated\FileCreateFlags.cs" />
+    <Compile Include="gio\generated\FileEnumerator.cs" />
+    <Compile Include="gio\generated\FileIOStream.cs" />
+    <Compile Include="gio\generated\FileIcon.cs" />
+    <Compile Include="gio\generated\FileInfo.cs" />
+    <Compile Include="gio\generated\FileInputStream.cs" />
+    <Compile Include="gio\generated\FileMonitor.cs" />
+    <Compile Include="gio\generated\FileMonitorEvent.cs" />
+    <Compile Include="gio\generated\FileMonitorFlags.cs" />
+    <Compile Include="gio\generated\FileOutputStream.cs" />
+    <Compile Include="gio\generated\FileProgressCallback.cs" />
+    <Compile Include="gio\generated\FileQueryInfoFlags.cs" />
+    <Compile Include="gio\generated\FileReadMoreCallback.cs" />
+    <Compile Include="gio\generated\FileType.cs" />
+    <Compile Include="gio\generated\FilenameCompleter.cs" />
+    <Compile Include="gio\generated\FilesystemPreviewType.cs" />
+    <Compile Include="gio\generated\FilterInputStream.cs" />
+    <Compile Include="gio\generated\FilterOutputStream.cs" />
+    <Compile Include="gio\generated\GLibSharp.AsyncReadyCallbackNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.FileProgressCallbackNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.FileReadMoreCallbackNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.GSourceFuncNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.IOSchedulerJobFuncNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.ReallocFuncNative.cs" />
+    <Compile Include="gio\generated\GLibSharp.SimpleAsyncThreadFuncNative.cs" />
+    <Compile Include="gio\generated\IOErrorEnum.cs" />
+    <Compile Include="gio\generated\IOExtension.cs" />
+    <Compile Include="gio\generated\IOExtensionPoint.cs" />
+    <Compile Include="gio\generated\IOModule.cs" />
+    <Compile Include="gio\generated\IOSchedulerJob.cs" />
+    <Compile Include="gio\generated\IOSchedulerJobFunc.cs" />
+    <Compile Include="gio\generated\IOStream.cs" />
+    <Compile Include="gio\generated\Icon.cs" />
+    <Compile Include="gio\generated\IconAdapter.cs" />
+    <Compile Include="gio\generated\InetAddress.cs" />
+    <Compile Include="gio\generated\InetSocketAddress.cs" />
+    <Compile Include="gio\generated\Initable.cs" />
+    <Compile Include="gio\generated\InitableAdapter.cs" />
+    <Compile Include="gio\generated\InputStream.cs" />
+    <Compile Include="gio\generated\InputVector.cs" />
+    <Compile Include="gio\generated\Io.cs" />
+    <Compile Include="gio\generated\LoadableIcon.cs" />
+    <Compile Include="gio\generated\LoadableIconAdapter.cs" />
+    <Compile Include="gio\generated\LocalDirectoryMonitor.cs" />
+    <Compile Include="gio\generated\LocalFileEnumerator.cs" />
+    <Compile Include="gio\generated\LocalFileIOStream.cs" />
+    <Compile Include="gio\generated\MemoryInputStream.cs" />
+    <Compile Include="gio\generated\MemoryOutputStream.cs" />
+    <Compile Include="gio\generated\Mount.cs" />
+    <Compile Include="gio\generated\MountAdapter.cs" />
+    <Compile Include="gio\generated\MountAddedHandler.cs" />
+    <Compile Include="gio\generated\MountChangedHandler.cs" />
+    <Compile Include="gio\generated\MountMountFlags.cs" />
+    <Compile Include="gio\generated\MountOperation.cs" />
+    <Compile Include="gio\generated\MountOperationResult.cs" />
+    <Compile Include="gio\generated\MountPreUnmountHandler.cs" />
+    <Compile Include="gio\generated\MountRemovedHandler.cs" />
+    <Compile Include="gio\generated\MountUnmountFlags.cs" />
+    <Compile Include="gio\generated\NativeVolumeMonitor.cs" />
+    <Compile Include="gio\generated\OutputStream.cs" />
+    <Compile Include="gio\generated\OutputStreamSpliceFlags.cs" />
+    <Compile Include="gio\generated\OutputVector.cs" />
+    <Compile Include="gio\generated\PasswordSave.cs" />
+    <Compile Include="gio\generated\ReallocFunc.cs" />
+    <Compile Include="gio\generated\ReplyHandler.cs" />
+    <Compile Include="gio\generated\Seekable.cs" />
+    <Compile Include="gio\generated\SeekableAdapter.cs" />
+    <Compile Include="gio\generated\ShowProcessesHandler.cs" />
+    <Compile Include="gio\generated\Simple.cs" />
+    <Compile Include="gio\generated\SimpleAsyncResult.cs" />
+    <Compile Include="gio\generated\SimpleAsyncThreadFunc.cs" />
+    <Compile Include="gio\generated\SrvTarget.cs" />
+    <Compile Include="gio\generated\ThemedIcon.cs" />
+    <Compile Include="gio\generated\Vfs.cs" />
+    <Compile Include="gio\generated\Volume.cs" />
+    <Compile Include="gio\generated\VolumeAdapter.cs" />
+    <Compile Include="gio\generated\VolumeAddedHandler.cs" />
+    <Compile Include="gio\generated\VolumeChangedHandler.cs" />
+    <Compile Include="gio\generated\VolumeMonitor.cs" />
+    <Compile Include="gio\generated\VolumeRemovedHandler.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Folder Include="gio\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/lib/gio-sharp/gio/AssemblyInfo.cs b/lib/gio-sharp/gio/AssemblyInfo.cs
index 56378fd..41b8982 100644
--- a/lib/gio-sharp/gio/AssemblyInfo.cs
+++ b/lib/gio-sharp/gio/AssemblyInfo.cs
@@ -3,5 +3,4 @@ using System.Runtime.CompilerServices;
 
 [assembly:AssemblyVersion("2.14.0.0")]
 [assembly:AssemblyDelaySign(false)]
-[assembly:AssemblyKeyFile("./gtk-sharp.snk")]
 [assembly:GLib.IgnoreClassInitializers]
diff --git a/lib/gio-sharp/gio/generated/AppInfo.cs b/lib/gio-sharp/gio/generated/AppInfo.cs
new file mode 100644
index 0000000..4b1edf1
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AppInfo.cs
@@ -0,0 +1,53 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface AppInfo : GLib.IWrapper {
+
+		bool AddSupportsType(string content_type);
+		string Commandline { 
+			get;
+		}
+		bool CanRemoveSupportsType { 
+			get;
+		}
+		GLib.Icon Icon { 
+			get;
+		}
+		string Id { 
+			get;
+		}
+		GLib.AppInfo Dup();
+		bool SetAsDefaultForType(string content_type);
+		bool LaunchUris(GLib.List uris, GLib.AppLaunchContext launch_context);
+		bool Delete();
+		bool Launch(GLib.List files, GLib.AppLaunchContext launch_context);
+		bool SetAsDefaultForExtension(string extension);
+		bool RemoveSupportsType(string content_type);
+		bool SupportsUris { 
+			get;
+		}
+		string Name { 
+			get;
+		}
+		bool SupportsFiles { 
+			get;
+		}
+		bool ShouldShow { 
+			get;
+		}
+		bool Equal(GLib.AppInfo appinfo2);
+		string Description { 
+			get;
+		}
+		string Executable { 
+			get;
+		}
+		bool CanDelete();
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/AppInfoAdapter.cs b/lib/gio-sharp/gio/generated/AppInfoAdapter.cs
new file mode 100644
index 0000000..b7b0a6b
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AppInfoAdapter.cs
@@ -0,0 +1,383 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class AppInfoAdapter : GLib.GInterfaceAdapter, GLib.AppInfo {
+
+		public AppInfoAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_app_info_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				return handle;
+			}
+		}
+
+		public static AppInfo GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static AppInfo GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj as AppInfo == null)
+				return new AppInfoAdapter (obj.Handle);
+			else
+				return obj as AppInfo;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_default_for_uri_scheme(IntPtr uri_scheme);
+
+		public static GLib.AppInfo GetDefaultForUriScheme(string uri_scheme) {
+			IntPtr native_uri_scheme = GLib.Marshaller.StringToPtrGStrdup (uri_scheme);
+			IntPtr raw_ret = g_app_info_get_default_for_uri_scheme(native_uri_scheme);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_uri_scheme);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_add_supports_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool AddSupportsType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_add_supports_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_commandline(IntPtr raw);
+
+		public string Commandline { 
+			get {
+				IntPtr raw_ret = g_app_info_get_commandline(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_can_remove_supports_type(IntPtr raw);
+
+		public bool CanRemoveSupportsType { 
+			get {
+				bool raw_ret = g_app_info_can_remove_supports_type(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_app_info_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_id(IntPtr raw);
+
+		public string Id { 
+			get {
+				IntPtr raw_ret = g_app_info_get_id(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_dup(IntPtr raw);
+
+		public GLib.AppInfo Dup() {
+			IntPtr raw_ret = g_app_info_dup(Handle);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_set_as_default_for_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool SetAsDefaultForType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_set_as_default_for_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_default_for_type(IntPtr content_type, bool must_support_uris);
+
+		public static GLib.AppInfo GetDefaultForType(string content_type, bool must_support_uris) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr raw_ret = g_app_info_get_default_for_type(native_content_type, must_support_uris);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_content_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_launch_uris(IntPtr raw, IntPtr uris, IntPtr launch_context, out IntPtr error);
+
+		public bool LaunchUris(GLib.List uris, GLib.AppLaunchContext launch_context) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_launch_uris(Handle, uris == null ? IntPtr.Zero : uris.Handle, launch_context == null ? IntPtr.Zero : launch_context.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_launch_default_for_uri(IntPtr uri, IntPtr launch_context, out IntPtr error);
+
+		public static bool LaunchDefaultForUri(string uri, GLib.AppLaunchContext launch_context) {
+			IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_launch_default_for_uri(native_uri, launch_context == null ? IntPtr.Zero : launch_context.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_uri);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_delete(IntPtr raw);
+
+		public bool Delete() {
+			bool raw_ret = g_app_info_delete(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_launch(IntPtr raw, IntPtr files, IntPtr launch_context, out IntPtr error);
+
+		public bool Launch(GLib.List files, GLib.AppLaunchContext launch_context) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_launch(Handle, files == null ? IntPtr.Zero : files.Handle, launch_context == null ? IntPtr.Zero : launch_context.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_set_as_default_for_extension(IntPtr raw, IntPtr extension, out IntPtr error);
+
+		public bool SetAsDefaultForExtension(string extension) {
+			IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_set_as_default_for_extension(Handle, native_extension, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_extension);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_remove_supports_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool RemoveSupportsType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_remove_supports_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_app_info_reset_type_associations(IntPtr content_type);
+
+		public static void ResetTypeAssociations(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			g_app_info_reset_type_associations(native_content_type);
+			GLib.Marshaller.Free (native_content_type);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_supports_uris(IntPtr raw);
+
+		public bool SupportsUris { 
+			get {
+				bool raw_ret = g_app_info_supports_uris(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_app_info_get_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_all_for_type(IntPtr content_type);
+
+		public static GLib.AppInfo[] GetAllForType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr raw_ret = g_app_info_get_all_for_type(native_content_type);
+			GLib.AppInfo[] ret = (GLib.AppInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, false, typeof(GLib.AppInfo));
+			GLib.Marshaller.Free (native_content_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_supports_files(IntPtr raw);
+
+		public bool SupportsFiles { 
+			get {
+				bool raw_ret = g_app_info_supports_files(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_should_show(IntPtr raw);
+
+		public bool ShouldShow { 
+			get {
+				bool raw_ret = g_app_info_should_show(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_equal(IntPtr raw, IntPtr appinfo2);
+
+		public bool Equal(GLib.AppInfo appinfo2) {
+			bool raw_ret = g_app_info_equal(Handle, appinfo2 == null ? IntPtr.Zero : appinfo2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_create_from_commandline(IntPtr commandline, IntPtr application_name, int flags, out IntPtr error);
+
+		public static GLib.AppInfo CreateFromCommandline(string commandline, string application_name, GLib.AppInfoCreateFlags flags) {
+			IntPtr native_commandline = GLib.Marshaller.StringToPtrGStrdup (commandline);
+			IntPtr native_application_name = GLib.Marshaller.StringToPtrGStrdup (application_name);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_app_info_create_from_commandline(native_commandline, native_application_name, (int) flags, out error);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_commandline);
+			GLib.Marshaller.Free (native_application_name);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_description(IntPtr raw);
+
+		public string Description { 
+			get {
+				IntPtr raw_ret = g_app_info_get_description(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_executable(IntPtr raw);
+
+		public string Executable { 
+			get {
+				IntPtr raw_ret = g_app_info_get_executable(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_can_delete(IntPtr raw);
+
+		public bool CanDelete() {
+			bool raw_ret = g_app_info_can_delete(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+#region Customized extensions
+#line 1 "AppInfoAdapter.custom"
+//
+// AppInfoAdapter.custom
+//
+// Author:
+//   Stephane Delcroix  <stephane delcroix org>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_all();
+
+		public static GLib.AppInfo[] GetAll() { 
+			IntPtr raw_ret = g_app_info_get_all();
+			GLib.AppInfo[] ret = (GLib.AppInfo[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, false, typeof(GLib.AppInfo));
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/AppInfoCreateFlags.cs b/lib/gio-sharp/gio/generated/AppInfoCreateFlags.cs
new file mode 100644
index 0000000..80f7943
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AppInfoCreateFlags.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.AppInfoCreateFlagsGType))]
+	public enum AppInfoCreateFlags {
+
+		None,
+		NeedsTerminal = 1 << 0,
+		SupportsUris = 1 << 1,
+	}
+
+	internal class AppInfoCreateFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_create_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_app_info_create_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/AppLaunchContext.cs b/lib/gio-sharp/gio/generated/AppLaunchContext.cs
new file mode 100644
index 0000000..fb7ba2d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AppLaunchContext.cs
@@ -0,0 +1,69 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class AppLaunchContext : GLib.Object {
+
+		[Obsolete]
+		protected AppLaunchContext(GLib.GType gtype) : base(gtype) {}
+		public AppLaunchContext(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_launch_context_new();
+
+		public AppLaunchContext () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (AppLaunchContext)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_app_launch_context_new();
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_app_launch_context_launch_failed(IntPtr raw, IntPtr startup_notify_id);
+
+		public void LaunchFailed(string startup_notify_id) {
+			IntPtr native_startup_notify_id = GLib.Marshaller.StringToPtrGStrdup (startup_notify_id);
+			g_app_launch_context_launch_failed(Handle, native_startup_notify_id);
+			GLib.Marshaller.Free (native_startup_notify_id);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_launch_context_get_display(IntPtr raw, IntPtr info, IntPtr files);
+
+		public string GetDisplay(GLib.AppInfo info, GLib.List files) {
+			IntPtr raw_ret = g_app_launch_context_get_display(Handle, info == null ? IntPtr.Zero : info.Handle, files == null ? IntPtr.Zero : files.Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_launch_context_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_app_launch_context_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_launch_context_get_startup_notify_id(IntPtr raw, IntPtr info, IntPtr files);
+
+		public string GetStartupNotifyId(GLib.AppInfo info, GLib.List files) {
+			IntPtr raw_ret = g_app_launch_context_get_startup_notify_id(Handle, info == null ? IntPtr.Zero : info.Handle, files == null ? IntPtr.Zero : files.Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/AskPasswordFlags.cs b/lib/gio-sharp/gio/generated/AskPasswordFlags.cs
new file mode 100644
index 0000000..8042b49
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AskPasswordFlags.cs
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.AskPasswordFlagsGType))]
+	public enum AskPasswordFlags {
+
+		NeedPassword = 1 << 0,
+		NeedUsername = 1 << 1,
+		NeedDomain = 1 << 2,
+		SavingSupported = 1 << 3,
+		AnonymousSupported = 1 << 4,
+	}
+
+	internal class AskPasswordFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_ask_password_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_ask_password_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/AskPasswordHandler.cs b/lib/gio-sharp/gio/generated/AskPasswordHandler.cs
new file mode 100644
index 0000000..7462209
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AskPasswordHandler.cs
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void AskPasswordHandler(object o, AskPasswordArgs args);
+
+	public class AskPasswordArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+		public string DefaultUser{
+			get {
+				return (string) Args[1];
+			}
+		}
+
+		public string DefaultDomain{
+			get {
+				return (string) Args[2];
+			}
+		}
+
+		public GLib.AskPasswordFlags Flags{
+			get {
+				return (GLib.AskPasswordFlags) Args[3];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/AskQuestionHandler.cs b/lib/gio-sharp/gio/generated/AskQuestionHandler.cs
new file mode 100644
index 0000000..4c4c0d8
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AskQuestionHandler.cs
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void AskQuestionHandler(object o, AskQuestionArgs args);
+
+	public class AskQuestionArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+		public string[] Choices{
+			get {
+				return (string[]) Args[1];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/AsyncInitable.cs b/lib/gio-sharp/gio/generated/AsyncInitable.cs
new file mode 100644
index 0000000..abbf73d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AsyncInitable.cs
@@ -0,0 +1,22 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface AsyncInitable : GLib.IWrapper {
+
+		bool InitFinish(GLib.AsyncResult res);
+		void InitAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+	}
+
+	[GLib.GInterface (typeof (AsyncInitableAdapter))]
+	public interface AsyncInitableImplementor : GLib.IWrapper {
+
+		void InitAsync (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool InitFinish (GLib.AsyncResult res);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/AsyncInitableAdapter.cs b/lib/gio-sharp/gio/generated/AsyncInitableAdapter.cs
new file mode 100644
index 0000000..7ad55e5
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AsyncInitableAdapter.cs
@@ -0,0 +1,156 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class AsyncInitableAdapter : GLib.GInterfaceAdapter, GLib.AsyncInitable {
+
+		static AsyncInitableIface iface;
+
+		struct AsyncInitableIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public InitAsyncDelegate init_async;
+			public InitFinishDelegate init_finish;
+		}
+
+		static AsyncInitableAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(AsyncInitableAdapter));
+			iface.init_async = new InitAsyncDelegate (InitAsyncCallback);
+			iface.init_finish = new InitFinishDelegate (InitFinishCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate void InitAsyncDelegate (IntPtr initable, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void InitAsyncCallback (IntPtr initable, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.AsyncInitableImplementor __obj = GLib.Object.GetObject (initable, false) as GLib.AsyncInitableImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.InitAsync (io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool InitFinishDelegate (IntPtr initable, IntPtr res, out IntPtr error);
+
+		static bool InitFinishCallback (IntPtr initable, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.AsyncInitableImplementor __obj = GLib.Object.GetObject (initable, false) as GLib.AsyncInitableImplementor;
+				bool __result = __obj.InitFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			AsyncInitableIface native_iface = (AsyncInitableIface) Marshal.PtrToStructure (ifaceptr, typeof (AsyncInitableIface));
+			native_iface.init_async = iface.init_async;
+			native_iface.init_finish = iface.init_finish;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public AsyncInitableAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		AsyncInitableImplementor implementor;
+
+		public AsyncInitableAdapter (AsyncInitableImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public AsyncInitableAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_initable_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_async_initable_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static AsyncInitable GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static AsyncInitable GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is AsyncInitableImplementor)
+				return new AsyncInitableAdapter (obj as AsyncInitableImplementor);
+			else if (obj as AsyncInitable == null)
+				return new AsyncInitableAdapter (obj.Handle);
+			else
+				return obj as AsyncInitable;
+		}
+
+		public AsyncInitableImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_async_initable_init_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public bool InitFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_async_initable_init_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_async_initable_init_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void InitAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_async_initable_init_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/AsyncReadyCallback.cs b/lib/gio-sharp/gio/generated/AsyncReadyCallback.cs
new file mode 100644
index 0000000..846065e
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AsyncReadyCallback.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void AsyncReadyCallback(GLib.Object source_object, GLib.AsyncResult res);
+
+}
diff --git a/lib/gio-sharp/gio/generated/AsyncResult.cs b/lib/gio-sharp/gio/generated/AsyncResult.cs
new file mode 100644
index 0000000..9590105
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AsyncResult.cs
@@ -0,0 +1,26 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface AsyncResult : GLib.IWrapper {
+
+		IntPtr UserData { 
+			get;
+		}
+		GLib.Object SourceObject { 
+			get;
+		}
+	}
+
+	[GLib.GInterface (typeof (AsyncResultAdapter))]
+	public interface AsyncResultImplementor : GLib.IWrapper {
+
+		IntPtr UserData { get; }
+		GLib.Object SourceObject { get; }
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/AsyncResultAdapter.cs b/lib/gio-sharp/gio/generated/AsyncResultAdapter.cs
new file mode 100644
index 0000000..ba1f2b8
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/AsyncResultAdapter.cs
@@ -0,0 +1,158 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class AsyncResultAdapter : GLib.GInterfaceAdapter, GLib.AsyncResult {
+
+		static AsyncResultIface iface;
+
+		struct AsyncResultIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public GetUserDataDelegate get_user_data;
+			public GetSourceObjectDelegate get_source_object;
+		}
+
+		static AsyncResultAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(AsyncResultAdapter));
+			iface.get_user_data = new GetUserDataDelegate (GetUserDataCallback);
+			iface.get_source_object = new GetSourceObjectDelegate (GetSourceObjectCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetUserDataDelegate (IntPtr async_result);
+
+		static IntPtr GetUserDataCallback (IntPtr async_result)
+		{
+			try {
+				GLib.AsyncResultImplementor __obj = GLib.Object.GetObject (async_result, false) as GLib.AsyncResultImplementor;
+				IntPtr __result = __obj.UserData;
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetSourceObjectDelegate (IntPtr async_result);
+
+		static IntPtr GetSourceObjectCallback (IntPtr async_result)
+		{
+			try {
+				GLib.AsyncResultImplementor __obj = GLib.Object.GetObject (async_result, false) as GLib.AsyncResultImplementor;
+				GLib.Object __result = __obj.SourceObject;
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			AsyncResultIface native_iface = (AsyncResultIface) Marshal.PtrToStructure (ifaceptr, typeof (AsyncResultIface));
+			native_iface.get_user_data = iface.get_user_data;
+			native_iface.get_source_object = iface.get_source_object;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public AsyncResultAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		AsyncResultImplementor implementor;
+
+		public AsyncResultAdapter (AsyncResultImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public AsyncResultAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_result_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_async_result_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static AsyncResult GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static AsyncResult GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is AsyncResultImplementor)
+				return new AsyncResultAdapter (obj as AsyncResultImplementor);
+			else if (obj as AsyncResult == null)
+				return new AsyncResultAdapter (obj.Handle);
+			else
+				return obj as AsyncResult;
+		}
+
+		public AsyncResultImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_result_get_user_data(IntPtr raw);
+
+		public IntPtr UserData { 
+			get {
+				IntPtr raw_ret = g_async_result_get_user_data(Handle);
+				IntPtr ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_result_get_source_object(IntPtr raw);
+
+		public GLib.Object SourceObject { 
+			get {
+				IntPtr raw_ret = g_async_result_get_source_object(Handle);
+				GLib.Object ret = GLib.Object.GetObject (raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/BufferedInputStream.cs b/lib/gio-sharp/gio/generated/BufferedInputStream.cs
new file mode 100644
index 0000000..0a66cea
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/BufferedInputStream.cs
@@ -0,0 +1,150 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class BufferedInputStream : GLib.FilterInputStream {
+
+		[Obsolete]
+		protected BufferedInputStream(GLib.GType gtype) : base(gtype) {}
+		public BufferedInputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_input_stream_new(IntPtr base_stream);
+
+		public BufferedInputStream (GLib.InputStream base_stream) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (BufferedInputStream)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (base_stream != null) {
+					names.Add ("base_stream");
+					vals.Add (new GLib.Value (base_stream));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_buffered_input_stream_new(base_stream == null ? IntPtr.Zero : base_stream.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_input_stream_new_sized(IntPtr base_stream, UIntPtr size);
+
+		public BufferedInputStream (GLib.InputStream base_stream, ulong size) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (BufferedInputStream)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			Raw = g_buffered_input_stream_new_sized(base_stream == null ? IntPtr.Zero : base_stream.Handle, new UIntPtr (size));
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_buffered_input_stream_get_buffer_size(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_buffered_input_stream_set_buffer_size(IntPtr raw, UIntPtr size);
+
+		[GLib.Property ("buffer-size")]
+		public ulong BufferSize {
+			get  {
+				UIntPtr raw_ret = g_buffered_input_stream_get_buffer_size(Handle);
+				ulong ret = (ulong) raw_ret;
+				return ret;
+			}
+			set  {
+				g_buffered_input_stream_set_buffer_size(Handle, new UIntPtr (value));
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe int g_buffered_input_stream_read_byte(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe int ReadByte(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			int raw_ret = g_buffered_input_stream_read_byte(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			int ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_buffered_input_stream_fill_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe long FillFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_buffered_input_stream_fill_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_buffered_input_stream_fill_async(IntPtr raw, IntPtr count, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void FillAsync(long count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_buffered_input_stream_fill_async(Handle, new IntPtr (count), io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_buffered_input_stream_fill(IntPtr raw, IntPtr count, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long Fill(long count, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_buffered_input_stream_fill(Handle, new IntPtr (count), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_buffered_input_stream_get_available(IntPtr raw);
+
+		public ulong Available { 
+			get {
+				UIntPtr raw_ret = g_buffered_input_stream_get_available(Handle);
+				ulong ret = (ulong) raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_buffered_input_stream_peek(IntPtr raw, IntPtr buffer, UIntPtr offset, UIntPtr count);
+
+		public ulong Peek(IntPtr buffer, ulong offset, ulong count) {
+			UIntPtr raw_ret = g_buffered_input_stream_peek(Handle, buffer, new UIntPtr (offset), new UIntPtr (count));
+			ulong ret = (ulong) raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_buffered_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_input_stream_peek_buffer(IntPtr raw, out UIntPtr count);
+
+		public IntPtr PeekBuffer(out ulong count) {
+			UIntPtr native_count;
+			IntPtr raw_ret = g_buffered_input_stream_peek_buffer(Handle, out native_count);
+			IntPtr ret = raw_ret;
+			count = (ulong) native_count;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/BufferedOutputStream.cs b/lib/gio-sharp/gio/generated/BufferedOutputStream.cs
new file mode 100644
index 0000000..1e345b9
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/BufferedOutputStream.cs
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class BufferedOutputStream : GLib.FilterOutputStream {
+
+		[Obsolete]
+		protected BufferedOutputStream(GLib.GType gtype) : base(gtype) {}
+		public BufferedOutputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_output_stream_new(IntPtr base_stream);
+
+		public BufferedOutputStream (GLib.OutputStream base_stream) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (BufferedOutputStream)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (base_stream != null) {
+					names.Add ("base_stream");
+					vals.Add (new GLib.Value (base_stream));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_buffered_output_stream_new(base_stream == null ? IntPtr.Zero : base_stream.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_output_stream_new_sized(IntPtr base_stream, UIntPtr size);
+
+		public BufferedOutputStream (GLib.OutputStream base_stream, ulong size) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (BufferedOutputStream)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			Raw = g_buffered_output_stream_new_sized(base_stream == null ? IntPtr.Zero : base_stream.Handle, new UIntPtr (size));
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_buffered_output_stream_get_buffer_size(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_buffered_output_stream_set_buffer_size(IntPtr raw, UIntPtr size);
+
+		[GLib.Property ("buffer-size")]
+		public ulong BufferSize {
+			get  {
+				UIntPtr raw_ret = g_buffered_output_stream_get_buffer_size(Handle);
+				ulong ret = (ulong) raw_ret;
+				return ret;
+			}
+			set  {
+				g_buffered_output_stream_set_buffer_size(Handle, new UIntPtr (value));
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_buffered_output_stream_get_auto_grow(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_buffered_output_stream_set_auto_grow(IntPtr raw, bool auto_grow);
+
+		[GLib.Property ("auto-grow")]
+		public bool AutoGrow {
+			get  {
+				bool raw_ret = g_buffered_output_stream_get_auto_grow(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_buffered_output_stream_set_auto_grow(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_buffered_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_buffered_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Cancellable.cs b/lib/gio-sharp/gio/generated/Cancellable.cs
new file mode 100644
index 0000000..356b114
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Cancellable.cs
@@ -0,0 +1,175 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Cancellable : GLib.Object {
+
+		[Obsolete]
+		protected Cancellable(GLib.GType gtype) : base(gtype) {}
+		public Cancellable(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_cancellable_new();
+
+		public Cancellable () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (Cancellable)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_cancellable_new();
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CancelledVMDelegate (IntPtr cancellable);
+
+		static CancelledVMDelegate CancelledVMCallback;
+
+		static void cancelled_cb (IntPtr cancellable)
+		{
+			try {
+				Cancellable cancellable_managed = GLib.Object.GetObject (cancellable, false) as Cancellable;
+				cancellable_managed.OnCancelled ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideCancelled (GLib.GType gtype)
+		{
+			if (CancelledVMCallback == null)
+				CancelledVMCallback = new CancelledVMDelegate (cancelled_cb);
+			OverrideVirtualMethod (gtype, "cancelled", CancelledVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.Cancellable), ConnectionMethod="OverrideCancelled")]
+		protected virtual void OnCancelled ()
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+			GLib.Value[] vals = new GLib.Value [1];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("cancelled")]
+		public event System.EventHandler Cancelled {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "cancelled");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "cancelled");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_cancellable_is_cancelled(IntPtr raw);
+
+		public bool IsCancelled { 
+			get {
+				bool raw_ret = g_cancellable_is_cancelled(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_pop_current(IntPtr raw);
+
+		public void PopCurrent() {
+			g_cancellable_pop_current(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_reset(IntPtr raw);
+
+		public void Reset() {
+			g_cancellable_reset(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_cancellable_set_error_if_cancelled(IntPtr raw, out IntPtr error);
+
+		public unsafe bool SetErrorIfCancelled() {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_cancellable_set_error_if_cancelled(Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_push_current(IntPtr raw);
+
+		public void PushCurrent() {
+			g_cancellable_push_current(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_cancel(IntPtr raw);
+
+		public void Cancel() {
+			g_cancellable_cancel(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_cancellable_get_fd(IntPtr raw);
+
+		public int Fd { 
+			get {
+				int raw_ret = g_cancellable_get_fd(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_cancellable_get_current();
+
+		public static GLib.Cancellable Current { 
+			get {
+				IntPtr raw_ret = g_cancellable_get_current();
+				GLib.Cancellable ret = GLib.Object.GetObject(raw_ret) as GLib.Cancellable;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_disconnect(IntPtr raw, UIntPtr handler_id);
+
+		public void Disconnect(ulong handler_id) {
+			g_cancellable_disconnect(Handle, new UIntPtr (handler_id));
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_cancellable_release_fd(IntPtr raw);
+
+		public void ReleaseFd() {
+			g_cancellable_release_fd(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_cancellable_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_cancellable_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/ChangedHandler.cs b/lib/gio-sharp/gio/generated/ChangedHandler.cs
new file mode 100644
index 0000000..ef325e2
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/ChangedHandler.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void ChangedHandler(object o, ChangedArgs args);
+
+	public class ChangedArgs : GLib.SignalArgs {
+		public GLib.File File{
+			get {
+				return (GLib.File) Args[0];
+			}
+		}
+
+		public GLib.File OtherFile{
+			get {
+				return (GLib.File) Args[1];
+			}
+		}
+
+		public GLib.FileMonitorEvent EventType{
+			get {
+				return (GLib.FileMonitorEvent) Args[2];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Content.cs b/lib/gio-sharp/gio/generated/Content.cs
new file mode 100644
index 0000000..1e05e7d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Content.cs
@@ -0,0 +1,135 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Content {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_get_description(IntPtr type);
+
+		public static string TypeGetDescription(string type) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			IntPtr raw_ret = g_content_type_get_description(native_type);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_types_get_registered();
+
+		public static GLib.List TypesGetRegistered() {
+			IntPtr raw_ret = g_content_types_get_registered();
+			GLib.List ret = new GLib.List(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_content_type_is_a(IntPtr type, IntPtr supertype);
+
+		public static bool TypeIsA(string type, string supertype) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			IntPtr native_supertype = GLib.Marshaller.StringToPtrGStrdup (supertype);
+			bool raw_ret = g_content_type_is_a(native_type, native_supertype);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_type);
+			GLib.Marshaller.Free (native_supertype);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_content_type_equals(IntPtr type1, IntPtr type2);
+
+		public static bool TypeEquals(string type1, string type2) {
+			IntPtr native_type1 = GLib.Marshaller.StringToPtrGStrdup (type1);
+			IntPtr native_type2 = GLib.Marshaller.StringToPtrGStrdup (type2);
+			bool raw_ret = g_content_type_equals(native_type1, native_type2);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_type1);
+			GLib.Marshaller.Free (native_type2);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_from_mime_type(IntPtr mime_type);
+
+		public static string TypeFromMimeType(string mime_type) {
+			IntPtr native_mime_type = GLib.Marshaller.StringToPtrGStrdup (mime_type);
+			IntPtr raw_ret = g_content_type_from_mime_type(native_mime_type);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_mime_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_guess(IntPtr filename, out byte data, UIntPtr data_size, out bool result_uncertain);
+
+		public static string TypeGuess(string filename, out byte data, ulong data_size, out bool result_uncertain) {
+			IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
+			IntPtr raw_ret = g_content_type_guess(native_filename, out data, new UIntPtr (data_size), out result_uncertain);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_filename);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_content_type_is_unknown(IntPtr type);
+
+		public static bool TypeIsUnknown(string type) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			bool raw_ret = g_content_type_is_unknown(native_type);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_get_mime_type(IntPtr type);
+
+		public static string TypeGetMimeType(string type) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			IntPtr raw_ret = g_content_type_get_mime_type(native_type);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_guess_for_tree(IntPtr root);
+
+		public static string TypeGuessForTree(GLib.File root) {
+			IntPtr raw_ret = g_content_type_guess_for_tree(root == null ? IntPtr.Zero : root.Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_content_type_can_be_executable(IntPtr type);
+
+		public static bool TypeCanBeExecutable(string type) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			bool raw_ret = g_content_type_can_be_executable(native_type);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_type);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_content_type_get_icon(IntPtr type);
+
+		public static GLib.Icon TypeGetIcon(string type) {
+			IntPtr native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+			IntPtr raw_ret = g_content_type_get_icon(native_type);
+			GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_type);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DataInputStream.cs b/lib/gio-sharp/gio/generated/DataInputStream.cs
new file mode 100644
index 0000000..d4115b1
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DataInputStream.cs
@@ -0,0 +1,235 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class DataInputStream : GLib.BufferedInputStream {
+
+		[Obsolete]
+		protected DataInputStream(GLib.GType gtype) : base(gtype) {}
+		public DataInputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_input_stream_new(IntPtr base_stream);
+
+		public DataInputStream (GLib.InputStream base_stream) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (DataInputStream)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (base_stream != null) {
+					names.Add ("base_stream");
+					vals.Add (new GLib.Value (base_stream));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_data_input_stream_new(base_stream == null ? IntPtr.Zero : base_stream.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_data_input_stream_get_newline_type(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_data_input_stream_set_newline_type(IntPtr raw, int type);
+
+		[GLib.Property ("newline-type")]
+		public GLib.DataStreamNewlineType NewlineType {
+			get  {
+				int raw_ret = g_data_input_stream_get_newline_type(Handle);
+				GLib.DataStreamNewlineType ret = (GLib.DataStreamNewlineType) raw_ret;
+				return ret;
+			}
+			set  {
+				g_data_input_stream_set_newline_type(Handle, (int) value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_data_input_stream_get_byte_order(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_data_input_stream_set_byte_order(IntPtr raw, int order);
+
+		[GLib.Property ("byte-order")]
+		public GLib.DataStreamByteOrder ByteOrder {
+			get  {
+				int raw_ret = g_data_input_stream_get_byte_order(Handle);
+				GLib.DataStreamByteOrder ret = (GLib.DataStreamByteOrder) raw_ret;
+				return ret;
+			}
+			set  {
+				g_data_input_stream_set_byte_order(Handle, (int) value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe byte g_data_input_stream_read_byte(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe new byte ReadByte(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			byte raw_ret = g_data_input_stream_read_byte(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			byte ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe long g_data_input_stream_read_int64(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long ReadInt64(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			long raw_ret = g_data_input_stream_read_int64(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe short g_data_input_stream_read_int16(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe short ReadInt16(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			short raw_ret = g_data_input_stream_read_int16(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			short ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe ushort g_data_input_stream_read_uint16(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe ushort ReadUint16(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			ushort raw_ret = g_data_input_stream_read_uint16(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			ushort ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe ulong g_data_input_stream_read_uint64(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe ulong ReadUint64(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			ulong raw_ret = g_data_input_stream_read_uint64(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			ulong ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_data_input_stream_read_line(IntPtr raw, out UIntPtr length, IntPtr cancellable, out IntPtr error);
+
+		public unsafe string ReadLine(out ulong length, GLib.Cancellable cancellable) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_data_input_stream_read_line(Handle, out native_length, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe int g_data_input_stream_read_int32(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe int ReadInt32(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			int raw_ret = g_data_input_stream_read_int32(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			int ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_data_input_stream_read_until_async(IntPtr raw, IntPtr stop_chars, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReadUntilAsync(string stop_chars, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_stop_chars = GLib.Marshaller.StringToPtrGStrdup (stop_chars);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_data_input_stream_read_until_async(Handle, native_stop_chars, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_stop_chars);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_data_input_stream_read_line_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReadLineAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_data_input_stream_read_line_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_data_input_stream_read_until(IntPtr raw, IntPtr stop_chars, out UIntPtr length, IntPtr cancellable, out IntPtr error);
+
+		public unsafe string ReadUntil(string stop_chars, out ulong length, GLib.Cancellable cancellable) {
+			IntPtr native_stop_chars = GLib.Marshaller.StringToPtrGStrdup (stop_chars);
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_data_input_stream_read_until(Handle, native_stop_chars, out native_length, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_stop_chars);
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_data_input_stream_read_line_finish(IntPtr raw, IntPtr result, out UIntPtr length, out IntPtr error);
+
+		public unsafe string ReadLineFinish(GLib.AsyncResult result, out ulong length) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_data_input_stream_read_line_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out native_length, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe uint g_data_input_stream_read_uint32(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe uint ReadUint32(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			uint raw_ret = g_data_input_stream_read_uint32(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			uint ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_data_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_data_input_stream_read_until_finish(IntPtr raw, IntPtr result, out UIntPtr length, out IntPtr error);
+
+		public unsafe string ReadUntilFinish(GLib.AsyncResult result, out ulong length) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_data_input_stream_read_until_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out native_length, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DataOutputStream.cs b/lib/gio-sharp/gio/generated/DataOutputStream.cs
new file mode 100644
index 0000000..7fcad14
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DataOutputStream.cs
@@ -0,0 +1,156 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class DataOutputStream : GLib.FilterOutputStream {
+
+		[Obsolete]
+		protected DataOutputStream(GLib.GType gtype) : base(gtype) {}
+		public DataOutputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_output_stream_new(IntPtr base_stream);
+
+		public DataOutputStream (GLib.OutputStream base_stream) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (DataOutputStream)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (base_stream != null) {
+					names.Add ("base_stream");
+					vals.Add (new GLib.Value (base_stream));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_data_output_stream_new(base_stream == null ? IntPtr.Zero : base_stream.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_data_output_stream_get_byte_order(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_data_output_stream_set_byte_order(IntPtr raw, int order);
+
+		[GLib.Property ("byte-order")]
+		public GLib.DataStreamByteOrder ByteOrder {
+			get  {
+				int raw_ret = g_data_output_stream_get_byte_order(Handle);
+				GLib.DataStreamByteOrder ret = (GLib.DataStreamByteOrder) raw_ret;
+				return ret;
+			}
+			set  {
+				g_data_output_stream_set_byte_order(Handle, (int) value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_byte(IntPtr raw, byte data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutByte(byte data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_byte(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_int32(IntPtr raw, int data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutInt32(int data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_int32(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_uint16(IntPtr raw, ushort data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutUint16(ushort data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_uint16(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_string(IntPtr raw, IntPtr str, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutString(string str, GLib.Cancellable cancellable) {
+			IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_string(Handle, native_str, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_str);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_uint64(IntPtr raw, ulong data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutUint64(ulong data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_uint64(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_int16(IntPtr raw, short data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutInt16(short data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_int16(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_int64(IntPtr raw, long data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutInt64(long data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_int64(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_data_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_data_output_stream_put_uint32(IntPtr raw, uint data, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool PutUint32(uint data, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_data_output_stream_put_uint32(Handle, data, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DataStreamByteOrder.cs b/lib/gio-sharp/gio/generated/DataStreamByteOrder.cs
new file mode 100644
index 0000000..370eb05
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DataStreamByteOrder.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.DataStreamByteOrderGType))]
+	public enum DataStreamByteOrder {
+
+		BigEndian,
+		LittleEndian,
+		HostEndian,
+	}
+
+	internal class DataStreamByteOrderGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_stream_byte_order_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_data_stream_byte_order_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DataStreamNewlineType.cs b/lib/gio-sharp/gio/generated/DataStreamNewlineType.cs
new file mode 100644
index 0000000..2084553
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DataStreamNewlineType.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.DataStreamNewlineTypeGType))]
+	public enum DataStreamNewlineType {
+
+		Lf,
+		Cr,
+		CrLf,
+		Any,
+	}
+
+	internal class DataStreamNewlineTypeGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_data_stream_newline_type_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_data_stream_newline_type_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DesktopAppInfo.cs b/lib/gio-sharp/gio/generated/DesktopAppInfo.cs
new file mode 100644
index 0000000..58756db
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DesktopAppInfo.cs
@@ -0,0 +1,296 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class DesktopAppInfo : GLib.Object, GLib.AppInfo {
+
+		[Obsolete]
+		protected DesktopAppInfo(GLib.GType gtype) : base(gtype) {}
+		public DesktopAppInfo(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_desktop_app_info_new(IntPtr desktop_id);
+
+		public DesktopAppInfo (string desktop_id) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (DesktopAppInfo)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			IntPtr native_desktop_id = GLib.Marshaller.StringToPtrGStrdup (desktop_id);
+			Raw = g_desktop_app_info_new(native_desktop_id);
+			GLib.Marshaller.Free (native_desktop_id);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_desktop_app_info_new_from_filename(IntPtr filename);
+
+		public static DesktopAppInfo NewFromFilename(string filename)
+		{
+			IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
+			DesktopAppInfo result = new DesktopAppInfo (g_desktop_app_info_new_from_filename(native_filename));
+			GLib.Marshaller.Free (native_filename);
+			return result;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_desktop_app_info_set_desktop_env(IntPtr desktop_env);
+
+		public static string DesktopEnv { 
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_desktop_app_info_set_desktop_env(native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_desktop_app_info_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_desktop_app_info_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_desktop_app_info_get_is_hidden(IntPtr raw);
+
+		public bool IsHidden { 
+			get {
+				bool raw_ret = g_desktop_app_info_get_is_hidden(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_add_supports_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool AddSupportsType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_add_supports_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_commandline(IntPtr raw);
+
+		public string Commandline { 
+			get {
+				IntPtr raw_ret = g_app_info_get_commandline(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_can_remove_supports_type(IntPtr raw);
+
+		public bool CanRemoveSupportsType { 
+			get {
+				bool raw_ret = g_app_info_can_remove_supports_type(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_app_info_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_id(IntPtr raw);
+
+		public string Id { 
+			get {
+				IntPtr raw_ret = g_app_info_get_id(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_dup(IntPtr raw);
+
+		public GLib.AppInfo Dup() {
+			IntPtr raw_ret = g_app_info_dup(Handle);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_set_as_default_for_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool SetAsDefaultForType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_set_as_default_for_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_launch_uris(IntPtr raw, IntPtr uris, IntPtr launch_context, out IntPtr error);
+
+		public bool LaunchUris(GLib.List uris, GLib.AppLaunchContext launch_context) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_launch_uris(Handle, uris == null ? IntPtr.Zero : uris.Handle, launch_context == null ? IntPtr.Zero : launch_context.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_delete(IntPtr raw);
+
+		public bool Delete() {
+			bool raw_ret = g_app_info_delete(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_launch(IntPtr raw, IntPtr files, IntPtr launch_context, out IntPtr error);
+
+		public bool Launch(GLib.List files, GLib.AppLaunchContext launch_context) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_launch(Handle, files == null ? IntPtr.Zero : files.Handle, launch_context == null ? IntPtr.Zero : launch_context.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_set_as_default_for_extension(IntPtr raw, IntPtr extension, out IntPtr error);
+
+		public bool SetAsDefaultForExtension(string extension) {
+			IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_set_as_default_for_extension(Handle, native_extension, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_extension);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_remove_supports_type(IntPtr raw, IntPtr content_type, out IntPtr error);
+
+		public bool RemoveSupportsType(string content_type) {
+			IntPtr native_content_type = GLib.Marshaller.StringToPtrGStrdup (content_type);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_app_info_remove_supports_type(Handle, native_content_type, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_content_type);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_supports_uris(IntPtr raw);
+
+		public bool SupportsUris { 
+			get {
+				bool raw_ret = g_app_info_supports_uris(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_app_info_get_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_supports_files(IntPtr raw);
+
+		public bool SupportsFiles { 
+			get {
+				bool raw_ret = g_app_info_supports_files(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_should_show(IntPtr raw);
+
+		public bool ShouldShow { 
+			get {
+				bool raw_ret = g_app_info_should_show(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_equal(IntPtr raw, IntPtr appinfo2);
+
+		public bool Equal(GLib.AppInfo appinfo2) {
+			bool raw_ret = g_app_info_equal(Handle, appinfo2 == null ? IntPtr.Zero : appinfo2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_description(IntPtr raw);
+
+		public string Description { 
+			get {
+				IntPtr raw_ret = g_app_info_get_description(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_app_info_get_executable(IntPtr raw);
+
+		public string Executable { 
+			get {
+				IntPtr raw_ret = g_app_info_get_executable(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_app_info_can_delete(IntPtr raw);
+
+		public bool CanDelete() {
+			bool raw_ret = g_app_info_can_delete(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DesktopAppInfoLookup.cs b/lib/gio-sharp/gio/generated/DesktopAppInfoLookup.cs
new file mode 100644
index 0000000..78411db
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DesktopAppInfoLookup.cs
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface DesktopAppInfoLookup : GLib.IWrapper {
+
+		GLib.AppInfo GetDefaultForUriScheme(string uri_scheme);
+	}
+
+	[GLib.GInterface (typeof (DesktopAppInfoLookupAdapter))]
+	public interface DesktopAppInfoLookupImplementor : GLib.IWrapper {
+
+		GLib.AppInfo GetDefaultForUriScheme (string uri_scheme);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DesktopAppInfoLookupAdapter.cs b/lib/gio-sharp/gio/generated/DesktopAppInfoLookupAdapter.cs
new file mode 100644
index 0000000..7907fda
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DesktopAppInfoLookupAdapter.cs
@@ -0,0 +1,128 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class DesktopAppInfoLookupAdapter : GLib.GInterfaceAdapter, GLib.DesktopAppInfoLookup {
+
+		static DesktopAppInfoLookupIface iface;
+
+		struct DesktopAppInfoLookupIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public GetDefaultForUriSchemeDelegate get_default_for_uri_scheme;
+		}
+
+		static DesktopAppInfoLookupAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(DesktopAppInfoLookupAdapter));
+			iface.get_default_for_uri_scheme = new GetDefaultForUriSchemeDelegate (GetDefaultForUriSchemeCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetDefaultForUriSchemeDelegate (IntPtr lookup, IntPtr uri_scheme);
+
+		static IntPtr GetDefaultForUriSchemeCallback (IntPtr lookup, IntPtr uri_scheme)
+		{
+			try {
+				GLib.DesktopAppInfoLookupImplementor __obj = GLib.Object.GetObject (lookup, false) as GLib.DesktopAppInfoLookupImplementor;
+				GLib.AppInfo __result = __obj.GetDefaultForUriScheme (GLib.Marshaller.Utf8PtrToString (uri_scheme));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			DesktopAppInfoLookupIface native_iface = (DesktopAppInfoLookupIface) Marshal.PtrToStructure (ifaceptr, typeof (DesktopAppInfoLookupIface));
+			native_iface.get_default_for_uri_scheme = iface.get_default_for_uri_scheme;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public DesktopAppInfoLookupAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		DesktopAppInfoLookupImplementor implementor;
+
+		public DesktopAppInfoLookupAdapter (DesktopAppInfoLookupImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public DesktopAppInfoLookupAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_desktop_app_info_lookup_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_desktop_app_info_lookup_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static DesktopAppInfoLookup GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static DesktopAppInfoLookup GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is DesktopAppInfoLookupImplementor)
+				return new DesktopAppInfoLookupAdapter (obj as DesktopAppInfoLookupImplementor);
+			else if (obj as DesktopAppInfoLookup == null)
+				return new DesktopAppInfoLookupAdapter (obj.Handle);
+			else
+				return obj as DesktopAppInfoLookup;
+		}
+
+		public DesktopAppInfoLookupImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_desktop_app_info_lookup_get_default_for_uri_scheme(IntPtr raw, IntPtr uri_scheme);
+
+		public GLib.AppInfo GetDefaultForUriScheme(string uri_scheme) {
+			IntPtr native_uri_scheme = GLib.Marshaller.StringToPtrGStrdup (uri_scheme);
+			IntPtr raw_ret = g_desktop_app_info_lookup_get_default_for_uri_scheme(Handle, native_uri_scheme);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_uri_scheme);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Drive.cs b/lib/gio-sharp/gio/generated/Drive.cs
new file mode 100644
index 0000000..b86c0fb
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Drive.cs
@@ -0,0 +1,58 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Drive : GLib.IWrapper {
+
+		event System.EventHandler Changed;
+		event System.EventHandler Disconnected;
+		event System.EventHandler StopButton;
+		event System.EventHandler EjectButton;
+		bool CanStartDegraded();
+		void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.Icon Icon { 
+			get;
+		}
+		bool StopFinish(GLib.AsyncResult result);
+		string GetIdentifier(string kind);
+		bool IsMediaRemovable { 
+			get;
+		}
+		bool CanEject();
+		bool CanPollForMedia();
+		bool IsMediaCheckAutomatic { 
+			get;
+		}
+		void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool EjectFinish(GLib.AsyncResult result);
+		bool StartFinish(GLib.AsyncResult result);
+		bool CanStop();
+		bool HasMedia { 
+			get;
+		}
+		bool EjectWithOperationFinish(GLib.AsyncResult result);
+		string EnumerateIdentifiers();
+		void PollForMedia(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void Start(GLib.DriveStartFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.List Volumes { 
+			get;
+		}
+		GLib.DriveStartStopType StartStopType { 
+			get;
+		}
+		bool HasVolumes { 
+			get;
+		}
+		void Stop(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		string Name { 
+			get;
+		}
+		bool PollForMediaFinish(GLib.AsyncResult result);
+		bool CanStart();
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DriveAdapter.cs b/lib/gio-sharp/gio/generated/DriveAdapter.cs
new file mode 100644
index 0000000..3884afe
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveAdapter.cs
@@ -0,0 +1,356 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class DriveAdapter : GLib.GInterfaceAdapter, GLib.Drive {
+
+		public DriveAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_drive_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				return handle;
+			}
+		}
+
+		public static Drive GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Drive GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj as Drive == null)
+				return new DriveAdapter (obj.Handle);
+			else
+				return obj as Drive;
+		}
+
+		[GLib.Signal("changed")]
+		public event System.EventHandler Changed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("disconnected")]
+		public event System.EventHandler Disconnected {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "disconnected");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "disconnected");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("stop-button")]
+		public event System.EventHandler StopButton {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "stop-button");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "stop-button");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("eject-button")]
+		public event System.EventHandler EjectButton {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "eject-button");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "eject-button");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_can_start_degraded(IntPtr raw);
+
+		public bool CanStartDegraded() {
+			bool raw_ret = g_drive_can_start_degraded(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_drive_eject_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_drive_eject_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_drive_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_stop_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool StopFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_drive_stop_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_get_identifier(IntPtr raw, IntPtr kind);
+
+		public string GetIdentifier(string kind) {
+			IntPtr native_kind = GLib.Marshaller.StringToPtrGStrdup (kind);
+			IntPtr raw_ret = g_drive_get_identifier(Handle, native_kind);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_kind);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_is_media_removable(IntPtr raw);
+
+		public bool IsMediaRemovable { 
+			get {
+				bool raw_ret = g_drive_is_media_removable(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_can_eject(IntPtr raw);
+
+		public bool CanEject() {
+			bool raw_ret = g_drive_can_eject(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_can_poll_for_media(IntPtr raw);
+
+		public bool CanPollForMedia() {
+			bool raw_ret = g_drive_can_poll_for_media(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_is_media_check_automatic(IntPtr raw);
+
+		public bool IsMediaCheckAutomatic { 
+			get {
+				bool raw_ret = g_drive_is_media_check_automatic(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_drive_eject(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_drive_eject(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_eject_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool EjectFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_drive_eject_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_start_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool StartFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_drive_start_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_can_stop(IntPtr raw);
+
+		public bool CanStop() {
+			bool raw_ret = g_drive_can_stop(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_has_media(IntPtr raw);
+
+		public bool HasMedia { 
+			get {
+				bool raw_ret = g_drive_has_media(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_eject_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool EjectWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_drive_eject_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_enumerate_identifiers(IntPtr raw);
+
+		public string EnumerateIdentifiers() {
+			IntPtr raw_ret = g_drive_enumerate_identifiers(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_drive_poll_for_media(IntPtr raw, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void PollForMedia(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_drive_poll_for_media(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_drive_start(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void Start(GLib.DriveStartFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_drive_start(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_get_volumes(IntPtr raw);
+
+		public GLib.List Volumes { 
+			get {
+				IntPtr raw_ret = g_drive_get_volumes(Handle);
+				GLib.List ret = new GLib.List(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_drive_get_start_stop_type(IntPtr raw);
+
+		public GLib.DriveStartStopType StartStopType { 
+			get {
+				int raw_ret = g_drive_get_start_stop_type(Handle);
+				GLib.DriveStartStopType ret = (GLib.DriveStartStopType) raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_has_volumes(IntPtr raw);
+
+		public bool HasVolumes { 
+			get {
+				bool raw_ret = g_drive_has_volumes(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_drive_stop(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void Stop(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_drive_stop(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_drive_get_name(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_poll_for_media_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool PollForMediaFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_drive_poll_for_media_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_drive_can_start(IntPtr raw);
+
+		public bool CanStart() {
+			bool raw_ret = g_drive_can_start(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DriveChangedHandler.cs b/lib/gio-sharp/gio/generated/DriveChangedHandler.cs
new file mode 100644
index 0000000..6ee0713
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveChangedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void DriveChangedHandler(object o, DriveChangedArgs args);
+
+	public class DriveChangedArgs : GLib.SignalArgs {
+		public GLib.Drive Drive{
+			get {
+				return (GLib.Drive) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DriveConnectedHandler.cs b/lib/gio-sharp/gio/generated/DriveConnectedHandler.cs
new file mode 100644
index 0000000..ef0a7d6
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveConnectedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void DriveConnectedHandler(object o, DriveConnectedArgs args);
+
+	public class DriveConnectedArgs : GLib.SignalArgs {
+		public GLib.Drive Drive{
+			get {
+				return (GLib.Drive) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DriveDisconnectedHandler.cs b/lib/gio-sharp/gio/generated/DriveDisconnectedHandler.cs
new file mode 100644
index 0000000..686393c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveDisconnectedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void DriveDisconnectedHandler(object o, DriveDisconnectedArgs args);
+
+	public class DriveDisconnectedArgs : GLib.SignalArgs {
+		public GLib.Drive Drive{
+			get {
+				return (GLib.Drive) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DriveEjectButtonHandler.cs b/lib/gio-sharp/gio/generated/DriveEjectButtonHandler.cs
new file mode 100644
index 0000000..eafc888
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveEjectButtonHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void DriveEjectButtonHandler(object o, DriveEjectButtonArgs args);
+
+	public class DriveEjectButtonArgs : GLib.SignalArgs {
+		public GLib.Drive Drive{
+			get {
+				return (GLib.Drive) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/DriveStartFlags.cs b/lib/gio-sharp/gio/generated/DriveStartFlags.cs
new file mode 100644
index 0000000..c4c003f
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveStartFlags.cs
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.DriveStartFlagsGType))]
+	public enum DriveStartFlags {
+
+		None,
+	}
+
+	internal class DriveStartFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_start_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_drive_start_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DriveStartStopType.cs b/lib/gio-sharp/gio/generated/DriveStartStopType.cs
new file mode 100644
index 0000000..e8b1fe4
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveStartStopType.cs
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.DriveStartStopTypeGType))]
+	public enum DriveStartStopType {
+
+		Unknown,
+		Shutdown,
+		Network,
+		Multidisk,
+		Password,
+	}
+
+	internal class DriveStartStopTypeGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_drive_start_stop_type_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_drive_start_stop_type_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/DriveStopButtonHandler.cs b/lib/gio-sharp/gio/generated/DriveStopButtonHandler.cs
new file mode 100644
index 0000000..ce185b9
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/DriveStopButtonHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void DriveStopButtonHandler(object o, DriveStopButtonArgs args);
+
+	public class DriveStopButtonArgs : GLib.SignalArgs {
+		public GLib.Drive Drive{
+			get {
+				return (GLib.Drive) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Emblem.cs b/lib/gio-sharp/gio/generated/Emblem.cs
new file mode 100644
index 0000000..224cf76
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Emblem.cs
@@ -0,0 +1,110 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Emblem : GLib.Object, GLib.Icon {
+
+		[Obsolete]
+		protected Emblem(GLib.GType gtype) : base(gtype) {}
+		public Emblem(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblem_new(IntPtr icon);
+
+		public Emblem (GLib.Icon icon) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (Emblem)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (icon != null) {
+					names.Add ("icon");
+					vals.Add (new GLib.Value (icon));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_emblem_new(icon == null ? IntPtr.Zero : icon.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblem_new_with_origin(IntPtr icon, int origin);
+
+		public Emblem (GLib.Icon icon, GLib.EmblemOrigin origin) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (Emblem)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (icon != null) {
+					names.Add ("icon");
+					vals.Add (new GLib.Value (icon));
+				}
+				names.Add ("origin");
+				vals.Add (new GLib.Value (origin));
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_emblem_new_with_origin(icon == null ? IntPtr.Zero : icon.Handle, (int) origin);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblem_get_icon(IntPtr raw);
+
+		[GLib.Property ("icon")]
+		public GLib.Icon Icon {
+			get  {
+				IntPtr raw_ret = g_emblem_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_emblem_get_origin(IntPtr raw);
+
+		[GLib.Property ("origin")]
+		public GLib.EmblemOrigin Origin {
+			get  {
+				int raw_ret = g_emblem_get_origin(Handle);
+				GLib.EmblemOrigin ret = (GLib.EmblemOrigin) raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblem_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_emblem_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_to_string(IntPtr raw);
+
+		public override string ToString() {
+			IntPtr raw_ret = g_icon_to_string(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_icon_equal(IntPtr raw, IntPtr icon2);
+
+		public bool Equal(GLib.Icon icon2) {
+			bool raw_ret = g_icon_equal(Handle, icon2 == null ? IntPtr.Zero : icon2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/EmblemOrigin.cs b/lib/gio-sharp/gio/generated/EmblemOrigin.cs
new file mode 100644
index 0000000..06ef067
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/EmblemOrigin.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.EmblemOriginGType))]
+	public enum EmblemOrigin {
+
+		Unknown,
+		Device,
+		Livemetadata,
+		Tag,
+	}
+
+	internal class EmblemOriginGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblem_origin_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_emblem_origin_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/EmblemedIcon.cs b/lib/gio-sharp/gio/generated/EmblemedIcon.cs
new file mode 100644
index 0000000..72663af
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/EmblemedIcon.cs
@@ -0,0 +1,88 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class EmblemedIcon : GLib.Object, GLib.Icon {
+
+		[Obsolete]
+		protected EmblemedIcon(GLib.GType gtype) : base(gtype) {}
+		public EmblemedIcon(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblemed_icon_new(IntPtr icon, IntPtr emblem);
+
+		public EmblemedIcon (GLib.Icon icon, GLib.Emblem emblem) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (EmblemedIcon)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			Raw = g_emblemed_icon_new(icon == null ? IntPtr.Zero : icon.Handle, emblem == null ? IntPtr.Zero : emblem.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_emblemed_icon_add_emblem(IntPtr raw, IntPtr emblem);
+
+		public void AddEmblem(GLib.Emblem emblem) {
+			g_emblemed_icon_add_emblem(Handle, emblem == null ? IntPtr.Zero : emblem.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblemed_icon_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_emblemed_icon_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblemed_icon_get_emblems(IntPtr raw);
+
+		public GLib.List Emblems { 
+			get {
+				IntPtr raw_ret = g_emblemed_icon_get_emblems(Handle);
+				GLib.List ret = new GLib.List(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_emblemed_icon_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_emblemed_icon_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_to_string(IntPtr raw);
+
+		public override string ToString() {
+			IntPtr raw_ret = g_icon_to_string(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_icon_equal(IntPtr raw, IntPtr icon2);
+
+		public bool Equal(GLib.Icon icon2) {
+			bool raw_ret = g_icon_equal(Handle, icon2 == null ? IntPtr.Zero : icon2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/File.cs b/lib/gio-sharp/gio/generated/File.cs
new file mode 100644
index 0000000..9f5917c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/File.cs
@@ -0,0 +1,271 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface File : GLib.IWrapper {
+
+		void CreateAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		string Path { 
+			get;
+		}
+		bool ReplaceContentsFinish(GLib.AsyncResult res, string new_etag);
+		bool Move(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);
+		GLib.FileMonitor Monitor(GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);
+		GLib.File GetChild(string name);
+		bool QueryExists(GLib.Cancellable cancellable);
+		GLib.FileEnumerator EnumerateChildrenFinish(GLib.AsyncResult res);
+		void MountEnclosingVolume(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool MakeDirectory(GLib.Cancellable cancellable);
+		GLib.FileOutputStream ReplaceFinish(GLib.AsyncResult res);
+		void QueryFilesystemInfoAsync(string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void SetDisplayNameAsync(string display_name, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileOutputStream CreateFinish(GLib.AsyncResult res);
+		GLib.FileAttributeInfoList QueryWritableNamespaces(GLib.Cancellable cancellable);
+		bool EjectMountableWithOperationFinish(GLib.AsyncResult result);
+		bool SetAttributesFromInfo(GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		string UriScheme { 
+			get;
+		}
+		void StopMountable(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool MakeDirectoryWithParents(GLib.Cancellable cancellable);
+		bool StartMountableFinish(GLib.AsyncResult result);
+		void EnumerateChildrenAsync(string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool SetAttributesFinish(GLib.AsyncResult result, GLib.FileInfo info);
+		void ReplaceAsync(string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.File Dup();
+		GLib.Mount FindEnclosingMount(GLib.Cancellable cancellable);
+		bool MountEnclosingVolumeFinish(GLib.AsyncResult result);
+		bool EjectMountableFinish(GLib.AsyncResult result);
+		bool SetAttributeUint64(string attribute, ulong value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		bool LoadPartialContentsFinish(GLib.AsyncResult res, string contents, out ulong length, string etag_out);
+		GLib.FileIOStream ReplaceReadwrite(string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void QueryInfoAsync(string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool SetAttributeInt64(string attribute, long value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.File ResolveRelativePath(string relative_path);
+		GLib.File MountMountableFinish(GLib.AsyncResult result);
+		GLib.FileOutputStream Create(GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		bool HasUriScheme(string uri_scheme);
+		GLib.FileInputStream ReadFinish(GLib.AsyncResult res);
+		GLib.FileEnumerator EnumerateChildren(string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		bool SupportsThreadContexts();
+		void StartMountable(GLib.DriveStartFlags flags, GLib.MountOperation start_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void MountMountable(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool LoadContentsFinish(GLib.AsyncResult res, string contents, out ulong length, string etag_out);
+		void OpenReadwriteAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void LoadPartialContentsAsync(GLib.Cancellable cancellable, GLib.FileReadMoreCallback read_more_callback, GLib.AsyncReadyCallback cb);
+		bool StopMountableFinish(GLib.AsyncResult result);
+		void ReplaceContentsAsync(string contents, string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void CopyAsync(GLib.File destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);
+		void EjectMountableWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void UnmountMountableWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool MakeSymbolicLink(string symlink_value, GLib.Cancellable cancellable);
+		bool SetAttributeString(string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		bool UnmountMountableWithOperationFinish(GLib.AsyncResult result);
+		bool Copy(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);
+		bool SetAttributeByteString(string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.FileOutputStream AppendToFinish(GLib.AsyncResult res);
+		bool CopyAttributes(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable);
+		void PollMountable(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool PollMountableFinish(GLib.AsyncResult result);
+		GLib.FileInfo QueryInfo(string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		bool Delete(GLib.Cancellable cancellable);
+		bool Equal(GLib.File file2);
+		GLib.File SetDisplayNameFinish(GLib.AsyncResult res);
+		void SetAttributesAsync(GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileType QueryFileType(GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.AppInfo QueryDefaultHandler(GLib.Cancellable cancellable);
+		GLib.FileInfo QueryInfoFinish(GLib.AsyncResult res);
+		GLib.FileInputStream Read(GLib.Cancellable cancellable);
+		bool SetAttribute(string attribute, GLib.FileAttributeType type, IntPtr value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.FileInfo QueryFilesystemInfo(string attributes, GLib.Cancellable cancellable);
+		GLib.File Parent { 
+			get;
+		}
+		string ParsedName { 
+			get;
+		}
+		GLib.FileOutputStream Replace(string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		string Uri { 
+			get;
+		}
+		GLib.FileInfo QueryFilesystemInfoFinish(GLib.AsyncResult res);
+		void ReadAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		string GetRelativePath(GLib.File descendant);
+		GLib.FileAttributeInfoList QuerySettableAttributes(GLib.Cancellable cancellable);
+		bool LoadContents(GLib.Cancellable cancellable, string contents, out ulong length, string etag_out);
+		void LoadContentsAsync(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void CreateReadwriteAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileIOStream ReplaceReadwriteFinish(GLib.AsyncResult res);
+		bool UnmountMountableFinish(GLib.AsyncResult result);
+		string Basename { 
+			get;
+		}
+		bool SetAttributeInt32(string attribute, int value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.FileIOStream CreateReadwrite(GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void EjectMountable(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void AppendToAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.Mount FindEnclosingMountFinish(GLib.AsyncResult res);
+		void ReplaceReadwriteAsync(string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool HasPrefix(GLib.File prefix);
+		bool IsNative { 
+			get;
+		}
+		void FindEnclosingMountAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.File GetChildForDisplayName(string display_name);
+		GLib.FileIOStream CreateReadwriteFinish(GLib.AsyncResult res);
+		GLib.FileIOStream OpenReadwriteFinish(GLib.AsyncResult res);
+		GLib.File SetDisplayName(string display_name, GLib.Cancellable cancellable);
+		GLib.FileIOStream OpenReadwrite(GLib.Cancellable cancellable);
+		bool ReplaceContents(string contents, string etag, bool make_backup, GLib.FileCreateFlags flags, string new_etag, GLib.Cancellable cancellable);
+		bool SetAttributeUint32(string attribute, uint value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		GLib.FileOutputStream AppendTo(GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		bool Trash(GLib.Cancellable cancellable);
+		void UnmountMountable(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool CopyFinish(GLib.AsyncResult res);
+#region Customized extensions
+#line 1 "File.custom"
+// File.custom - customizations to GLib.File
+//
+// Authors: Stephane Delcroix  <stephane delcroix org>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+bool Exists
+{
+	get;
+}
+
+bool Delete();
+
+#endregion
+	}
+
+	[GLib.GInterface (typeof (FileAdapter))]
+	public interface FileImplementor : GLib.IWrapper {
+
+		GLib.File Dup ();
+		uint Hash ();
+		bool Equal (GLib.File file2);
+		bool IsNative { get; }
+		bool HasUriScheme (string uri_scheme);
+		string UriScheme { get; }
+		string Basename { get; }
+		string Path { get; }
+		string Uri { get; }
+		string ParseName { get; }
+		GLib.File Parent { get; }
+		bool PrefixMatches (GLib.File file);
+		string GetRelativePath (GLib.File descendant);
+		GLib.File ResolveRelativePath (string relative_path);
+		GLib.File GetChildForDisplayName (string display_name);
+		GLib.FileEnumerator EnumerateChildren (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		void EnumerateChildrenAsync (string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileEnumerator EnumerateChildrenFinish (GLib.AsyncResult res);
+		GLib.FileInfo QueryInfo (string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		void QueryInfoAsync (string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileInfo QueryInfoFinish (GLib.AsyncResult res);
+		GLib.FileInfo QueryFilesystemInfo (string attributes, GLib.Cancellable cancellable);
+		void QueryFilesystemInfoAsync (string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileInfo QueryFilesystemInfoFinish (GLib.AsyncResult res);
+		GLib.Mount FindEnclosingMount (GLib.Cancellable cancellable);
+		void FindEnclosingMountAsync (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.Mount FindEnclosingMountFinish (GLib.AsyncResult res);
+		GLib.File SetDisplayName (string display_name, GLib.Cancellable cancellable);
+		void SetDisplayNameAsync (string display_name, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.File SetDisplayNameFinish (GLib.AsyncResult res);
+		GLib.FileAttributeInfoList QuerySettableAttributes (GLib.Cancellable cancellable);
+		void QuerySettableAttributesAsync ();
+		void QuerySettableAttributesFinish ();
+		GLib.FileAttributeInfoList QueryWritableNamespaces (GLib.Cancellable cancellable);
+		void QueryWritableNamespacesAsync ();
+		void QueryWritableNamespacesFinish ();
+		bool SetAttribute (string attribute, GLib.FileAttributeType type, IntPtr value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		bool SetAttributesFromInfo (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable);
+		void SetAttributesAsync (GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool SetAttributesFinish (GLib.AsyncResult result, GLib.FileInfo info);
+		GLib.FileInputStream ReadFn (GLib.Cancellable cancellable);
+		void ReadAsync (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileInputStream ReadFinish (GLib.AsyncResult res);
+		GLib.FileOutputStream AppendTo (GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void AppendToAsync (GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileOutputStream AppendToFinish (GLib.AsyncResult res);
+		GLib.FileOutputStream Create (GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void CreateAsync (GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileOutputStream CreateFinish (GLib.AsyncResult res);
+		GLib.FileOutputStream Replace (string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void ReplaceAsync (string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileOutputStream ReplaceFinish (GLib.AsyncResult res);
+		bool DeleteFile (GLib.Cancellable cancellable);
+		void DeleteFileAsync ();
+		void DeleteFileFinish ();
+		bool Trash (GLib.Cancellable cancellable);
+		void TrashAsync ();
+		void TrashFinish ();
+		bool MakeDirectory (GLib.Cancellable cancellable);
+		void MakeDirectoryAsync ();
+		void MakeDirectoryFinish ();
+		bool MakeSymbolicLink (string symlink_value, GLib.Cancellable cancellable);
+		void MakeSymbolicLinkAsync ();
+		void MakeSymbolicLinkFinish ();
+		bool Copy (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);
+		void CopyAsync (GLib.File destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);
+		bool CopyFinish (GLib.AsyncResult res);
+		bool Move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);
+		void MoveAsync ();
+		void MoveFinish ();
+		void MountMountable (GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.File MountMountableFinish (GLib.AsyncResult result);
+		void UnmountMountable (GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool UnmountMountableFinish (GLib.AsyncResult result);
+		void EjectMountable (GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool EjectMountableFinish (GLib.AsyncResult result);
+		void MountEnclosingVolume (GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool MountEnclosingVolumeFinish (GLib.AsyncResult result);
+		GLib.FileMonitor MonitorDir (GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);
+		GLib.FileMonitor MonitorFile (GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);
+		GLib.FileIOStream OpenReadwrite (GLib.Cancellable cancellable);
+		void OpenReadwriteAsync (int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileIOStream OpenReadwriteFinish (GLib.AsyncResult res);
+		GLib.FileIOStream CreateReadwrite (GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void CreateReadwriteAsync (GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileIOStream CreateReadwriteFinish (GLib.AsyncResult res);
+		GLib.FileIOStream ReplaceReadwrite (string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable);
+		void ReplaceReadwriteAsync (string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.FileIOStream ReplaceReadwriteFinish (GLib.AsyncResult res);
+		void StartMountable (GLib.DriveStartFlags flags, GLib.MountOperation start_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool StartMountableFinish (GLib.AsyncResult result);
+		void StopMountable (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool StopMountableFinish (GLib.AsyncResult result);
+		void UnmountMountableWithOperation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool UnmountMountableWithOperationFinish (GLib.AsyncResult result);
+		void EjectMountableWithOperation (GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool EjectMountableWithOperationFinish (GLib.AsyncResult result);
+		void PollMountable (GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool PollMountableFinish (GLib.AsyncResult result);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileAdapter.cs b/lib/gio-sharp/gio/generated/FileAdapter.cs
new file mode 100644
index 0000000..057c8a6
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAdapter.cs
@@ -0,0 +1,2895 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileAdapter : GLib.GInterfaceAdapter, GLib.File {
+
+		static FileIface iface;
+
+		struct FileIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public DupDelegate dup;
+			public HashDelegate hash;
+			public EqualDelegate equal;
+			public IsNativeDelegate is_native;
+			public HasUriSchemeDelegate has_uri_scheme;
+			public GetUriSchemeDelegate get_uri_scheme;
+			public GetBasenameDelegate get_basename;
+			public GetPathDelegate get_path;
+			public GetUriDelegate get_uri;
+			public IntPtr get_parse_name;
+			public GetParentDelegate get_parent;
+			public IntPtr prefix_matches;
+			public GetRelativePathDelegate get_relative_path;
+			public ResolveRelativePathDelegate resolve_relative_path;
+			public GetChildForDisplayNameDelegate get_child_for_display_name;
+			public EnumerateChildrenDelegate enumerate_children;
+			public EnumerateChildrenAsyncDelegate enumerate_children_async;
+			public EnumerateChildrenFinishDelegate enumerate_children_finish;
+			public QueryInfoDelegate query_info;
+			public QueryInfoAsyncDelegate query_info_async;
+			public QueryInfoFinishDelegate query_info_finish;
+			public QueryFilesystemInfoDelegate query_filesystem_info;
+			public QueryFilesystemInfoAsyncDelegate query_filesystem_info_async;
+			public QueryFilesystemInfoFinishDelegate query_filesystem_info_finish;
+			public FindEnclosingMountDelegate find_enclosing_mount;
+			public FindEnclosingMountAsyncDelegate find_enclosing_mount_async;
+			public FindEnclosingMountFinishDelegate find_enclosing_mount_finish;
+			public SetDisplayNameDelegate set_display_name;
+			public SetDisplayNameAsyncDelegate set_display_name_async;
+			public SetDisplayNameFinishDelegate set_display_name_finish;
+			public QuerySettableAttributesDelegate query_settable_attributes;
+			public IntPtr _query_settable_attributes_async;
+			public IntPtr _query_settable_attributes_finish;
+			public QueryWritableNamespacesDelegate query_writable_namespaces;
+			public IntPtr _query_writable_namespaces_async;
+			public IntPtr _query_writable_namespaces_finish;
+			public SetAttributeDelegate set_attribute;
+			public SetAttributesFromInfoDelegate set_attributes_from_info;
+			public SetAttributesAsyncDelegate set_attributes_async;
+			public SetAttributesFinishDelegate set_attributes_finish;
+			public IntPtr read_fn;
+			public ReadAsyncDelegate read_async;
+			public ReadFinishDelegate read_finish;
+			public AppendToDelegate append_to;
+			public AppendToAsyncDelegate append_to_async;
+			public AppendToFinishDelegate append_to_finish;
+			public CreateDelegate create;
+			public CreateAsyncDelegate create_async;
+			public CreateFinishDelegate create_finish;
+			public ReplaceDelegate replace;
+			public ReplaceAsyncDelegate replace_async;
+			public ReplaceFinishDelegate replace_finish;
+			public IntPtr delete_file;
+			public IntPtr _delete_file_async;
+			public IntPtr _delete_file_finish;
+			public TrashDelegate trash;
+			public IntPtr _trash_async;
+			public IntPtr _trash_finish;
+			public MakeDirectoryDelegate make_directory;
+			public IntPtr _make_directory_async;
+			public IntPtr _make_directory_finish;
+			public MakeSymbolicLinkDelegate make_symbolic_link;
+			public IntPtr _make_symbolic_link_async;
+			public IntPtr _make_symbolic_link_finish;
+			public CopyDelegate copy;
+			public CopyAsyncDelegate copy_async;
+			public CopyFinishDelegate copy_finish;
+			public MoveDelegate move;
+			public IntPtr _move_async;
+			public IntPtr _move_finish;
+			public MountMountableDelegate mount_mountable;
+			public MountMountableFinishDelegate mount_mountable_finish;
+			public UnmountMountableDelegate unmount_mountable;
+			public UnmountMountableFinishDelegate unmount_mountable_finish;
+			public EjectMountableDelegate eject_mountable;
+			public EjectMountableFinishDelegate eject_mountable_finish;
+			public MountEnclosingVolumeDelegate mount_enclosing_volume;
+			public MountEnclosingVolumeFinishDelegate mount_enclosing_volume_finish;
+			public IntPtr monitor_dir;
+			public IntPtr monitor_file;
+			public OpenReadwriteDelegate open_readwrite;
+			public OpenReadwriteAsyncDelegate open_readwrite_async;
+			public OpenReadwriteFinishDelegate open_readwrite_finish;
+			public CreateReadwriteDelegate create_readwrite;
+			public CreateReadwriteAsyncDelegate create_readwrite_async;
+			public CreateReadwriteFinishDelegate create_readwrite_finish;
+			public ReplaceReadwriteDelegate replace_readwrite;
+			public ReplaceReadwriteAsyncDelegate replace_readwrite_async;
+			public ReplaceReadwriteFinishDelegate replace_readwrite_finish;
+			public StartMountableDelegate start_mountable;
+			public StartMountableFinishDelegate start_mountable_finish;
+			public StopMountableDelegate stop_mountable;
+			public StopMountableFinishDelegate stop_mountable_finish;
+			public UnmountMountableWithOperationDelegate unmount_mountable_with_operation;
+			public UnmountMountableWithOperationFinishDelegate unmount_mountable_with_operation_finish;
+			public EjectMountableWithOperationDelegate eject_mountable_with_operation;
+			public EjectMountableWithOperationFinishDelegate eject_mountable_with_operation_finish;
+			public PollMountableDelegate poll_mountable;
+			public PollMountableFinishDelegate poll_mountable_finish;
+		}
+
+		static FileAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(FileAdapter));
+			iface.dup = new DupDelegate (DupCallback);
+			iface.hash = new HashDelegate (HashCallback);
+			iface.equal = new EqualDelegate (EqualCallback);
+			iface.is_native = new IsNativeDelegate (IsNativeCallback);
+			iface.has_uri_scheme = new HasUriSchemeDelegate (HasUriSchemeCallback);
+			iface.get_uri_scheme = new GetUriSchemeDelegate (GetUriSchemeCallback);
+			iface.get_basename = new GetBasenameDelegate (GetBasenameCallback);
+			iface.get_path = new GetPathDelegate (GetPathCallback);
+			iface.get_uri = new GetUriDelegate (GetUriCallback);
+			iface.get_parent = new GetParentDelegate (GetParentCallback);
+			iface.get_relative_path = new GetRelativePathDelegate (GetRelativePathCallback);
+			iface.resolve_relative_path = new ResolveRelativePathDelegate (ResolveRelativePathCallback);
+			iface.get_child_for_display_name = new GetChildForDisplayNameDelegate (GetChildForDisplayNameCallback);
+			iface.enumerate_children = new EnumerateChildrenDelegate (EnumerateChildrenCallback);
+			iface.enumerate_children_async = new EnumerateChildrenAsyncDelegate (EnumerateChildrenAsyncCallback);
+			iface.enumerate_children_finish = new EnumerateChildrenFinishDelegate (EnumerateChildrenFinishCallback);
+			iface.query_info = new QueryInfoDelegate (QueryInfoCallback);
+			iface.query_info_async = new QueryInfoAsyncDelegate (QueryInfoAsyncCallback);
+			iface.query_info_finish = new QueryInfoFinishDelegate (QueryInfoFinishCallback);
+			iface.query_filesystem_info = new QueryFilesystemInfoDelegate (QueryFilesystemInfoCallback);
+			iface.query_filesystem_info_async = new QueryFilesystemInfoAsyncDelegate (QueryFilesystemInfoAsyncCallback);
+			iface.query_filesystem_info_finish = new QueryFilesystemInfoFinishDelegate (QueryFilesystemInfoFinishCallback);
+			iface.find_enclosing_mount = new FindEnclosingMountDelegate (FindEnclosingMountCallback);
+			iface.find_enclosing_mount_async = new FindEnclosingMountAsyncDelegate (FindEnclosingMountAsyncCallback);
+			iface.find_enclosing_mount_finish = new FindEnclosingMountFinishDelegate (FindEnclosingMountFinishCallback);
+			iface.set_display_name = new SetDisplayNameDelegate (SetDisplayNameCallback);
+			iface.set_display_name_async = new SetDisplayNameAsyncDelegate (SetDisplayNameAsyncCallback);
+			iface.set_display_name_finish = new SetDisplayNameFinishDelegate (SetDisplayNameFinishCallback);
+			iface.query_settable_attributes = new QuerySettableAttributesDelegate (QuerySettableAttributesCallback);
+			iface.query_writable_namespaces = new QueryWritableNamespacesDelegate (QueryWritableNamespacesCallback);
+			iface.set_attribute = new SetAttributeDelegate (SetAttributeCallback);
+			iface.set_attributes_from_info = new SetAttributesFromInfoDelegate (SetAttributesFromInfoCallback);
+			iface.set_attributes_async = new SetAttributesAsyncDelegate (SetAttributesAsyncCallback);
+			iface.set_attributes_finish = new SetAttributesFinishDelegate (SetAttributesFinishCallback);
+			iface.read_async = new ReadAsyncDelegate (ReadAsyncCallback);
+			iface.read_finish = new ReadFinishDelegate (ReadFinishCallback);
+			iface.append_to = new AppendToDelegate (AppendToCallback);
+			iface.append_to_async = new AppendToAsyncDelegate (AppendToAsyncCallback);
+			iface.append_to_finish = new AppendToFinishDelegate (AppendToFinishCallback);
+			iface.create = new CreateDelegate (CreateCallback);
+			iface.create_async = new CreateAsyncDelegate (CreateAsyncCallback);
+			iface.create_finish = new CreateFinishDelegate (CreateFinishCallback);
+			iface.replace = new ReplaceDelegate (ReplaceCallback);
+			iface.replace_async = new ReplaceAsyncDelegate (ReplaceAsyncCallback);
+			iface.replace_finish = new ReplaceFinishDelegate (ReplaceFinishCallback);
+			iface.trash = new TrashDelegate (TrashCallback);
+			iface.make_directory = new MakeDirectoryDelegate (MakeDirectoryCallback);
+			iface.make_symbolic_link = new MakeSymbolicLinkDelegate (MakeSymbolicLinkCallback);
+			iface.copy = new CopyDelegate (CopyCallback);
+			iface.copy_async = new CopyAsyncDelegate (CopyAsyncCallback);
+			iface.copy_finish = new CopyFinishDelegate (CopyFinishCallback);
+			iface.move = new MoveDelegate (MoveCallback);
+			iface.mount_mountable = new MountMountableDelegate (MountMountableCallback);
+			iface.mount_mountable_finish = new MountMountableFinishDelegate (MountMountableFinishCallback);
+			iface.unmount_mountable = new UnmountMountableDelegate (UnmountMountableCallback);
+			iface.unmount_mountable_finish = new UnmountMountableFinishDelegate (UnmountMountableFinishCallback);
+			iface.eject_mountable = new EjectMountableDelegate (EjectMountableCallback);
+			iface.eject_mountable_finish = new EjectMountableFinishDelegate (EjectMountableFinishCallback);
+			iface.mount_enclosing_volume = new MountEnclosingVolumeDelegate (MountEnclosingVolumeCallback);
+			iface.mount_enclosing_volume_finish = new MountEnclosingVolumeFinishDelegate (MountEnclosingVolumeFinishCallback);
+			iface.open_readwrite = new OpenReadwriteDelegate (OpenReadwriteCallback);
+			iface.open_readwrite_async = new OpenReadwriteAsyncDelegate (OpenReadwriteAsyncCallback);
+			iface.open_readwrite_finish = new OpenReadwriteFinishDelegate (OpenReadwriteFinishCallback);
+			iface.create_readwrite = new CreateReadwriteDelegate (CreateReadwriteCallback);
+			iface.create_readwrite_async = new CreateReadwriteAsyncDelegate (CreateReadwriteAsyncCallback);
+			iface.create_readwrite_finish = new CreateReadwriteFinishDelegate (CreateReadwriteFinishCallback);
+			iface.replace_readwrite = new ReplaceReadwriteDelegate (ReplaceReadwriteCallback);
+			iface.replace_readwrite_async = new ReplaceReadwriteAsyncDelegate (ReplaceReadwriteAsyncCallback);
+			iface.replace_readwrite_finish = new ReplaceReadwriteFinishDelegate (ReplaceReadwriteFinishCallback);
+			iface.start_mountable = new StartMountableDelegate (StartMountableCallback);
+			iface.start_mountable_finish = new StartMountableFinishDelegate (StartMountableFinishCallback);
+			iface.stop_mountable = new StopMountableDelegate (StopMountableCallback);
+			iface.stop_mountable_finish = new StopMountableFinishDelegate (StopMountableFinishCallback);
+			iface.unmount_mountable_with_operation = new UnmountMountableWithOperationDelegate (UnmountMountableWithOperationCallback);
+			iface.unmount_mountable_with_operation_finish = new UnmountMountableWithOperationFinishDelegate (UnmountMountableWithOperationFinishCallback);
+			iface.eject_mountable_with_operation = new EjectMountableWithOperationDelegate (EjectMountableWithOperationCallback);
+			iface.eject_mountable_with_operation_finish = new EjectMountableWithOperationFinishDelegate (EjectMountableWithOperationFinishCallback);
+			iface.poll_mountable = new PollMountableDelegate (PollMountableCallback);
+			iface.poll_mountable_finish = new PollMountableFinishDelegate (PollMountableFinishCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate IntPtr DupDelegate (IntPtr file);
+
+		static IntPtr DupCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.Dup ();
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate uint HashDelegate (IntPtr file);
+
+		static uint HashCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				uint __result = __obj.Hash ();
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool EqualDelegate (IntPtr file1, IntPtr file2);
+
+		static bool EqualCallback (IntPtr file1, IntPtr file2)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file1, false) as GLib.FileImplementor;
+				bool __result = __obj.Equal (GLib.FileAdapter.GetObject (file2, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool IsNativeDelegate (IntPtr file);
+
+		static bool IsNativeCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.IsNative;
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool HasUriSchemeDelegate (IntPtr file, IntPtr uri_scheme);
+
+		static bool HasUriSchemeCallback (IntPtr file, IntPtr uri_scheme)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.HasUriScheme (GLib.Marshaller.Utf8PtrToString (uri_scheme));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetUriSchemeDelegate (IntPtr file);
+
+		static IntPtr GetUriSchemeCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				string __result = __obj.UriScheme;
+				return GLib.Marshaller.StringToPtrGStrdup(__result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetBasenameDelegate (IntPtr file);
+
+		static IntPtr GetBasenameCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				string __result = __obj.Basename;
+				return GLib.Marshaller.StringToPtrGStrdup(__result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetPathDelegate (IntPtr file);
+
+		static IntPtr GetPathCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				string __result = __obj.Path;
+				return GLib.Marshaller.StringToPtrGStrdup(__result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetUriDelegate (IntPtr file);
+
+		static IntPtr GetUriCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				string __result = __obj.Uri;
+				return GLib.Marshaller.StringToPtrGStrdup(__result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetParentDelegate (IntPtr file);
+
+		static IntPtr GetParentCallback (IntPtr file)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.Parent;
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetRelativePathDelegate (IntPtr parent, IntPtr descendant);
+
+		static IntPtr GetRelativePathCallback (IntPtr parent, IntPtr descendant)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (parent, false) as GLib.FileImplementor;
+				string __result = __obj.GetRelativePath (GLib.FileAdapter.GetObject (descendant, false));
+				return GLib.Marshaller.StringToPtrGStrdup(__result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ResolveRelativePathDelegate (IntPtr file, IntPtr relative_path);
+
+		static IntPtr ResolveRelativePathCallback (IntPtr file, IntPtr relative_path)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.ResolveRelativePath (GLib.Marshaller.Utf8PtrToString (relative_path));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr GetChildForDisplayNameDelegate (IntPtr file, IntPtr display_name, out IntPtr error);
+
+		static IntPtr GetChildForDisplayNameCallback (IntPtr file, IntPtr display_name, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.GetChildForDisplayName (GLib.Marshaller.Utf8PtrToString (display_name));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr EnumerateChildrenDelegate (IntPtr file, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr EnumerateChildrenCallback (IntPtr file, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileEnumerator __result = __obj.EnumerateChildren (GLib.Marshaller.Utf8PtrToString (attributes), (GLib.FileQueryInfoFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void EnumerateChildrenAsyncDelegate (IntPtr file, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void EnumerateChildrenAsyncCallback (IntPtr file, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.EnumerateChildrenAsync (GLib.Marshaller.Utf8PtrToString (attributes), (GLib.FileQueryInfoFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr EnumerateChildrenFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr EnumerateChildrenFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileEnumerator __result = __obj.EnumerateChildrenFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QueryInfoDelegate (IntPtr file, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr QueryInfoCallback (IntPtr file, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileInfo __result = __obj.QueryInfo (GLib.Marshaller.Utf8PtrToString (attributes), (GLib.FileQueryInfoFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void QueryInfoAsyncDelegate (IntPtr file, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void QueryInfoAsyncCallback (IntPtr file, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.QueryInfoAsync (GLib.Marshaller.Utf8PtrToString (attributes), (GLib.FileQueryInfoFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QueryInfoFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr QueryInfoFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileInfo __result = __obj.QueryInfoFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QueryFilesystemInfoDelegate (IntPtr file, IntPtr attributes, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr QueryFilesystemInfoCallback (IntPtr file, IntPtr attributes, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileInfo __result = __obj.QueryFilesystemInfo (GLib.Marshaller.Utf8PtrToString (attributes), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void QueryFilesystemInfoAsyncDelegate (IntPtr file, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void QueryFilesystemInfoAsyncCallback (IntPtr file, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.QueryFilesystemInfoAsync (GLib.Marshaller.Utf8PtrToString (attributes), io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QueryFilesystemInfoFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr QueryFilesystemInfoFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileInfo __result = __obj.QueryFilesystemInfoFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr FindEnclosingMountDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr FindEnclosingMountCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.Mount __result = __obj.FindEnclosingMount (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void FindEnclosingMountAsyncDelegate (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void FindEnclosingMountAsyncCallback (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.FindEnclosingMountAsync (io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr FindEnclosingMountFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr FindEnclosingMountFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.Mount __result = __obj.FindEnclosingMountFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr SetDisplayNameDelegate (IntPtr file, IntPtr display_name, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr SetDisplayNameCallback (IntPtr file, IntPtr display_name, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.SetDisplayName (GLib.Marshaller.Utf8PtrToString (display_name), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SetDisplayNameAsyncDelegate (IntPtr file, IntPtr display_name, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void SetDisplayNameAsyncCallback (IntPtr file, IntPtr display_name, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.SetDisplayNameAsync (GLib.Marshaller.Utf8PtrToString (display_name), io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr SetDisplayNameFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr SetDisplayNameFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.SetDisplayNameFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QuerySettableAttributesDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr QuerySettableAttributesCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileAttributeInfoList __result = __obj.QuerySettableAttributes (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr QueryWritableNamespacesDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr QueryWritableNamespacesCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileAttributeInfoList __result = __obj.QueryWritableNamespaces (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool SetAttributeDelegate (IntPtr file, IntPtr attribute, int type, IntPtr value_p, int flags, IntPtr cancellable, out IntPtr error);
+
+		static bool SetAttributeCallback (IntPtr file, IntPtr attribute, int type, IntPtr value_p, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.SetAttribute (GLib.Marshaller.Utf8PtrToString (attribute), (GLib.FileAttributeType) type, value_p, (GLib.FileQueryInfoFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool SetAttributesFromInfoDelegate (IntPtr file, IntPtr info, int flags, IntPtr cancellable, out IntPtr error);
+
+		static bool SetAttributesFromInfoCallback (IntPtr file, IntPtr info, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.SetAttributesFromInfo (GLib.Object.GetObject(info) as GLib.FileInfo, (GLib.FileQueryInfoFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void SetAttributesAsyncDelegate (IntPtr file, IntPtr info, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void SetAttributesAsyncCallback (IntPtr file, IntPtr info, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.SetAttributesAsync (GLib.Object.GetObject(info) as GLib.FileInfo, (GLib.FileQueryInfoFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool SetAttributesFinishDelegate (IntPtr file, IntPtr result, IntPtr info, out IntPtr error);
+
+		static bool SetAttributesFinishCallback (IntPtr file, IntPtr result, IntPtr info, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.SetAttributesFinish (GLib.AsyncResultAdapter.GetObject (result, false), GLib.Object.GetObject(info) as GLib.FileInfo);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ReadAsyncDelegate (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void ReadAsyncCallback (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.ReadAsync (io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ReadFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr ReadFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileInputStream __result = __obj.ReadFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr AppendToDelegate (IntPtr file, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr AppendToCallback (IntPtr file, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.AppendTo ((GLib.FileCreateFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void AppendToAsyncDelegate (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void AppendToAsyncCallback (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.AppendToAsync ((GLib.FileCreateFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr AppendToFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr AppendToFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.AppendToFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr CreateDelegate (IntPtr file, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr CreateCallback (IntPtr file, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.Create ((GLib.FileCreateFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CreateAsyncDelegate (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void CreateAsyncCallback (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.CreateAsync ((GLib.FileCreateFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr CreateFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr CreateFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.CreateFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ReplaceDelegate (IntPtr file, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr ReplaceCallback (IntPtr file, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.Replace (GLib.Marshaller.Utf8PtrToString (etag), make_backup, (GLib.FileCreateFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ReplaceAsyncDelegate (IntPtr file, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void ReplaceAsyncCallback (IntPtr file, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.ReplaceAsync (GLib.Marshaller.Utf8PtrToString (etag), make_backup, (GLib.FileCreateFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ReplaceFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr ReplaceFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileOutputStream __result = __obj.ReplaceFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool TrashDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static bool TrashCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.Trash (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool MakeDirectoryDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static bool MakeDirectoryCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.MakeDirectory (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool MakeSymbolicLinkDelegate (IntPtr file, IntPtr symlink_value, IntPtr cancellable, out IntPtr error);
+
+		static bool MakeSymbolicLinkCallback (IntPtr file, IntPtr symlink_value, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.MakeSymbolicLink (GLib.Marshaller.Utf8PtrToString (symlink_value), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool CopyDelegate (IntPtr source, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error);
+
+		static bool CopyCallback (IntPtr source, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (source, false) as GLib.FileImplementor;
+				GLibSharp.FileProgressCallbackInvoker progress_callback_invoker = new GLibSharp.FileProgressCallbackInvoker (progress_callback, progress_callback_data);
+				bool __result = __obj.Copy (GLib.FileAdapter.GetObject (destination, false), (GLib.FileCopyFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable, progress_callback_invoker.Handler);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CopyAsyncDelegate (IntPtr source, IntPtr destination, int flags, int io_priority, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void CopyAsyncCallback (IntPtr source, IntPtr destination, int flags, int io_priority, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (source, false) as GLib.FileImplementor;
+				GLibSharp.FileProgressCallbackInvoker progress_callback_invoker = new GLibSharp.FileProgressCallbackInvoker (progress_callback, user_data);
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.CopyAsync (GLib.FileAdapter.GetObject (destination, false), (GLib.FileCopyFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, progress_callback_invoker.Handler, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool CopyFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static bool CopyFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.CopyFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool MoveDelegate (IntPtr source, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error);
+
+		static bool MoveCallback (IntPtr source, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (source, false) as GLib.FileImplementor;
+				GLibSharp.FileProgressCallbackInvoker progress_callback_invoker = new GLibSharp.FileProgressCallbackInvoker (progress_callback, progress_callback_data);
+				bool __result = __obj.Move (GLib.FileAdapter.GetObject (destination, false), (GLib.FileCopyFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable, progress_callback_invoker.Handler);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountMountableDelegate (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void MountMountableCallback (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.MountMountable ((GLib.MountMountFlags) flags, GLib.Object.GetObject(mount_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr MountMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static IntPtr MountMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.File __result = __obj.MountMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void UnmountMountableDelegate (IntPtr file, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void UnmountMountableCallback (IntPtr file, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.UnmountMountable ((GLib.MountUnmountFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool UnmountMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool UnmountMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.UnmountMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void EjectMountableDelegate (IntPtr file, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void EjectMountableCallback (IntPtr file, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.EjectMountable ((GLib.MountUnmountFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool EjectMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool EjectMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.EjectMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountEnclosingVolumeDelegate (IntPtr location, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void MountEnclosingVolumeCallback (IntPtr location, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (location, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.MountEnclosingVolume ((GLib.MountMountFlags) flags, GLib.Object.GetObject(mount_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool MountEnclosingVolumeFinishDelegate (IntPtr location, IntPtr result, out IntPtr error);
+
+		static bool MountEnclosingVolumeFinishCallback (IntPtr location, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (location, false) as GLib.FileImplementor;
+				bool __result = __obj.MountEnclosingVolumeFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr OpenReadwriteDelegate (IntPtr file, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr OpenReadwriteCallback (IntPtr file, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.OpenReadwrite (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void OpenReadwriteAsyncDelegate (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void OpenReadwriteAsyncCallback (IntPtr file, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.OpenReadwriteAsync (io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr OpenReadwriteFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr OpenReadwriteFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.OpenReadwriteFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr CreateReadwriteDelegate (IntPtr file, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr CreateReadwriteCallback (IntPtr file, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.CreateReadwrite ((GLib.FileCreateFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void CreateReadwriteAsyncDelegate (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void CreateReadwriteAsyncCallback (IntPtr file, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.CreateReadwriteAsync ((GLib.FileCreateFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr CreateReadwriteFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr CreateReadwriteFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.CreateReadwriteFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ReplaceReadwriteDelegate (IntPtr file, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr ReplaceReadwriteCallback (IntPtr file, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.ReplaceReadwrite (GLib.Marshaller.Utf8PtrToString (etag), make_backup, (GLib.FileCreateFlags) flags, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ReplaceReadwriteAsyncDelegate (IntPtr file, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void ReplaceReadwriteAsyncCallback (IntPtr file, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.ReplaceReadwriteAsync (GLib.Marshaller.Utf8PtrToString (etag), make_backup, (GLib.FileCreateFlags) flags, io_priority, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr ReplaceReadwriteFinishDelegate (IntPtr file, IntPtr res, out IntPtr error);
+
+		static IntPtr ReplaceReadwriteFinishCallback (IntPtr file, IntPtr res, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLib.FileIOStream __result = __obj.ReplaceReadwriteFinish (GLib.AsyncResultAdapter.GetObject (res, false));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void StartMountableDelegate (IntPtr file, int flags, IntPtr start_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void StartMountableCallback (IntPtr file, int flags, IntPtr start_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.StartMountable ((GLib.DriveStartFlags) flags, GLib.Object.GetObject(start_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool StartMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool StartMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.StartMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void StopMountableDelegate (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void StopMountableCallback (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.StopMountable ((GLib.MountUnmountFlags) flags, GLib.Object.GetObject(mount_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool StopMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool StopMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.StopMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void UnmountMountableWithOperationDelegate (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void UnmountMountableWithOperationCallback (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.UnmountMountableWithOperation ((GLib.MountUnmountFlags) flags, GLib.Object.GetObject(mount_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool UnmountMountableWithOperationFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool UnmountMountableWithOperationFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.UnmountMountableWithOperationFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void EjectMountableWithOperationDelegate (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void EjectMountableWithOperationCallback (IntPtr file, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.EjectMountableWithOperation ((GLib.MountUnmountFlags) flags, GLib.Object.GetObject(mount_operation) as GLib.MountOperation, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool EjectMountableWithOperationFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool EjectMountableWithOperationFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.EjectMountableWithOperationFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void PollMountableDelegate (IntPtr file, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void PollMountableCallback (IntPtr file, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.PollMountable (GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool PollMountableFinishDelegate (IntPtr file, IntPtr result, out IntPtr error);
+
+		static bool PollMountableFinishCallback (IntPtr file, IntPtr result, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.FileImplementor __obj = GLib.Object.GetObject (file, false) as GLib.FileImplementor;
+				bool __result = __obj.PollMountableFinish (GLib.AsyncResultAdapter.GetObject (result, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			FileIface native_iface = (FileIface) Marshal.PtrToStructure (ifaceptr, typeof (FileIface));
+			native_iface.dup = iface.dup;
+			native_iface.hash = iface.hash;
+			native_iface.equal = iface.equal;
+			native_iface.is_native = iface.is_native;
+			native_iface.has_uri_scheme = iface.has_uri_scheme;
+			native_iface.get_uri_scheme = iface.get_uri_scheme;
+			native_iface.get_basename = iface.get_basename;
+			native_iface.get_path = iface.get_path;
+			native_iface.get_uri = iface.get_uri;
+			native_iface.get_parse_name = iface.get_parse_name;
+			native_iface.get_parent = iface.get_parent;
+			native_iface.prefix_matches = iface.prefix_matches;
+			native_iface.get_relative_path = iface.get_relative_path;
+			native_iface.resolve_relative_path = iface.resolve_relative_path;
+			native_iface.get_child_for_display_name = iface.get_child_for_display_name;
+			native_iface.enumerate_children = iface.enumerate_children;
+			native_iface.enumerate_children_async = iface.enumerate_children_async;
+			native_iface.enumerate_children_finish = iface.enumerate_children_finish;
+			native_iface.query_info = iface.query_info;
+			native_iface.query_info_async = iface.query_info_async;
+			native_iface.query_info_finish = iface.query_info_finish;
+			native_iface.query_filesystem_info = iface.query_filesystem_info;
+			native_iface.query_filesystem_info_async = iface.query_filesystem_info_async;
+			native_iface.query_filesystem_info_finish = iface.query_filesystem_info_finish;
+			native_iface.find_enclosing_mount = iface.find_enclosing_mount;
+			native_iface.find_enclosing_mount_async = iface.find_enclosing_mount_async;
+			native_iface.find_enclosing_mount_finish = iface.find_enclosing_mount_finish;
+			native_iface.set_display_name = iface.set_display_name;
+			native_iface.set_display_name_async = iface.set_display_name_async;
+			native_iface.set_display_name_finish = iface.set_display_name_finish;
+			native_iface.query_settable_attributes = iface.query_settable_attributes;
+			native_iface._query_settable_attributes_async = iface._query_settable_attributes_async;
+			native_iface._query_settable_attributes_finish = iface._query_settable_attributes_finish;
+			native_iface.query_writable_namespaces = iface.query_writable_namespaces;
+			native_iface._query_writable_namespaces_async = iface._query_writable_namespaces_async;
+			native_iface._query_writable_namespaces_finish = iface._query_writable_namespaces_finish;
+			native_iface.set_attribute = iface.set_attribute;
+			native_iface.set_attributes_from_info = iface.set_attributes_from_info;
+			native_iface.set_attributes_async = iface.set_attributes_async;
+			native_iface.set_attributes_finish = iface.set_attributes_finish;
+			native_iface.read_fn = iface.read_fn;
+			native_iface.read_async = iface.read_async;
+			native_iface.read_finish = iface.read_finish;
+			native_iface.append_to = iface.append_to;
+			native_iface.append_to_async = iface.append_to_async;
+			native_iface.append_to_finish = iface.append_to_finish;
+			native_iface.create = iface.create;
+			native_iface.create_async = iface.create_async;
+			native_iface.create_finish = iface.create_finish;
+			native_iface.replace = iface.replace;
+			native_iface.replace_async = iface.replace_async;
+			native_iface.replace_finish = iface.replace_finish;
+			native_iface.delete_file = iface.delete_file;
+			native_iface._delete_file_async = iface._delete_file_async;
+			native_iface._delete_file_finish = iface._delete_file_finish;
+			native_iface.trash = iface.trash;
+			native_iface._trash_async = iface._trash_async;
+			native_iface._trash_finish = iface._trash_finish;
+			native_iface.make_directory = iface.make_directory;
+			native_iface._make_directory_async = iface._make_directory_async;
+			native_iface._make_directory_finish = iface._make_directory_finish;
+			native_iface.make_symbolic_link = iface.make_symbolic_link;
+			native_iface._make_symbolic_link_async = iface._make_symbolic_link_async;
+			native_iface._make_symbolic_link_finish = iface._make_symbolic_link_finish;
+			native_iface.copy = iface.copy;
+			native_iface.copy_async = iface.copy_async;
+			native_iface.copy_finish = iface.copy_finish;
+			native_iface.move = iface.move;
+			native_iface._move_async = iface._move_async;
+			native_iface._move_finish = iface._move_finish;
+			native_iface.mount_mountable = iface.mount_mountable;
+			native_iface.mount_mountable_finish = iface.mount_mountable_finish;
+			native_iface.unmount_mountable = iface.unmount_mountable;
+			native_iface.unmount_mountable_finish = iface.unmount_mountable_finish;
+			native_iface.eject_mountable = iface.eject_mountable;
+			native_iface.eject_mountable_finish = iface.eject_mountable_finish;
+			native_iface.mount_enclosing_volume = iface.mount_enclosing_volume;
+			native_iface.mount_enclosing_volume_finish = iface.mount_enclosing_volume_finish;
+			native_iface.monitor_dir = iface.monitor_dir;
+			native_iface.monitor_file = iface.monitor_file;
+			native_iface.open_readwrite = iface.open_readwrite;
+			native_iface.open_readwrite_async = iface.open_readwrite_async;
+			native_iface.open_readwrite_finish = iface.open_readwrite_finish;
+			native_iface.create_readwrite = iface.create_readwrite;
+			native_iface.create_readwrite_async = iface.create_readwrite_async;
+			native_iface.create_readwrite_finish = iface.create_readwrite_finish;
+			native_iface.replace_readwrite = iface.replace_readwrite;
+			native_iface.replace_readwrite_async = iface.replace_readwrite_async;
+			native_iface.replace_readwrite_finish = iface.replace_readwrite_finish;
+			native_iface.start_mountable = iface.start_mountable;
+			native_iface.start_mountable_finish = iface.start_mountable_finish;
+			native_iface.stop_mountable = iface.stop_mountable;
+			native_iface.stop_mountable_finish = iface.stop_mountable_finish;
+			native_iface.unmount_mountable_with_operation = iface.unmount_mountable_with_operation;
+			native_iface.unmount_mountable_with_operation_finish = iface.unmount_mountable_with_operation_finish;
+			native_iface.eject_mountable_with_operation = iface.eject_mountable_with_operation;
+			native_iface.eject_mountable_with_operation_finish = iface.eject_mountable_with_operation_finish;
+			native_iface.poll_mountable = iface.poll_mountable;
+			native_iface.poll_mountable_finish = iface.poll_mountable_finish;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public FileAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		FileImplementor implementor;
+
+		public FileAdapter (FileImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public FileAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_file_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static File GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static File GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is FileImplementor)
+				return new FileAdapter (obj as FileImplementor);
+			else if (obj as File == null)
+				return new FileAdapter (obj.Handle);
+			else
+				return obj as File;
+		}
+
+		public FileImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_create_async(IntPtr raw, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CreateAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_create_async(Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_path(IntPtr raw);
+
+		public string Path { 
+			get {
+				IntPtr raw_ret = g_file_get_path(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_replace_contents_finish(IntPtr raw, IntPtr res, IntPtr new_etag, out IntPtr error);
+
+		public bool ReplaceContentsFinish(GLib.AsyncResult res, string new_etag) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_replace_contents_finish(Handle, res == null ? IntPtr.Zero : res.Handle, GLib.Marshaller.StringToPtrGStrdup(new_etag), out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_move(IntPtr raw, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error);
+
+		public bool Move(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback) {
+			GLibSharp.FileProgressCallbackWrapper progress_callback_wrapper = new GLibSharp.FileProgressCallbackWrapper (progress_callback);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_move(Handle, destination == null ? IntPtr.Zero : destination.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, progress_callback_wrapper.NativeDelegate, IntPtr.Zero, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_monitor(IntPtr raw, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileMonitor Monitor(GLib.FileMonitorFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_monitor(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileMonitor ret = GLib.Object.GetObject(raw_ret) as GLib.FileMonitor;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_child(IntPtr raw, IntPtr name);
+
+		public GLib.File GetChild(string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			IntPtr raw_ret = g_file_get_child(Handle, native_name);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_query_exists(IntPtr raw, IntPtr cancellable);
+
+		public bool QueryExists(GLib.Cancellable cancellable) {
+			bool raw_ret = g_file_query_exists(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_enumerate_children_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileEnumerator EnumerateChildrenFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_enumerate_children_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileEnumerator ret = GLib.Object.GetObject(raw_ret) as GLib.FileEnumerator;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_mount_enclosing_volume(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void MountEnclosingVolume(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_mount_enclosing_volume(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_make_directory(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public bool MakeDirectory(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_make_directory(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_replace_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileOutputStream ReplaceFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_replace_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_query_filesystem_info_async(IntPtr raw, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void QueryFilesystemInfoAsync(string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_query_filesystem_info_async(Handle, native_attributes, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_parse_name(IntPtr parse_name);
+
+		public static GLib.File ParseName(string parse_name) {
+			IntPtr native_parse_name = GLib.Marshaller.StringToPtrGStrdup (parse_name);
+			IntPtr raw_ret = g_file_parse_name(native_parse_name);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_parse_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_set_display_name_async(IntPtr raw, IntPtr display_name, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void SetDisplayNameAsync(string display_name, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_display_name = GLib.Marshaller.StringToPtrGStrdup (display_name);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_set_display_name_async(Handle, native_display_name, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_display_name);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_create_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileOutputStream CreateFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_create_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_writable_namespaces(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileAttributeInfoList QueryWritableNamespaces(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_writable_namespaces(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileAttributeInfoList ret = raw_ret == IntPtr.Zero ? null : (GLib.FileAttributeInfoList) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.FileAttributeInfoList), false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_eject_mountable_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool EjectMountableWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_eject_mountable_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attributes_from_info(IntPtr raw, IntPtr info, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributesFromInfo(GLib.FileInfo info, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attributes_from_info(Handle, info == null ? IntPtr.Zero : info.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_uri_scheme(IntPtr raw);
+
+		public string UriScheme { 
+			get {
+				IntPtr raw_ret = g_file_get_uri_scheme(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_stop_mountable(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void StopMountable(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_stop_mountable(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_make_directory_with_parents(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public bool MakeDirectoryWithParents(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_make_directory_with_parents(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_start_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool StartMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_start_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_enumerate_children_async(IntPtr raw, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void EnumerateChildrenAsync(string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_enumerate_children_async(Handle, native_attributes, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attributes_finish(IntPtr raw, IntPtr result, IntPtr info, out IntPtr error);
+
+		public bool SetAttributesFinish(GLib.AsyncResult result, GLib.FileInfo info) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attributes_finish(Handle, result == null ? IntPtr.Zero : result.Handle, info == null ? IntPtr.Zero : info.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_replace_async(IntPtr raw, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReplaceAsync(string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_replace_async(Handle, native_etag, make_backup, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_etag);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_dup(IntPtr raw);
+
+		public GLib.File Dup() {
+			IntPtr raw_ret = g_file_dup(Handle);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_find_enclosing_mount(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.Mount FindEnclosingMount(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_find_enclosing_mount(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.Mount ret = GLib.MountAdapter.GetObject (raw_ret, false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_mount_enclosing_volume_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool MountEnclosingVolumeFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_mount_enclosing_volume_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_eject_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool EjectMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_eject_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_uint64(IntPtr raw, IntPtr attribute, ulong value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeUint64(string attribute, ulong value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_uint64(Handle, native_attribute, value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_load_partial_contents_finish(IntPtr raw, IntPtr res, IntPtr contents, out UIntPtr length, IntPtr etag_out, out IntPtr error);
+
+		public bool LoadPartialContentsFinish(GLib.AsyncResult res, string contents, out ulong length, string etag_out) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_load_partial_contents_finish(Handle, res == null ? IntPtr.Zero : res.Handle, GLib.Marshaller.StringToPtrGStrdup(contents), out native_length, GLib.Marshaller.StringToPtrGStrdup(etag_out), out error);
+			bool ret = raw_ret;
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_replace_readwrite(IntPtr raw, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileIOStream ReplaceReadwrite(string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_replace_readwrite(Handle, native_etag, make_backup, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			GLib.Marshaller.Free (native_etag);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_query_info_async(IntPtr raw, IntPtr attributes, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void QueryInfoAsync(string attributes, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_query_info_async(Handle, native_attributes, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_int64(IntPtr raw, IntPtr attribute, long value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeInt64(string attribute, long value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_int64(Handle, native_attribute, value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_resolve_relative_path(IntPtr raw, IntPtr relative_path);
+
+		public GLib.File ResolveRelativePath(string relative_path) {
+			IntPtr native_relative_path = GLib.Marshaller.StringToPtrGStrdup (relative_path);
+			IntPtr raw_ret = g_file_resolve_relative_path(Handle, native_relative_path);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_relative_path);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_mount_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public GLib.File MountMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_mount_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_create(IntPtr raw, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileOutputStream Create(GLib.FileCreateFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_create(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_has_uri_scheme(IntPtr raw, IntPtr uri_scheme);
+
+		public bool HasUriScheme(string uri_scheme) {
+			IntPtr native_uri_scheme = GLib.Marshaller.StringToPtrGStrdup (uri_scheme);
+			bool raw_ret = g_file_has_uri_scheme(Handle, native_uri_scheme);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_uri_scheme);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_read_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileInputStream ReadFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_read_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileInputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileInputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_enumerate_children(IntPtr raw, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileEnumerator EnumerateChildren(string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_enumerate_children(Handle, native_attributes, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileEnumerator ret = GLib.Object.GetObject(raw_ret) as GLib.FileEnumerator;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_supports_thread_contexts(IntPtr raw);
+
+		public bool SupportsThreadContexts() {
+			bool raw_ret = g_file_supports_thread_contexts(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_start_mountable(IntPtr raw, int flags, IntPtr start_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void StartMountable(GLib.DriveStartFlags flags, GLib.MountOperation start_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_start_mountable(Handle, (int) flags, start_operation == null ? IntPtr.Zero : start_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_mount_mountable(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void MountMountable(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_mount_mountable(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_load_contents_finish(IntPtr raw, IntPtr res, IntPtr contents, out UIntPtr length, IntPtr etag_out, out IntPtr error);
+
+		public bool LoadContentsFinish(GLib.AsyncResult res, string contents, out ulong length, string etag_out) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_load_contents_finish(Handle, res == null ? IntPtr.Zero : res.Handle, GLib.Marshaller.StringToPtrGStrdup(contents), out native_length, GLib.Marshaller.StringToPtrGStrdup(etag_out), out error);
+			bool ret = raw_ret;
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_open_readwrite_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void OpenReadwriteAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_open_readwrite_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_load_partial_contents_async(IntPtr raw, IntPtr cancellable, GLibSharp.FileReadMoreCallbackNative read_more_callback, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void LoadPartialContentsAsync(GLib.Cancellable cancellable, GLib.FileReadMoreCallback read_more_callback, GLib.AsyncReadyCallback cb) {
+			GLibSharp.FileReadMoreCallbackWrapper read_more_callback_wrapper = new GLibSharp.FileReadMoreCallbackWrapper (read_more_callback);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_load_partial_contents_async(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, read_more_callback_wrapper.NativeDelegate, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_stop_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool StopMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_stop_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_replace_contents_async(IntPtr raw, IntPtr contents, UIntPtr length, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReplaceContentsAsync(string contents, string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_contents = GLib.Marshaller.StringToPtrGStrdup (contents);
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_replace_contents_async(Handle, native_contents, new UIntPtr ((ulong) System.Text.Encoding.UTF8.GetByteCount (contents)), native_etag, make_backup, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_contents);
+			GLib.Marshaller.Free (native_etag);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_copy_async(IntPtr raw, IntPtr destination, int flags, int io_priority, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CopyAsync(GLib.File destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb) {
+			GLibSharp.FileProgressCallbackWrapper progress_callback_wrapper = new GLibSharp.FileProgressCallbackWrapper (progress_callback);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_copy_async(Handle, destination == null ? IntPtr.Zero : destination.Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, progress_callback_wrapper.NativeDelegate, IntPtr.Zero, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_eject_mountable_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void EjectMountableWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_eject_mountable_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_unmount_mountable_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void UnmountMountableWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_unmount_mountable_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_make_symbolic_link(IntPtr raw, IntPtr symlink_value, IntPtr cancellable, out IntPtr error);
+
+		public bool MakeSymbolicLink(string symlink_value, GLib.Cancellable cancellable) {
+			IntPtr native_symlink_value = GLib.Marshaller.StringToPtrGStrdup (symlink_value);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_make_symbolic_link(Handle, native_symlink_value, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_symlink_value);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_string(IntPtr raw, IntPtr attribute, IntPtr value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeString(string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_string(Handle, native_attribute, native_value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			GLib.Marshaller.Free (native_value);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_unmount_mountable_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool UnmountMountableWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_unmount_mountable_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_copy(IntPtr raw, IntPtr destination, int flags, IntPtr cancellable, GLibSharp.FileProgressCallbackNative progress_callback, IntPtr progress_callback_data, out IntPtr error);
+
+		public bool Copy(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback) {
+			GLibSharp.FileProgressCallbackWrapper progress_callback_wrapper = new GLibSharp.FileProgressCallbackWrapper (progress_callback);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_copy(Handle, destination == null ? IntPtr.Zero : destination.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, progress_callback_wrapper.NativeDelegate, IntPtr.Zero, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_byte_string(IntPtr raw, IntPtr attribute, IntPtr value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeByteString(string attribute, string value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_byte_string(Handle, native_attribute, native_value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			GLib.Marshaller.Free (native_value);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_append_to_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileOutputStream AppendToFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_append_to_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_copy_attributes(IntPtr raw, IntPtr destination, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool CopyAttributes(GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_copy_attributes(Handle, destination == null ? IntPtr.Zero : destination.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_poll_mountable(IntPtr raw, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void PollMountable(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_poll_mountable(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_poll_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool PollMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_poll_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_info(IntPtr raw, IntPtr attributes, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileInfo QueryInfo(string attributes, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_info(Handle, native_attributes, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_delete(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public bool Delete(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_delete(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_equal(IntPtr raw, IntPtr file2);
+
+		public bool Equal(GLib.File file2) {
+			bool raw_ret = g_file_equal(Handle, file2 == null ? IntPtr.Zero : file2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_set_display_name_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.File SetDisplayNameFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_set_display_name_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_set_attributes_async(IntPtr raw, IntPtr info, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void SetAttributesAsync(GLib.FileInfo info, GLib.FileQueryInfoFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_set_attributes_async(Handle, info == null ? IntPtr.Zero : info.Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_query_file_type(IntPtr raw, int flags, IntPtr cancellable);
+
+		public GLib.FileType QueryFileType(GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			int raw_ret = g_file_query_file_type(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+			GLib.FileType ret = (GLib.FileType) raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_default_handler(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.AppInfo QueryDefaultHandler(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_default_handler(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.AppInfo ret = GLib.AppInfoAdapter.GetObject (raw_ret, false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_info_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileInfo QueryInfoFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_info_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_read(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileInputStream Read(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_read(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileInputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute(IntPtr raw, IntPtr attribute, int type, IntPtr value_p, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttribute(string attribute, GLib.FileAttributeType type, IntPtr value_p, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute(Handle, native_attribute, (int) type, value_p, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_filesystem_info(IntPtr raw, IntPtr attributes, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileInfo QueryFilesystemInfo(string attributes, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_filesystem_info(Handle, native_attributes, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_parent(IntPtr raw);
+
+		public GLib.File Parent { 
+			get {
+				IntPtr raw_ret = g_file_get_parent(Handle);
+				GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern uint g_file_hash(IntPtr file);
+
+		public static uint Hash(IntPtr file) {
+			uint raw_ret = g_file_hash(file);
+			uint ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_parse_name(IntPtr raw);
+
+		public string ParsedName { 
+			get {
+				IntPtr raw_ret = g_file_get_parse_name(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_replace(IntPtr raw, IntPtr etag, bool make_backup, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileOutputStream Replace(string etag, bool make_backup, GLib.FileCreateFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_replace(Handle, native_etag, make_backup, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			GLib.Marshaller.Free (native_etag);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_uri(IntPtr raw);
+
+		public string Uri { 
+			get {
+				IntPtr raw_ret = g_file_get_uri(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_filesystem_info_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileInfo QueryFilesystemInfoFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_filesystem_info_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_read_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReadAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_read_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_relative_path(IntPtr raw, IntPtr descendant);
+
+		public string GetRelativePath(GLib.File descendant) {
+			IntPtr raw_ret = g_file_get_relative_path(Handle, descendant == null ? IntPtr.Zero : descendant.Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_settable_attributes(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileAttributeInfoList QuerySettableAttributes(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_query_settable_attributes(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileAttributeInfoList ret = raw_ret == IntPtr.Zero ? null : (GLib.FileAttributeInfoList) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.FileAttributeInfoList), false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_load_contents(IntPtr raw, IntPtr cancellable, IntPtr contents, out UIntPtr length, IntPtr etag_out, out IntPtr error);
+
+		public bool LoadContents(GLib.Cancellable cancellable, string contents, out ulong length, string etag_out) {
+			UIntPtr native_length;
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_load_contents(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, GLib.Marshaller.StringToPtrGStrdup(contents), out native_length, GLib.Marshaller.StringToPtrGStrdup(etag_out), out error);
+			bool ret = raw_ret;
+			length = (ulong) native_length;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_load_contents_async(IntPtr raw, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void LoadContentsAsync(GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_load_contents_async(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_create_readwrite_async(IntPtr raw, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CreateReadwriteAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_create_readwrite_async(Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_replace_readwrite_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileIOStream ReplaceReadwriteFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_replace_readwrite_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_unmount_mountable_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool UnmountMountableFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_unmount_mountable_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_basename(IntPtr raw);
+
+		public string Basename { 
+			get {
+				IntPtr raw_ret = g_file_get_basename(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_int32(IntPtr raw, IntPtr attribute, int value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeInt32(string attribute, int value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_int32(Handle, native_attribute, value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_create_readwrite(IntPtr raw, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileIOStream CreateReadwrite(GLib.FileCreateFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_create_readwrite(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_eject_mountable(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void EjectMountable(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_eject_mountable(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_append_to_async(IntPtr raw, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void AppendToAsync(GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_append_to_async(Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_find_enclosing_mount_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.Mount FindEnclosingMountFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_find_enclosing_mount_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.Mount ret = GLib.MountAdapter.GetObject (raw_ret, false);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_replace_readwrite_async(IntPtr raw, IntPtr etag, bool make_backup, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReplaceReadwriteAsync(string etag, bool make_backup, GLib.FileCreateFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_replace_readwrite_async(Handle, native_etag, make_backup, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_etag);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_has_prefix(IntPtr raw, IntPtr prefix);
+
+		public bool HasPrefix(GLib.File prefix) {
+			bool raw_ret = g_file_has_prefix(Handle, prefix == null ? IntPtr.Zero : prefix.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_is_native(IntPtr raw);
+
+		public bool IsNative { 
+			get {
+				bool raw_ret = g_file_is_native(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_find_enclosing_mount_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void FindEnclosingMountAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_find_enclosing_mount_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_get_child_for_display_name(IntPtr raw, IntPtr display_name, out IntPtr error);
+
+		public GLib.File GetChildForDisplayName(string display_name) {
+			IntPtr native_display_name = GLib.Marshaller.StringToPtrGStrdup (display_name);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_get_child_for_display_name(Handle, native_display_name, out error);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_display_name);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_create_readwrite_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileIOStream CreateReadwriteFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_create_readwrite_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_open_readwrite_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public GLib.FileIOStream OpenReadwriteFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_open_readwrite_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_set_display_name(IntPtr raw, IntPtr display_name, IntPtr cancellable, out IntPtr error);
+
+		public GLib.File SetDisplayName(string display_name, GLib.Cancellable cancellable) {
+			IntPtr native_display_name = GLib.Marshaller.StringToPtrGStrdup (display_name);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_set_display_name(Handle, native_display_name, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_display_name);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_open_readwrite(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileIOStream OpenReadwrite(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_open_readwrite(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileIOStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileIOStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_replace_contents(IntPtr raw, IntPtr contents, UIntPtr length, IntPtr etag, bool make_backup, int flags, IntPtr new_etag, IntPtr cancellable, out IntPtr error);
+
+		public bool ReplaceContents(string contents, string etag, bool make_backup, GLib.FileCreateFlags flags, string new_etag, GLib.Cancellable cancellable) {
+			IntPtr native_contents = GLib.Marshaller.StringToPtrGStrdup (contents);
+			IntPtr native_etag = GLib.Marshaller.StringToPtrGStrdup (etag);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_replace_contents(Handle, native_contents, new UIntPtr ((ulong) System.Text.Encoding.UTF8.GetByteCount (contents)), native_etag, make_backup, (int) flags, GLib.Marshaller.StringToPtrGStrdup(new_etag), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_contents);
+			GLib.Marshaller.Free (native_etag);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_set_attribute_uint32(IntPtr raw, IntPtr attribute, uint value, int flags, IntPtr cancellable, out IntPtr error);
+
+		public bool SetAttributeUint32(string attribute, uint value, GLib.FileQueryInfoFlags flags, GLib.Cancellable cancellable) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_set_attribute_uint32(Handle, native_attribute, value, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_append_to(IntPtr raw, int flags, IntPtr cancellable, out IntPtr error);
+
+		public GLib.FileOutputStream AppendTo(GLib.FileCreateFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_append_to(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileOutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.FileOutputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_trash(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public bool Trash(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_trash(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_unmount_mountable(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void UnmountMountable(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_unmount_mountable(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_copy_finish(IntPtr raw, IntPtr res, out IntPtr error);
+
+		public bool CopyFinish(GLib.AsyncResult res) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_copy_finish(Handle, res == null ? IntPtr.Zero : res.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+#region Customized extensions
+#line 1 "FileAdapter.custom"
+// FileAdapter.custom - customizations to GLib.FileAdapter
+//
+// Author:
+//   Stephane Delcroix  <stephane delcroix org>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+public override string ToString ()
+{
+	return Uri;
+}
+
+public bool Exists {
+	get { return QueryExists (null); }
+}
+
+public bool Delete ()
+{
+	return Delete (null);
+}
+
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeInfo.cs b/lib/gio-sharp/gio/generated/FileAttributeInfo.cs
new file mode 100644
index 0000000..50fe062
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeInfo.cs
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public struct FileAttributeInfo {
+
+		public string Name;
+		public GLib.FileAttributeType Type;
+		public GLib.FileAttributeInfoFlags Flags;
+
+		public static GLib.FileAttributeInfo Zero = new GLib.FileAttributeInfo ();
+
+		public static GLib.FileAttributeInfo New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.FileAttributeInfo.Zero;
+			return (GLib.FileAttributeInfo) Marshal.PtrToStructure (raw, typeof (GLib.FileAttributeInfo));
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeInfoFlags.cs b/lib/gio-sharp/gio/generated/FileAttributeInfoFlags.cs
new file mode 100644
index 0000000..8aa9771
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeInfoFlags.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.FileAttributeInfoFlagsGType))]
+	public enum FileAttributeInfoFlags {
+
+		None,
+		CopyWithFile = 1 << 0,
+		CopyWhenMoved = 1 << 1,
+	}
+
+	internal class FileAttributeInfoFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_attribute_info_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeInfoList.cs b/lib/gio-sharp/gio/generated/FileAttributeInfoList.cs
new file mode 100644
index 0000000..e40024f
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeInfoList.cs
@@ -0,0 +1,110 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileAttributeInfoList : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_list_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_attribute_info_list_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_list_lookup(IntPtr raw, IntPtr name);
+
+		public GLib.FileAttributeInfo Lookup(string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			IntPtr raw_ret = g_file_attribute_info_list_lookup(Handle, native_name);
+			GLib.FileAttributeInfo ret = GLib.FileAttributeInfo.New (raw_ret);
+			GLib.Marshaller.Free (native_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_attribute_info_list_add(IntPtr raw, IntPtr name, int type, int flags);
+
+		public void Add(string name, GLib.FileAttributeType type, GLib.FileAttributeInfoFlags flags) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			g_file_attribute_info_list_add(Handle, native_name, (int) type, (int) flags);
+			GLib.Marshaller.Free (native_name);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_list_dup(IntPtr raw);
+
+		public GLib.FileAttributeInfoList Dup() {
+			IntPtr raw_ret = g_file_attribute_info_list_dup(Handle);
+			GLib.FileAttributeInfoList ret = raw_ret == IntPtr.Zero ? null : (GLib.FileAttributeInfoList) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.FileAttributeInfoList), false);
+			return ret;
+		}
+
+		public FileAttributeInfoList(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_list_new();
+
+		public FileAttributeInfoList () 
+		{
+			Raw = g_file_attribute_info_list_new();
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_info_list_ref(IntPtr raw);
+
+		protected override void Ref (IntPtr raw)
+		{
+			if (!Owned) {
+				g_file_attribute_info_list_ref (raw);
+				Owned = true;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_attribute_info_list_unref(IntPtr raw);
+
+		protected override void Unref (IntPtr raw)
+		{
+			if (Owned) {
+				g_file_attribute_info_list_unref (raw);
+				Owned = false;
+			}
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_file_attribute_info_list_unref (handle);
+				return false;
+			}
+		}
+
+		~FileAttributeInfoList ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeMatcher.cs b/lib/gio-sharp/gio/generated/FileAttributeMatcher.cs
new file mode 100644
index 0000000..ed42d50
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeMatcher.cs
@@ -0,0 +1,114 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileAttributeMatcher : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_attribute_matcher_enumerate_namespace(IntPtr raw, IntPtr ns);
+
+		public bool EnumerateNamespace(string ns) {
+			IntPtr native_ns = GLib.Marshaller.StringToPtrGStrdup (ns);
+			bool raw_ret = g_file_attribute_matcher_enumerate_namespace(Handle, native_ns);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_ns);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_matcher_enumerate_next(IntPtr raw);
+
+		public string EnumerateNext() {
+			IntPtr raw_ret = g_file_attribute_matcher_enumerate_next(Handle);
+			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_attribute_matcher_matches(IntPtr raw, IntPtr attribute);
+
+		public bool Matches(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			bool raw_ret = g_file_attribute_matcher_matches(Handle, native_attribute);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_attribute_matcher_matches_only(IntPtr raw, IntPtr attribute);
+
+		public bool MatchesOnly(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			bool raw_ret = g_file_attribute_matcher_matches_only(Handle, native_attribute);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		public FileAttributeMatcher(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_matcher_new(IntPtr attributes);
+
+		public FileAttributeMatcher (string attributes) 
+		{
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			Raw = g_file_attribute_matcher_new(native_attributes);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_matcher_ref(IntPtr raw);
+
+		protected override void Ref (IntPtr raw)
+		{
+			if (!Owned) {
+				g_file_attribute_matcher_ref (raw);
+				Owned = true;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_attribute_matcher_unref(IntPtr raw);
+
+		protected override void Unref (IntPtr raw)
+		{
+			if (Owned) {
+				g_file_attribute_matcher_unref (raw);
+				Owned = false;
+			}
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_file_attribute_matcher_unref (handle);
+				return false;
+			}
+		}
+
+		~FileAttributeMatcher ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeStatus.cs b/lib/gio-sharp/gio/generated/FileAttributeStatus.cs
new file mode 100644
index 0000000..a9f0b6c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeStatus.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.FileAttributeStatusGType))]
+	public enum FileAttributeStatus {
+
+		Unset,
+		Set,
+		ErrorSetting,
+	}
+
+	internal class FileAttributeStatusGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_status_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_attribute_status_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileAttributeType.cs b/lib/gio-sharp/gio/generated/FileAttributeType.cs
new file mode 100644
index 0000000..8cc2d84
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileAttributeType.cs
@@ -0,0 +1,36 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.FileAttributeTypeGType))]
+	public enum FileAttributeType {
+
+		Invalid,
+		String,
+		ByteString,
+		Boolean,
+		Uint32,
+		Int32,
+		Uint64,
+		Int64,
+		Object,
+		Stringv,
+	}
+
+	internal class FileAttributeTypeGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_attribute_type_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_attribute_type_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileCopyFlags.cs b/lib/gio-sharp/gio/generated/FileCopyFlags.cs
new file mode 100644
index 0000000..ae1d7c0
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileCopyFlags.cs
@@ -0,0 +1,34 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.FileCopyFlagsGType))]
+	public enum FileCopyFlags {
+
+		None,
+		Overwrite = 1 << 0,
+		Backup = 1 << 1,
+		NofollowSymlinks = 1 << 2,
+		AllMetadata = 1 << 3,
+		NoFallbackForMove = 1 << 4,
+		TargetDefaultPerms = 1 << 5,
+	}
+
+	internal class FileCopyFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_copy_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_copy_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileCreateFlags.cs b/lib/gio-sharp/gio/generated/FileCreateFlags.cs
new file mode 100644
index 0000000..f8c29b9
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileCreateFlags.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.FileCreateFlagsGType))]
+	public enum FileCreateFlags {
+
+		None,
+		Private = 1 << 0,
+		ReplaceDestination = 1 << 1,
+	}
+
+	internal class FileCreateFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_create_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_create_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileEnumerator.cs b/lib/gio-sharp/gio/generated/FileEnumerator.cs
new file mode 100644
index 0000000..d158818
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileEnumerator.cs
@@ -0,0 +1,197 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileEnumerator : GLib.Object, IEnumerable {
+
+		[Obsolete]
+		protected FileEnumerator(GLib.GType gtype) : base(gtype) {}
+		public FileEnumerator(IntPtr raw) : base(raw) {}
+
+		protected FileEnumerator() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_enumerator_has_pending(IntPtr raw);
+
+		public bool HasPending { 
+			get {
+				bool raw_ret = g_file_enumerator_has_pending(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_enumerator_set_pending(IntPtr raw, bool pending);
+
+		public bool Pending { 
+			set {
+				g_file_enumerator_set_pending(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_file_enumerator_close_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe bool CloseFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_enumerator_close_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_enumerator_next_files_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe GLib.List NextFilesFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_enumerator_next_files_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			GLib.List ret = new GLib.List(raw_ret);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_file_enumerator_close(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool Close(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_file_enumerator_close(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_enumerator_is_closed(IntPtr raw);
+
+		public bool IsClosed { 
+			get {
+				bool raw_ret = g_file_enumerator_is_closed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_enumerator_next_files_async(IntPtr raw, int num_files, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void NextFilesAsync(int num_files, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_enumerator_next_files_async(Handle, num_files, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_enumerator_close_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CloseAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_enumerator_close_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_enumerator_next_file(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe GLib.FileInfo NextFile(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_enumerator_next_file(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_enumerator_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_enumerator_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+#region Customized extensions
+#line 1 "FileEnumerator.custom"
+// FileEnumerator.custom - customizations to GLib.FileEnumerator
+//
+// Authors: Stephane Delcroix  <stephane delcroix org>
+//
+// Copyright (c) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+public IEnumerator GetEnumerator ()
+{
+	return new Enumerator (this);
+}
+
+public FileInfo NextFile ()
+{
+	return NextFile ((Cancellable) null);
+}
+
+class Enumerator : IEnumerator
+{
+	FileEnumerator file_enumerator;
+
+	public Enumerator (FileEnumerator file_enumerator)
+	{
+		this.file_enumerator = file_enumerator;
+	}
+
+	FileInfo current=null;
+	public object Current {
+		get {
+			return current;
+		}
+	}
+
+	public bool MoveNext ()
+	{
+		current = file_enumerator.NextFile ();
+		if (current == null)
+			return false;
+		return true;
+	}
+
+	public void Reset ()
+	{
+		throw new NotImplementedException ();
+	}
+}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileIOStream.cs b/lib/gio-sharp/gio/generated/FileIOStream.cs
new file mode 100644
index 0000000..8937839
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileIOStream.cs
@@ -0,0 +1,134 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileIOStream : GLib.IOStream, GLib.Seekable {
+
+		[Obsolete]
+		protected FileIOStream(GLib.GType gtype) : base(gtype) {}
+		public FileIOStream(IntPtr raw) : base(raw) {}
+
+		protected FileIOStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_io_stream_query_info_async(IntPtr raw, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void QueryInfoAsync(string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_io_stream_query_info_async(Handle, native_attributes, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_io_stream_get_etag(IntPtr raw);
+
+		public string Etag { 
+			get {
+				IntPtr raw_ret = g_file_io_stream_get_etag(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_io_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_io_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_io_stream_query_info_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfoFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_io_stream_query_info_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_io_stream_query_info(IntPtr raw, IntPtr attributes, IntPtr cancellable, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfo(string attributes, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_io_stream_query_info(Handle, native_attributes, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileIcon.cs b/lib/gio-sharp/gio/generated/FileIcon.cs
new file mode 100644
index 0000000..0386e52
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileIcon.cs
@@ -0,0 +1,109 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon {
+
+		[Obsolete]
+		protected FileIcon(GLib.GType gtype) : base(gtype) {}
+		public FileIcon(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_icon_new(IntPtr file);
+
+		public FileIcon (GLib.File file) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (FileIcon)) {
+				ArrayList vals = new ArrayList();
+				ArrayList names = new ArrayList();
+				if (file != null) {
+					names.Add ("file");
+					vals.Add (new GLib.Value (file));
+				}
+				CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
+				return;
+			}
+			Raw = g_file_icon_new(file == null ? IntPtr.Zero : file.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_icon_get_file(IntPtr raw);
+
+		[GLib.Property ("file")]
+		public GLib.File File {
+			get  {
+				IntPtr raw_ret = g_file_icon_get_file(Handle);
+				GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_icon_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_icon_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_to_string(IntPtr raw);
+
+		public override string ToString() {
+			IntPtr raw_ret = g_icon_to_string(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_icon_equal(IntPtr raw, IntPtr icon2);
+
+		public bool Equal(GLib.Icon icon2) {
+			bool raw_ret = g_icon_equal(Handle, icon2 == null ? IntPtr.Zero : icon2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_loadable_icon_load_async(IntPtr raw, int size, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void LoadAsync(int size, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_loadable_icon_load_async(Handle, size, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_loadable_icon_load(IntPtr raw, int size, IntPtr type, IntPtr cancellable, out IntPtr error);
+
+		public GLib.InputStream Load(int size, string type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_loadable_icon_load(Handle, size, GLib.Marshaller.StringToPtrGStrdup(type), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_loadable_icon_load_finish(IntPtr raw, IntPtr res, IntPtr type, out IntPtr error);
+
+		public GLib.InputStream LoadFinish(GLib.AsyncResult res, string type) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_loadable_icon_load_finish(Handle, res == null ? IntPtr.Zero : res.Handle, GLib.Marshaller.StringToPtrGStrdup(type), out error);
+			GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileInfo.cs b/lib/gio-sharp/gio/generated/FileInfo.cs
new file mode 100644
index 0000000..0fca214
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileInfo.cs
@@ -0,0 +1,626 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileInfo : GLib.Object {
+
+		[Obsolete]
+		protected FileInfo(GLib.GType gtype) : base(gtype) {}
+		public FileInfo(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_new();
+
+		public FileInfo () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (FileInfo)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_file_info_new();
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_int64(IntPtr raw, IntPtr attribute, long attr_value);
+
+		public void SetAttributeLong(string attribute, long attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_int64(Handle, native_attribute, attr_value);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_etag(IntPtr raw);
+
+		public string Etag { 
+			get {
+				IntPtr raw_ret = g_file_info_get_etag(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_info_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_list_attributes(IntPtr raw, IntPtr name_space);
+
+		public string ListAttributes(string name_space) {
+			IntPtr native_name_space = GLib.Marshaller.StringToPtrGStrdup (name_space);
+			IntPtr raw_ret = g_file_info_list_attributes(Handle, native_name_space);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_name_space);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_info_get_sort_order(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_sort_order(IntPtr raw, int sort_order);
+
+		public int SortOrder { 
+			get {
+				int raw_ret = g_file_info_get_sort_order(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_file_info_set_sort_order(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_copy_into(IntPtr raw, IntPtr dest_info);
+
+		public void CopyInto(GLib.FileInfo dest_info) {
+			g_file_info_copy_into(Handle, dest_info == null ? IntPtr.Zero : dest_info.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_get_is_hidden(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_is_hidden(IntPtr raw, bool is_hidden);
+
+		public bool IsHidden { 
+			get {
+				bool raw_ret = g_file_info_get_is_hidden(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_file_info_set_is_hidden(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_info_get_attribute_type(IntPtr raw, IntPtr attribute);
+
+		public GLib.FileAttributeType GetAttributeType(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			int raw_ret = g_file_info_get_attribute_type(Handle, native_attribute);
+			GLib.FileAttributeType ret = (GLib.FileAttributeType) raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_has_attribute(IntPtr raw, IntPtr attribute);
+
+		public bool HasAttribute(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			bool raw_ret = g_file_info_has_attribute(Handle, native_attribute);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_get_is_backup(IntPtr raw);
+
+		public bool IsBackup { 
+			get {
+				bool raw_ret = g_file_info_get_is_backup(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_clear_status(IntPtr raw);
+
+		public void ClearStatus() {
+			g_file_info_clear_status(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_remove_attribute(IntPtr raw, IntPtr attribute);
+
+		public void RemoveAttribute(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_remove_attribute(Handle, native_attribute);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_attribute_as_string(IntPtr raw, IntPtr attribute);
+
+		public string GetAttributeAsString(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr raw_ret = g_file_info_get_attribute_as_string(Handle, native_attribute);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_set_attribute_status(IntPtr raw, IntPtr attribute, int status);
+
+		public bool SetAttributeStatus(string attribute, GLib.FileAttributeStatus status) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			bool raw_ret = g_file_info_set_attribute_status(Handle, native_attribute, (int) status);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_mask(IntPtr raw, IntPtr mask);
+
+		public GLib.FileAttributeMatcher AttributeMask { 
+			set {
+				g_file_info_set_attribute_mask(Handle, value == null ? IntPtr.Zero : value.Handle);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_get_attribute_boolean(IntPtr raw, IntPtr attribute);
+
+		public bool GetAttributeBoolean(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			bool raw_ret = g_file_info_get_attribute_boolean(Handle, native_attribute);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_stringv(IntPtr raw, IntPtr attribute, IntPtr attr_value);
+
+		public void SetAttributeStringv(string attribute, string attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_stringv(Handle, native_attribute, GLib.Marshaller.StringToPtrGStrdup(attr_value));
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_uint64(IntPtr raw, IntPtr attribute, ulong attr_value);
+
+		public void SetAttributeULong(string attribute, ulong attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_uint64(Handle, native_attribute, attr_value);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_icon(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_icon(IntPtr raw, IntPtr icon);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_file_info_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+			set {
+				g_file_info_set_icon(Handle, value == null ? IntPtr.Zero : value.Handle);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_byte_string(IntPtr raw, IntPtr attribute, IntPtr attr_value);
+
+		public void SetAttributeByteString(string attribute, string attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr native_attr_value = GLib.Marshaller.StringToPtrGStrdup (attr_value);
+			g_file_info_set_attribute_byte_string(Handle, native_attribute, native_attr_value);
+			GLib.Marshaller.Free (native_attribute);
+			GLib.Marshaller.Free (native_attr_value);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_display_name(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_display_name(IntPtr raw, IntPtr display_name);
+
+		public string DisplayName { 
+			get {
+				IntPtr raw_ret = g_file_info_get_display_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_file_info_set_display_name(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_info_get_file_type(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_file_type(IntPtr raw, int type);
+
+		public GLib.FileType FileType { 
+			get {
+				int raw_ret = g_file_info_get_file_type(Handle);
+				GLib.FileType ret = (GLib.FileType) raw_ret;
+				return ret;
+			}
+			set {
+				g_file_info_set_file_type(Handle, (int) value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_boolean(IntPtr raw, IntPtr attribute, bool attr_value);
+
+		public void SetAttributeBoolean(string attribute, bool attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_boolean(Handle, native_attribute, attr_value);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_string(IntPtr raw, IntPtr attribute, IntPtr attr_value);
+
+		public void SetAttributeString(string attribute, string attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr native_attr_value = GLib.Marshaller.StringToPtrGStrdup (attr_value);
+			g_file_info_set_attribute_string(Handle, native_attribute, native_attr_value);
+			GLib.Marshaller.Free (native_attribute);
+			GLib.Marshaller.Free (native_attr_value);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_get_is_symlink(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_is_symlink(IntPtr raw, bool is_symlink);
+
+		public bool IsSymlink { 
+			get {
+				bool raw_ret = g_file_info_get_is_symlink(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_file_info_set_is_symlink(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_int32(IntPtr raw, IntPtr attribute, int attr_value);
+
+		public void SetAttributeInt(string attribute, int attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_int32(Handle, native_attribute, attr_value);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_info_get_attribute_status(IntPtr raw, IntPtr attribute);
+
+		public GLib.FileAttributeStatus GetAttributeStatus(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			int raw_ret = g_file_info_get_attribute_status(Handle, native_attribute);
+			GLib.FileAttributeStatus ret = (GLib.FileAttributeStatus) raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_get_attribute_data(IntPtr raw, IntPtr attribute, out int type, IntPtr value_pp, out int status);
+
+		public bool GetAttributeData(string attribute, out GLib.FileAttributeType type, IntPtr value_pp, out GLib.FileAttributeStatus status) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			int native_type;
+			int native_status;
+			bool raw_ret = g_file_info_get_attribute_data(Handle, native_attribute, out native_type, value_pp, out native_status);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			type = (GLib.FileAttributeType) native_type;
+			status = (GLib.FileAttributeStatus) native_status;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_object(IntPtr raw, IntPtr attribute, IntPtr attr_value);
+
+		public void SetAttributeObject(string attribute, GLib.Object attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_object(Handle, native_attribute, attr_value == null ? IntPtr.Zero : attr_value.Handle);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_file_info_get_attribute_int32(IntPtr raw, IntPtr attribute);
+
+		public int GetAttributeInt(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			int raw_ret = g_file_info_get_attribute_int32(Handle, native_attribute);
+			int ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_info_has_namespace(IntPtr raw, IntPtr name_space);
+
+		public bool HasNamespace(string name_space) {
+			IntPtr native_name_space = GLib.Marshaller.StringToPtrGStrdup (name_space);
+			bool raw_ret = g_file_info_has_namespace(Handle, native_name_space);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_name_space);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_name(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_name(IntPtr raw, IntPtr name);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_file_info_get_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_file_info_set_name(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_attribute_stringv(IntPtr raw, IntPtr attribute);
+
+		public string GetAttributeStringv(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr raw_ret = g_file_info_get_attribute_stringv(Handle, native_attribute);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute(IntPtr raw, IntPtr attribute, int type, IntPtr value_p);
+
+		public void SetAttribute(string attribute, GLib.FileAttributeType type, IntPtr value_p) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute(Handle, native_attribute, (int) type, value_p);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_attribute_byte_string(IntPtr raw, IntPtr attribute);
+
+		public string GetAttributeByteString(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr raw_ret = g_file_info_get_attribute_byte_string(Handle, native_attribute);
+			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern uint g_file_info_get_attribute_uint32(IntPtr raw, IntPtr attribute);
+
+		public uint GetAttributeUInt(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			uint raw_ret = g_file_info_get_attribute_uint32(Handle, native_attribute);
+			uint ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_content_type(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_content_type(IntPtr raw, IntPtr content_type);
+
+		public string ContentType { 
+			get {
+				IntPtr raw_ret = g_file_info_get_content_type(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_file_info_set_content_type(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_dup(IntPtr raw);
+
+		public GLib.FileInfo Dup() {
+			IntPtr raw_ret = g_file_info_dup(Handle);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_attribute_string(IntPtr raw, IntPtr attribute);
+
+		public string GetAttributeString(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr raw_ret = g_file_info_get_attribute_string(Handle, native_attribute);
+			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_attribute_uint32(IntPtr raw, IntPtr attribute, uint attr_value);
+
+		public void SetAttributeUInt(string attribute, uint attr_value) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			g_file_info_set_attribute_uint32(Handle, native_attribute, attr_value);
+			GLib.Marshaller.Free (native_attribute);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_file_info_get_size(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_size(IntPtr raw, long size);
+
+		public long Size { 
+			get {
+				long raw_ret = g_file_info_get_size(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_file_info_set_size(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_symlink_target(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_symlink_target(IntPtr raw, IntPtr symlink_target);
+
+		public string SymlinkTarget { 
+			get {
+				IntPtr raw_ret = g_file_info_get_symlink_target(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_file_info_set_symlink_target(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_edit_name(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_set_edit_name(IntPtr raw, IntPtr edit_name);
+
+		public string EditName { 
+			get {
+				IntPtr raw_ret = g_file_info_get_edit_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_file_info_set_edit_name(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_file_info_get_attribute_int64(IntPtr raw, IntPtr attribute);
+
+		public long GetAttributeLong(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			long raw_ret = g_file_info_get_attribute_int64(Handle, native_attribute);
+			long ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_info_unset_attribute_mask(IntPtr raw);
+
+		public void UnsetAttributeMask() {
+			g_file_info_unset_attribute_mask(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_info_get_attribute_object(IntPtr raw, IntPtr attribute);
+
+		public GLib.Object GetAttributeObject(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			IntPtr raw_ret = g_file_info_get_attribute_object(Handle, native_attribute);
+			GLib.Object ret = GLib.Object.GetObject (raw_ret);
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern ulong g_file_info_get_attribute_uint64(IntPtr raw, IntPtr attribute);
+
+		public ulong GetAttributeULong(string attribute) {
+			IntPtr native_attribute = GLib.Marshaller.StringToPtrGStrdup (attribute);
+			ulong raw_ret = g_file_info_get_attribute_uint64(Handle, native_attribute);
+			ulong ret = raw_ret;
+			GLib.Marshaller.Free (native_attribute);
+			return ret;
+		}
+
+#endregion
+#region Customized extensions
+#line 1 "FileInfo.custom"
+// FileInfo.custom - customizations to GLib.FileInfo
+//
+// Authors: Ruben Vermeersch  <ruben savanne be>
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+~FileInfo ()
+{
+    Dispose ();
+}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileInputStream.cs b/lib/gio-sharp/gio/generated/FileInputStream.cs
new file mode 100644
index 0000000..c0a96d5
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileInputStream.cs
@@ -0,0 +1,123 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileInputStream : GLib.InputStream, GLib.Seekable {
+
+		[Obsolete]
+		protected FileInputStream(GLib.GType gtype) : base(gtype) {}
+		public FileInputStream(IntPtr raw) : base(raw) {}
+
+		protected FileInputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_input_stream_query_info_async(IntPtr raw, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void QueryInfoAsync(string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_input_stream_query_info_async(Handle, native_attributes, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_input_stream_query_info_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfoFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_input_stream_query_info_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_input_stream_query_info(IntPtr raw, IntPtr attributes, IntPtr cancellable, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfo(string attributes, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_input_stream_query_info(Handle, native_attributes, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileMonitor.cs b/lib/gio-sharp/gio/generated/FileMonitor.cs
new file mode 100644
index 0000000..9bcb5cb
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileMonitor.cs
@@ -0,0 +1,163 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileMonitor : GLib.Object {
+
+		[Obsolete]
+		protected FileMonitor(GLib.GType gtype) : base(gtype) {}
+		public FileMonitor(IntPtr raw) : base(raw) {}
+
+		protected FileMonitor() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[GLib.Property ("cancelled")]
+		public bool Cancelled {
+			get {
+				GLib.Value val = GetProperty ("cancelled");
+				bool ret = (bool) val;
+				val.Dispose ();
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_monitor_set_rate_limit(IntPtr raw, int limit_msecs);
+
+		[GLib.Property ("rate-limit")]
+		public int RateLimit {
+			get {
+				GLib.Value val = GetProperty ("rate-limit");
+				int ret = (int) val;
+				val.Dispose ();
+				return ret;
+			}
+			set  {
+				g_file_monitor_set_rate_limit(Handle, value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ChangedVMDelegate (IntPtr monitor, IntPtr file, IntPtr other_file, int event_type);
+
+		static ChangedVMDelegate ChangedVMCallback;
+
+		static void changed_cb (IntPtr monitor, IntPtr file, IntPtr other_file, int event_type)
+		{
+			try {
+				FileMonitor monitor_managed = GLib.Object.GetObject (monitor, false) as FileMonitor;
+				monitor_managed.OnChanged (GLib.FileAdapter.GetObject (file, false), GLib.FileAdapter.GetObject (other_file, false), (GLib.FileMonitorEvent) event_type);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideChanged (GLib.GType gtype)
+		{
+			if (ChangedVMCallback == null)
+				ChangedVMCallback = new ChangedVMDelegate (changed_cb);
+			OverrideVirtualMethod (gtype, "changed", ChangedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.FileMonitor), ConnectionMethod="OverrideChanged")]
+		protected virtual void OnChanged (GLib.File file, GLib.File other_file, GLib.FileMonitorEvent event_type)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (4);
+			GLib.Value[] vals = new GLib.Value [4];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (file);
+			inst_and_params.Append (vals [1]);
+			vals [2] = new GLib.Value (other_file);
+			inst_and_params.Append (vals [2]);
+			vals [3] = new GLib.Value (event_type);
+			inst_and_params.Append (vals [3]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("changed")]
+		public event GLib.ChangedHandler Changed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "changed", typeof (GLib.ChangedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "changed", typeof (GLib.ChangedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_monitor_is_cancelled(IntPtr raw);
+
+		public bool IsCancelled { 
+			get {
+				bool raw_ret = g_file_monitor_is_cancelled(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_monitor_emit_event(IntPtr raw, IntPtr child, IntPtr other_file, int event_type);
+
+		public void EmitEvent(GLib.File child, GLib.File other_file, GLib.FileMonitorEvent event_type) {
+			g_file_monitor_emit_event(Handle, child == null ? IntPtr.Zero : child.Handle, other_file == null ? IntPtr.Zero : other_file.Handle, (int) event_type);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_monitor_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_monitor_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_file_monitor_cancel(IntPtr raw);
+
+		public bool Cancel() {
+			bool raw_ret = g_file_monitor_cancel(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_monitor_file(IntPtr file, int flags, IntPtr cancellable, out IntPtr error);
+
+		public static unsafe GLib.FileMonitor File(GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_monitor_file(file == null ? IntPtr.Zero : file.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileMonitor ret = GLib.Object.GetObject(raw_ret) as GLib.FileMonitor;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_monitor_directory(IntPtr file, int flags, IntPtr cancellable, out IntPtr error);
+
+		public static unsafe GLib.FileMonitor Directory(GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_monitor_directory(file == null ? IntPtr.Zero : file.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileMonitor ret = GLib.Object.GetObject(raw_ret) as GLib.FileMonitor;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileMonitorEvent.cs b/lib/gio-sharp/gio/generated/FileMonitorEvent.cs
new file mode 100644
index 0000000..d5caf05
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileMonitorEvent.cs
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.FileMonitorEventGType))]
+	public enum FileMonitorEvent {
+
+		Changed,
+		ChangesDoneHint,
+		Deleted,
+		Created,
+		AttributeChanged,
+		PreUnmount,
+		Unmounted,
+	}
+
+	internal class FileMonitorEventGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_monitor_event_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_monitor_event_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileMonitorFlags.cs b/lib/gio-sharp/gio/generated/FileMonitorFlags.cs
new file mode 100644
index 0000000..da3a3e7
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileMonitorFlags.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.FileMonitorFlagsGType))]
+	public enum FileMonitorFlags {
+
+		None,
+		WatchMounts = 1 << 0,
+	}
+
+	internal class FileMonitorFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_monitor_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_monitor_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileOutputStream.cs b/lib/gio-sharp/gio/generated/FileOutputStream.cs
new file mode 100644
index 0000000..a5d37a8
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileOutputStream.cs
@@ -0,0 +1,134 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FileOutputStream : GLib.OutputStream, GLib.Seekable {
+
+		[Obsolete]
+		protected FileOutputStream(GLib.GType gtype) : base(gtype) {}
+		public FileOutputStream(IntPtr raw) : base(raw) {}
+
+		protected FileOutputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_file_output_stream_query_info_async(IntPtr raw, IntPtr attributes, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void QueryInfoAsync(string attributes, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_file_output_stream_query_info_async(Handle, native_attributes, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+			GLib.Marshaller.Free (native_attributes);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_output_stream_get_etag(IntPtr raw);
+
+		public string Etag { 
+			get {
+				IntPtr raw_ret = g_file_output_stream_get_etag(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_file_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_output_stream_query_info_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfoFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_output_stream_query_info_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_file_output_stream_query_info(IntPtr raw, IntPtr attributes, IntPtr cancellable, out IntPtr error);
+
+		public unsafe GLib.FileInfo QueryInfo(string attributes, GLib.Cancellable cancellable) {
+			IntPtr native_attributes = GLib.Marshaller.StringToPtrGStrdup (attributes);
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_file_output_stream_query_info(Handle, native_attributes, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.FileInfo ret = GLib.Object.GetObject(raw_ret) as GLib.FileInfo;
+			GLib.Marshaller.Free (native_attributes);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FileProgressCallback.cs b/lib/gio-sharp/gio/generated/FileProgressCallback.cs
new file mode 100644
index 0000000..265549d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileProgressCallback.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void FileProgressCallback(long current_num_bytes, long total_num_bytes);
+
+}
diff --git a/lib/gio-sharp/gio/generated/FileQueryInfoFlags.cs b/lib/gio-sharp/gio/generated/FileQueryInfoFlags.cs
new file mode 100644
index 0000000..4338289
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileQueryInfoFlags.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.FileQueryInfoFlagsGType))]
+	public enum FileQueryInfoFlags {
+
+		None,
+		NofollowSymlinks = 1 << 0,
+	}
+
+	internal class FileQueryInfoFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_query_info_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_query_info_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FileReadMoreCallback.cs b/lib/gio-sharp/gio/generated/FileReadMoreCallback.cs
new file mode 100644
index 0000000..c00989b
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileReadMoreCallback.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate bool FileReadMoreCallback(string file_contents, long file_size);
+
+}
diff --git a/lib/gio-sharp/gio/generated/FileType.cs b/lib/gio-sharp/gio/generated/FileType.cs
new file mode 100644
index 0000000..f97d74c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FileType.cs
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.FileTypeGType))]
+	public enum FileType {
+
+		Unknown,
+		Regular,
+		Directory,
+		SymbolicLink,
+		Special,
+		Shortcut,
+		Mountable,
+	}
+
+	internal class FileTypeGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_file_type_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_file_type_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FilenameCompleter.cs b/lib/gio-sharp/gio/generated/FilenameCompleter.cs
new file mode 100644
index 0000000..100220d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FilenameCompleter.cs
@@ -0,0 +1,120 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FilenameCompleter : GLib.Object {
+
+		[Obsolete]
+		protected FilenameCompleter(GLib.GType gtype) : base(gtype) {}
+		public FilenameCompleter(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filename_completer_new();
+
+		public FilenameCompleter () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (FilenameCompleter)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_filename_completer_new();
+		}
+
+		[GLib.CDeclCallback]
+		delegate void GotCompletionDataVMDelegate (IntPtr filename_completer);
+
+		static GotCompletionDataVMDelegate GotCompletionDataVMCallback;
+
+		static void gotcompletiondata_cb (IntPtr filename_completer)
+		{
+			try {
+				FilenameCompleter filename_completer_managed = GLib.Object.GetObject (filename_completer, false) as FilenameCompleter;
+				filename_completer_managed.OnGotCompletionData ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideGotCompletionData (GLib.GType gtype)
+		{
+			if (GotCompletionDataVMCallback == null)
+				GotCompletionDataVMCallback = new GotCompletionDataVMDelegate (gotcompletiondata_cb);
+			OverrideVirtualMethod (gtype, "got-completion-data", GotCompletionDataVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.FilenameCompleter), ConnectionMethod="OverrideGotCompletionData")]
+		protected virtual void OnGotCompletionData ()
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+			GLib.Value[] vals = new GLib.Value [1];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("got-completion-data")]
+		public event System.EventHandler GotCompletionData {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "got-completion-data");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "got-completion-data");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filename_completer_get_completion_suffix(IntPtr raw, IntPtr initial_text);
+
+		public string GetCompletionSuffix(string initial_text) {
+			IntPtr native_initial_text = GLib.Marshaller.StringToPtrGStrdup (initial_text);
+			IntPtr raw_ret = g_filename_completer_get_completion_suffix(Handle, native_initial_text);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_initial_text);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filename_completer_get_completions(IntPtr raw, IntPtr initial_text);
+
+		public string GetCompletions(string initial_text) {
+			IntPtr native_initial_text = GLib.Marshaller.StringToPtrGStrdup (initial_text);
+			IntPtr raw_ret = g_filename_completer_get_completions(Handle, native_initial_text);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_initial_text);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filename_completer_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_filename_completer_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_filename_completer_set_dirs_only(IntPtr raw, bool dirs_only);
+
+		public bool DirsOnly { 
+			set {
+				g_filename_completer_set_dirs_only(Handle, value);
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FilesystemPreviewType.cs b/lib/gio-sharp/gio/generated/FilesystemPreviewType.cs
new file mode 100644
index 0000000..43468cf
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FilesystemPreviewType.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.FilesystemPreviewTypeGType))]
+	public enum FilesystemPreviewType {
+
+		IfAlways,
+		IfLocal,
+		Never,
+	}
+
+	internal class FilesystemPreviewTypeGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_filesystem_preview_type_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_filesystem_preview_type_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/FilterInputStream.cs b/lib/gio-sharp/gio/generated/FilterInputStream.cs
new file mode 100644
index 0000000..4069eb8
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FilterInputStream.cs
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FilterInputStream : GLib.InputStream {
+
+		[Obsolete]
+		protected FilterInputStream(GLib.GType gtype) : base(gtype) {}
+		public FilterInputStream(IntPtr raw) : base(raw) {}
+
+		protected FilterInputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filter_input_stream_get_base_stream(IntPtr raw);
+
+		[GLib.Property ("base-stream")]
+		public GLib.InputStream BaseStream {
+			get  {
+				IntPtr raw_ret = g_filter_input_stream_get_base_stream(Handle);
+				GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_filter_input_stream_get_close_base_stream(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_filter_input_stream_set_close_base_stream(IntPtr raw, bool close_base);
+
+		[GLib.Property ("close-base-stream")]
+		public bool CloseBaseStream {
+			get  {
+				bool raw_ret = g_filter_input_stream_get_close_base_stream(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_filter_input_stream_set_close_base_stream(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filter_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_filter_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/FilterOutputStream.cs b/lib/gio-sharp/gio/generated/FilterOutputStream.cs
new file mode 100644
index 0000000..3581750
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/FilterOutputStream.cs
@@ -0,0 +1,65 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class FilterOutputStream : GLib.OutputStream {
+
+		[Obsolete]
+		protected FilterOutputStream(GLib.GType gtype) : base(gtype) {}
+		public FilterOutputStream(IntPtr raw) : base(raw) {}
+
+		protected FilterOutputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filter_output_stream_get_base_stream(IntPtr raw);
+
+		[GLib.Property ("base-stream")]
+		public GLib.OutputStream BaseStream {
+			get  {
+				IntPtr raw_ret = g_filter_output_stream_get_base_stream(Handle);
+				GLib.OutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.OutputStream;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_filter_output_stream_get_close_base_stream(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_filter_output_stream_set_close_base_stream(IntPtr raw, bool close_base);
+
+		[GLib.Property ("close-base-stream")]
+		public bool CloseBaseStream {
+			get  {
+				bool raw_ret = g_filter_output_stream_get_close_base_stream(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_filter_output_stream_set_close_base_stream(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_filter_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_filter_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.AsyncReadyCallbackNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.AsyncReadyCallbackNative.cs
new file mode 100644
index 0000000..10531b0
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.AsyncReadyCallbackNative.cs
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate void AsyncReadyCallbackNative(IntPtr source_object, IntPtr res, IntPtr user_data);
+
+	internal class AsyncReadyCallbackInvoker {
+
+		AsyncReadyCallbackNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~AsyncReadyCallbackInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal AsyncReadyCallbackInvoker (AsyncReadyCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.AsyncReadyCallback Handler {
+			get {
+				return new GLib.AsyncReadyCallback(InvokeNative);
+			}
+		}
+
+		void InvokeNative (GLib.Object source_object, GLib.AsyncResult res)
+		{
+			native_cb (source_object == null ? IntPtr.Zero : source_object.Handle, res == null ? IntPtr.Zero : res.Handle, __data);
+		}
+	}
+
+	internal class AsyncReadyCallbackWrapper {
+
+		public void NativeCallback (IntPtr source_object, IntPtr res, IntPtr user_data)
+		{
+			try {
+				managed (GLib.Object.GetObject (source_object), GLib.AsyncResultAdapter.GetObject (res, false));
+				if (release_on_call)
+					gch.Free ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal AsyncReadyCallbackNative NativeDelegate;
+		GLib.AsyncReadyCallback managed;
+
+		public AsyncReadyCallbackWrapper (GLib.AsyncReadyCallback managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new AsyncReadyCallbackNative (NativeCallback);
+		}
+
+		public static GLib.AsyncReadyCallback GetManagedDelegate (AsyncReadyCallbackNative native)
+		{
+			if (native == null)
+				return null;
+			AsyncReadyCallbackWrapper wrapper = (AsyncReadyCallbackWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.FileProgressCallbackNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.FileProgressCallbackNative.cs
new file mode 100644
index 0000000..9fa6dcb
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.FileProgressCallbackNative.cs
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate void FileProgressCallbackNative(long current_num_bytes, long total_num_bytes, IntPtr user_data);
+
+	internal class FileProgressCallbackInvoker {
+
+		FileProgressCallbackNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~FileProgressCallbackInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal FileProgressCallbackInvoker (FileProgressCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal FileProgressCallbackInvoker (FileProgressCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal FileProgressCallbackInvoker (FileProgressCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.FileProgressCallback Handler {
+			get {
+				return new GLib.FileProgressCallback(InvokeNative);
+			}
+		}
+
+		void InvokeNative (long current_num_bytes, long total_num_bytes)
+		{
+			native_cb (current_num_bytes, total_num_bytes, __data);
+		}
+	}
+
+	internal class FileProgressCallbackWrapper {
+
+		public void NativeCallback (long current_num_bytes, long total_num_bytes, IntPtr user_data)
+		{
+			try {
+				managed (current_num_bytes, total_num_bytes);
+				if (release_on_call)
+					gch.Free ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal FileProgressCallbackNative NativeDelegate;
+		GLib.FileProgressCallback managed;
+
+		public FileProgressCallbackWrapper (GLib.FileProgressCallback managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new FileProgressCallbackNative (NativeCallback);
+		}
+
+		public static GLib.FileProgressCallback GetManagedDelegate (FileProgressCallbackNative native)
+		{
+			if (native == null)
+				return null;
+			FileProgressCallbackWrapper wrapper = (FileProgressCallbackWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.FileReadMoreCallbackNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.FileReadMoreCallbackNative.cs
new file mode 100644
index 0000000..74f6fc2
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.FileReadMoreCallbackNative.cs
@@ -0,0 +1,97 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate bool FileReadMoreCallbackNative(IntPtr file_contents, long file_size, IntPtr callback_data);
+
+	internal class FileReadMoreCallbackInvoker {
+
+		FileReadMoreCallbackNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~FileReadMoreCallbackInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal FileReadMoreCallbackInvoker (FileReadMoreCallbackNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal FileReadMoreCallbackInvoker (FileReadMoreCallbackNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal FileReadMoreCallbackInvoker (FileReadMoreCallbackNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.FileReadMoreCallback Handler {
+			get {
+				return new GLib.FileReadMoreCallback(InvokeNative);
+			}
+		}
+
+		bool InvokeNative (string file_contents, long file_size)
+		{
+			IntPtr native_file_contents = GLib.Marshaller.StringToPtrGStrdup (file_contents);
+			bool result = native_cb (native_file_contents, file_size, __data);
+			GLib.Marshaller.Free (native_file_contents);
+			return result;
+		}
+	}
+
+	internal class FileReadMoreCallbackWrapper {
+
+		public bool NativeCallback (IntPtr file_contents, long file_size, IntPtr callback_data)
+		{
+			try {
+				bool __ret = managed (GLib.Marshaller.Utf8PtrToString (file_contents), file_size);
+				if (release_on_call)
+					gch.Free ();
+				return __ret;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+				return false;
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal FileReadMoreCallbackNative NativeDelegate;
+		GLib.FileReadMoreCallback managed;
+
+		public FileReadMoreCallbackWrapper (GLib.FileReadMoreCallback managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new FileReadMoreCallbackNative (NativeCallback);
+		}
+
+		public static GLib.FileReadMoreCallback GetManagedDelegate (FileReadMoreCallbackNative native)
+		{
+			if (native == null)
+				return null;
+			FileReadMoreCallbackWrapper wrapper = (FileReadMoreCallbackWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.GSourceFuncNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.GSourceFuncNative.cs
new file mode 100644
index 0000000..f8a57c6
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.GSourceFuncNative.cs
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate bool GSourceFuncNative(IntPtr data);
+
+	internal class GSourceFuncInvoker {
+
+		GSourceFuncNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~GSourceFuncInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal GSourceFuncInvoker (GSourceFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal GSourceFuncInvoker (GSourceFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal GSourceFuncInvoker (GSourceFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.GSourceFunc Handler {
+			get {
+				return new GLib.GSourceFunc(InvokeNative);
+			}
+		}
+
+		bool InvokeNative ()
+		{
+			bool result = native_cb (__data);
+			return result;
+		}
+	}
+
+	internal class GSourceFuncWrapper {
+
+		public bool NativeCallback (IntPtr data)
+		{
+			try {
+				bool __ret = managed ();
+				if (release_on_call)
+					gch.Free ();
+				return __ret;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+				return false;
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal GSourceFuncNative NativeDelegate;
+		GLib.GSourceFunc managed;
+
+		public GSourceFuncWrapper (GLib.GSourceFunc managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new GSourceFuncNative (NativeCallback);
+		}
+
+		public static GLib.GSourceFunc GetManagedDelegate (GSourceFuncNative native)
+		{
+			if (native == null)
+				return null;
+			GSourceFuncWrapper wrapper = (GSourceFuncWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.IOSchedulerJobFuncNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.IOSchedulerJobFuncNative.cs
new file mode 100644
index 0000000..67fa265
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.IOSchedulerJobFuncNative.cs
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate bool IOSchedulerJobFuncNative(IntPtr job, IntPtr cancellable, IntPtr user_data);
+
+	internal class IOSchedulerJobFuncInvoker {
+
+		IOSchedulerJobFuncNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~IOSchedulerJobFuncInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal IOSchedulerJobFuncInvoker (IOSchedulerJobFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal IOSchedulerJobFuncInvoker (IOSchedulerJobFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal IOSchedulerJobFuncInvoker (IOSchedulerJobFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.IOSchedulerJobFunc Handler {
+			get {
+				return new GLib.IOSchedulerJobFunc(InvokeNative);
+			}
+		}
+
+		bool InvokeNative (GLib.IOSchedulerJob job, GLib.Cancellable cancellable)
+		{
+			bool result = native_cb (job == null ? IntPtr.Zero : job.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, __data);
+			return result;
+		}
+	}
+
+	internal class IOSchedulerJobFuncWrapper {
+
+		public bool NativeCallback (IntPtr job, IntPtr cancellable, IntPtr user_data)
+		{
+			try {
+				bool __ret = managed (job == IntPtr.Zero ? null : (GLib.IOSchedulerJob) GLib.Opaque.GetOpaque (job, typeof (GLib.IOSchedulerJob), false), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				if (release_on_call)
+					gch.Free ();
+				return __ret;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+				return false;
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal IOSchedulerJobFuncNative NativeDelegate;
+		GLib.IOSchedulerJobFunc managed;
+
+		public IOSchedulerJobFuncWrapper (GLib.IOSchedulerJobFunc managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new IOSchedulerJobFuncNative (NativeCallback);
+		}
+
+		public static GLib.IOSchedulerJobFunc GetManagedDelegate (IOSchedulerJobFuncNative native)
+		{
+			if (native == null)
+				return null;
+			IOSchedulerJobFuncWrapper wrapper = (IOSchedulerJobFuncWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.ReallocFuncNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.ReallocFuncNative.cs
new file mode 100644
index 0000000..9157e89
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.ReallocFuncNative.cs
@@ -0,0 +1,96 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate IntPtr ReallocFuncNative(IntPtr data, UIntPtr size);
+
+	internal class ReallocFuncInvoker {
+
+		ReallocFuncNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~ReallocFuncInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal ReallocFuncInvoker (ReallocFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal ReallocFuncInvoker (ReallocFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal ReallocFuncInvoker (ReallocFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.ReallocFunc Handler {
+			get {
+				return new GLib.ReallocFunc(InvokeNative);
+			}
+		}
+
+		IntPtr InvokeNative (IntPtr data, ulong size)
+		{
+			IntPtr result = native_cb (__data, new UIntPtr (size));
+			return result;
+		}
+	}
+
+	internal class ReallocFuncWrapper {
+
+		public IntPtr NativeCallback (IntPtr data, UIntPtr size)
+		{
+			try {
+				IntPtr __ret = managed (data, (ulong) size);
+				if (release_on_call)
+					gch.Free ();
+				return __ret;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: Above call does not return.
+				throw e;
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal ReallocFuncNative NativeDelegate;
+		GLib.ReallocFunc managed;
+
+		public ReallocFuncWrapper (GLib.ReallocFunc managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new ReallocFuncNative (NativeCallback);
+		}
+
+		public static GLib.ReallocFunc GetManagedDelegate (ReallocFuncNative native)
+		{
+			if (native == null)
+				return null;
+			ReallocFuncWrapper wrapper = (ReallocFuncWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/GLibSharp.SimpleAsyncThreadFuncNative.cs b/lib/gio-sharp/gio/generated/GLibSharp.SimpleAsyncThreadFuncNative.cs
new file mode 100644
index 0000000..198f455
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/GLibSharp.SimpleAsyncThreadFuncNative.cs
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.CDeclCallback]
+	internal delegate void SimpleAsyncThreadFuncNative(IntPtr res, IntPtr objekt, IntPtr cancellable);
+
+	internal class SimpleAsyncThreadFuncInvoker {
+
+		SimpleAsyncThreadFuncNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~SimpleAsyncThreadFuncInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal SimpleAsyncThreadFuncInvoker (SimpleAsyncThreadFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal SimpleAsyncThreadFuncInvoker (SimpleAsyncThreadFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal SimpleAsyncThreadFuncInvoker (SimpleAsyncThreadFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.SimpleAsyncThreadFunc Handler {
+			get {
+				return new GLib.SimpleAsyncThreadFunc(InvokeNative);
+			}
+		}
+
+		void InvokeNative (GLib.SimpleAsyncResult res, GLib.Object objekt, GLib.Cancellable cancellable)
+		{
+			native_cb (res == null ? IntPtr.Zero : res.Handle, objekt == null ? IntPtr.Zero : objekt.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+		}
+	}
+
+	internal class SimpleAsyncThreadFuncWrapper {
+
+		public void NativeCallback (IntPtr res, IntPtr objekt, IntPtr cancellable)
+		{
+			try {
+				managed (GLib.Object.GetObject(res) as GLib.SimpleAsyncResult, GLib.Object.GetObject (objekt), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				if (release_on_call)
+					gch.Free ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal SimpleAsyncThreadFuncNative NativeDelegate;
+		GLib.SimpleAsyncThreadFunc managed;
+
+		public SimpleAsyncThreadFuncWrapper (GLib.SimpleAsyncThreadFunc managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new SimpleAsyncThreadFuncNative (NativeCallback);
+		}
+
+		public static GLib.SimpleAsyncThreadFunc GetManagedDelegate (SimpleAsyncThreadFuncNative native)
+		{
+			if (native == null)
+				return null;
+			SimpleAsyncThreadFuncWrapper wrapper = (SimpleAsyncThreadFuncWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/IOErrorEnum.cs b/lib/gio-sharp/gio/generated/IOErrorEnum.cs
new file mode 100644
index 0000000..106bebd
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOErrorEnum.cs
@@ -0,0 +1,48 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public enum IOErrorEnum {
+
+		Failed,
+		NotFound,
+		Exists,
+		IsDirectory,
+		NotDirectory,
+		NotEmpty,
+		NotRegularFile,
+		NotSymbolicLink,
+		NotMountableFile,
+		FilenameTooLong,
+		InvalidFilename,
+		TooManyLinks,
+		NoSpace,
+		InvalidArgument,
+		PermissionDenied,
+		NotSupported,
+		NotMounted,
+		AlreadyMounted,
+		Closed,
+		Cancelled,
+		Pending,
+		ReadOnly,
+		CantCreateBackup,
+		WrongEtag,
+		TimedOut,
+		WouldRecurse,
+		Busy,
+		WouldBlock,
+		HostNotFound,
+		WouldMerge,
+		FailedHandled,
+		TooManyOpenFiles,
+		NotInitialized,
+		AddressInUse,
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/IOExtension.cs b/lib/gio-sharp/gio/generated/IOExtension.cs
new file mode 100644
index 0000000..985fbf2
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOExtension.cs
@@ -0,0 +1,50 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IOExtension : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_get_type(IntPtr raw);
+
+		public GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_io_extension_get_type(Handle);
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_io_extension_get_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_io_extension_get_priority(IntPtr raw);
+
+		public int Priority { 
+			get {
+				int raw_ret = g_io_extension_get_priority(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		public IOExtension(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/IOExtensionPoint.cs b/lib/gio-sharp/gio/generated/IOExtensionPoint.cs
new file mode 100644
index 0000000..e508a52
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOExtensionPoint.cs
@@ -0,0 +1,91 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IOExtensionPoint : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_implement(IntPtr extension_point_name, IntPtr type, IntPtr extension_name, int priority);
+
+		public static GLib.IOExtension Implement(string extension_point_name, GLib.GType type, string extension_name, int priority) {
+			IntPtr native_extension_point_name = GLib.Marshaller.StringToPtrGStrdup (extension_point_name);
+			IntPtr native_extension_name = GLib.Marshaller.StringToPtrGStrdup (extension_name);
+			IntPtr raw_ret = g_io_extension_point_implement(native_extension_point_name, type.Val, native_extension_name, priority);
+			GLib.IOExtension ret = raw_ret == IntPtr.Zero ? null : (GLib.IOExtension) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.IOExtension), false);
+			GLib.Marshaller.Free (native_extension_point_name);
+			GLib.Marshaller.Free (native_extension_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_lookup(IntPtr name);
+
+		public static GLib.IOExtensionPoint Lookup(string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			IntPtr raw_ret = g_io_extension_point_lookup(native_name);
+			GLib.IOExtensionPoint ret = raw_ret == IntPtr.Zero ? null : (GLib.IOExtensionPoint) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.IOExtensionPoint), false);
+			GLib.Marshaller.Free (native_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_register(IntPtr name);
+
+		public static GLib.IOExtensionPoint Register(string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			IntPtr raw_ret = g_io_extension_point_register(native_name);
+			GLib.IOExtensionPoint ret = raw_ret == IntPtr.Zero ? null : (GLib.IOExtensionPoint) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.IOExtensionPoint), false);
+			GLib.Marshaller.Free (native_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_get_extension_by_name(IntPtr raw, IntPtr name);
+
+		public GLib.IOExtension GetExtensionByName(string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			IntPtr raw_ret = g_io_extension_point_get_extension_by_name(Handle, native_name);
+			GLib.IOExtension ret = raw_ret == IntPtr.Zero ? null : (GLib.IOExtension) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.IOExtension), false);
+			GLib.Marshaller.Free (native_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_get_extensions(IntPtr raw);
+
+		public GLib.List Extensions { 
+			get {
+				IntPtr raw_ret = g_io_extension_point_get_extensions(Handle);
+				GLib.List ret = new GLib.List(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_extension_point_get_required_type(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_extension_point_set_required_type(IntPtr raw, IntPtr type);
+
+		public GLib.GType RequiredType { 
+			get {
+				IntPtr raw_ret = g_io_extension_point_get_required_type(Handle);
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+			set {
+				g_io_extension_point_set_required_type(Handle, value.Val);
+			}
+		}
+
+		public IOExtensionPoint(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/IOModule.cs b/lib/gio-sharp/gio/generated/IOModule.cs
new file mode 100644
index 0000000..8a8362d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOModule.cs
@@ -0,0 +1,57 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IOModule : GLib.Object {
+
+		[Obsolete]
+		protected IOModule(GLib.GType gtype) : base(gtype) {}
+		public IOModule(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_module_new(IntPtr filename);
+
+		public IOModule (string filename) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (IOModule)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup (filename);
+			Raw = g_io_module_new(native_filename);
+			GLib.Marshaller.Free (native_filename);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_module_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_io_module_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_module_load(IntPtr raw);
+
+		public void Load() {
+			g_io_module_load(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_module_unload(IntPtr raw);
+
+		public void Unload() {
+			g_io_module_unload(Handle);
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/IOSchedulerJob.cs b/lib/gio-sharp/gio/generated/IOSchedulerJob.cs
new file mode 100644
index 0000000..f09ecdf
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOSchedulerJob.cs
@@ -0,0 +1,53 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IOSchedulerJob : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_scheduler_job_send_to_mainloop_async(IntPtr raw, GLibSharp.GSourceFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+		public void SendToMainloopAsync(GLib.GSourceFunc func) {
+			GLibSharp.GSourceFuncWrapper func_wrapper = new GLibSharp.GSourceFuncWrapper (func);
+			IntPtr user_data;
+			GLib.DestroyNotify notify;
+			if (func == null) {
+				user_data = IntPtr.Zero;
+				notify = null;
+			} else {
+				user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+				notify = GLib.DestroyHelper.NotifyHandler;
+			}
+			g_io_scheduler_job_send_to_mainloop_async(Handle, func_wrapper.NativeDelegate, user_data, notify);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_io_scheduler_job_send_to_mainloop(IntPtr raw, GLibSharp.GSourceFuncNative func, IntPtr user_data, GLib.DestroyNotify notify);
+
+		public bool SendToMainloop(GLib.GSourceFunc func) {
+			GLibSharp.GSourceFuncWrapper func_wrapper = new GLibSharp.GSourceFuncWrapper (func);
+			IntPtr user_data;
+			GLib.DestroyNotify notify;
+			if (func == null) {
+				user_data = IntPtr.Zero;
+				notify = null;
+			} else {
+				user_data = (IntPtr) GCHandle.Alloc (func_wrapper);
+				notify = GLib.DestroyHelper.NotifyHandler;
+			}
+			bool raw_ret = g_io_scheduler_job_send_to_mainloop(Handle, func_wrapper.NativeDelegate, user_data, notify);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		public IOSchedulerJob(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/IOSchedulerJobFunc.cs b/lib/gio-sharp/gio/generated/IOSchedulerJobFunc.cs
new file mode 100644
index 0000000..f46bd0f
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOSchedulerJobFunc.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate bool IOSchedulerJobFunc(GLib.IOSchedulerJob job, GLib.Cancellable cancellable);
+
+}
diff --git a/lib/gio-sharp/gio/generated/IOStream.cs b/lib/gio-sharp/gio/generated/IOStream.cs
new file mode 100644
index 0000000..5a839b5
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IOStream.cs
@@ -0,0 +1,145 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IOStream : GLib.Object {
+
+		[Obsolete]
+		protected IOStream(GLib.GType gtype) : base(gtype) {}
+		public IOStream(IntPtr raw) : base(raw) {}
+
+		protected IOStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[GLib.Property ("closed")]
+		public bool Closed {
+			get {
+				GLib.Value val = GetProperty ("closed");
+				bool ret = (bool) val;
+				val.Dispose ();
+				return ret;
+			}
+			set {
+				GLib.Value val = new GLib.Value(value);
+				SetProperty("closed", val);
+				val.Dispose ();
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_stream_get_input_stream(IntPtr raw);
+
+		[GLib.Property ("input-stream")]
+		public GLib.InputStream InputStream {
+			get  {
+				IntPtr raw_ret = g_io_stream_get_input_stream(Handle);
+				GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_stream_get_output_stream(IntPtr raw);
+
+		[GLib.Property ("output-stream")]
+		public GLib.OutputStream OutputStream {
+			get  {
+				IntPtr raw_ret = g_io_stream_get_output_stream(Handle);
+				GLib.OutputStream ret = GLib.Object.GetObject(raw_ret) as GLib.OutputStream;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_io_stream_has_pending(IntPtr raw);
+
+		public bool HasPending { 
+			get {
+				bool raw_ret = g_io_stream_has_pending(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_io_stream_set_pending(IntPtr raw, out IntPtr error);
+
+		public unsafe bool SetPending() {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_io_stream_set_pending(Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_io_stream_close_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe bool CloseFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_io_stream_close_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_io_stream_close(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool Close(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_io_stream_close(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_io_stream_is_closed(IntPtr raw);
+
+		public bool IsClosed { 
+			get {
+				bool raw_ret = g_io_stream_is_closed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_stream_close_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CloseAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_io_stream_close_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_stream_clear_pending(IntPtr raw);
+
+		public void ClearPending() {
+			g_io_stream_clear_pending(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_io_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Icon.cs b/lib/gio-sharp/gio/generated/Icon.cs
new file mode 100644
index 0000000..95162b4
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Icon.cs
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Icon : GLib.IWrapper {
+
+		string ToString();
+		bool Equal(GLib.Icon icon2);
+	}
+
+	[GLib.GInterface (typeof (IconAdapter))]
+	public interface IconImplementor : GLib.IWrapper {
+
+		uint Hash ();
+		bool Equal (GLib.Icon icon2);
+		bool ToTokens (GLib.PtrArray tokens, out int out_version);
+		GLib.Icon FromTokens (int num_tokens, int version);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/IconAdapter.cs b/lib/gio-sharp/gio/generated/IconAdapter.cs
new file mode 100644
index 0000000..6f8575b
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/IconAdapter.cs
@@ -0,0 +1,167 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class IconAdapter : GLib.GInterfaceAdapter, GLib.Icon {
+
+		static IconIface iface;
+
+		struct IconIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public HashDelegate hash;
+			public EqualDelegate equal;
+			public IntPtr to_tokens;
+			public IntPtr from_tokens;
+		}
+
+		static IconAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(IconAdapter));
+			iface.hash = new HashDelegate (HashCallback);
+			iface.equal = new EqualDelegate (EqualCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate uint HashDelegate (IntPtr icon);
+
+		static uint HashCallback (IntPtr icon)
+		{
+			try {
+				GLib.IconImplementor __obj = GLib.Object.GetObject (icon, false) as GLib.IconImplementor;
+				uint __result = __obj.Hash ();
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool EqualDelegate (IntPtr icon1, IntPtr icon2);
+
+		static bool EqualCallback (IntPtr icon1, IntPtr icon2)
+		{
+			try {
+				GLib.IconImplementor __obj = GLib.Object.GetObject (icon1, false) as GLib.IconImplementor;
+				bool __result = __obj.Equal (GLib.IconAdapter.GetObject (icon2, false));
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			IconIface native_iface = (IconIface) Marshal.PtrToStructure (ifaceptr, typeof (IconIface));
+			native_iface.hash = iface.hash;
+			native_iface.equal = iface.equal;
+			native_iface.to_tokens = iface.to_tokens;
+			native_iface.from_tokens = iface.from_tokens;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public IconAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		IconImplementor implementor;
+
+		public IconAdapter (IconImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public IconAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_icon_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static Icon GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Icon GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is IconImplementor)
+				return new IconAdapter (obj as IconImplementor);
+			else if (obj as Icon == null)
+				return new IconAdapter (obj.Handle);
+			else
+				return obj as Icon;
+		}
+
+		public IconImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_to_string(IntPtr raw);
+
+		public override string ToString() {
+			IntPtr raw_ret = g_icon_to_string(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern uint g_icon_hash(IntPtr icon);
+
+		public static uint Hash(IntPtr icon) {
+			uint raw_ret = g_icon_hash(icon);
+			uint ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_icon_equal(IntPtr raw, IntPtr icon2);
+
+		public bool Equal(GLib.Icon icon2) {
+			bool raw_ret = g_icon_equal(Handle, icon2 == null ? IntPtr.Zero : icon2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/InetAddress.cs b/lib/gio-sharp/gio/generated/InetAddress.cs
new file mode 100644
index 0000000..c8a3f36
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/InetAddress.cs
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class InetAddress : GLib.Opaque {
+
+		public InetAddress(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/InetSocketAddress.cs b/lib/gio-sharp/gio/generated/InetSocketAddress.cs
new file mode 100644
index 0000000..1a7f772
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/InetSocketAddress.cs
@@ -0,0 +1,17 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class InetSocketAddress : GLib.Opaque {
+
+		public InetSocketAddress(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Initable.cs b/lib/gio-sharp/gio/generated/Initable.cs
new file mode 100644
index 0000000..5a25fdf
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Initable.cs
@@ -0,0 +1,20 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Initable : GLib.IWrapper {
+
+		bool Init(GLib.Cancellable cancellable);
+	}
+
+	[GLib.GInterface (typeof (InitableAdapter))]
+	public interface InitableImplementor : GLib.IWrapper {
+
+		bool Init (GLib.Cancellable cancellable);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/InitableAdapter.cs b/lib/gio-sharp/gio/generated/InitableAdapter.cs
new file mode 100644
index 0000000..7ca4038
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/InitableAdapter.cs
@@ -0,0 +1,130 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class InitableAdapter : GLib.GInterfaceAdapter, GLib.Initable {
+
+		static InitableIface iface;
+
+		struct InitableIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public InitDelegate init;
+		}
+
+		static InitableAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(InitableAdapter));
+			iface.init = new InitDelegate (InitCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate bool InitDelegate (IntPtr initable, IntPtr cancellable, out IntPtr error);
+
+		static bool InitCallback (IntPtr initable, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.InitableImplementor __obj = GLib.Object.GetObject (initable, false) as GLib.InitableImplementor;
+				bool __result = __obj.Init (GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			InitableIface native_iface = (InitableIface) Marshal.PtrToStructure (ifaceptr, typeof (InitableIface));
+			native_iface.init = iface.init;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public InitableAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		InitableImplementor implementor;
+
+		public InitableAdapter (InitableImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public InitableAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_initable_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_initable_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static Initable GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Initable GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is InitableImplementor)
+				return new InitableAdapter (obj as InitableImplementor);
+			else if (obj as Initable == null)
+				return new InitableAdapter (obj.Handle);
+			else
+				return obj as Initable;
+		}
+
+		public InitableImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_initable_init(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public bool Init(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_initable_init(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/InputStream.cs b/lib/gio-sharp/gio/generated/InputStream.cs
new file mode 100644
index 0000000..4b0da1d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/InputStream.cs
@@ -0,0 +1,181 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class InputStream : GLib.Object {
+
+		[Obsolete]
+		protected InputStream(GLib.GType gtype) : base(gtype) {}
+		public InputStream(IntPtr raw) : base(raw) {}
+
+		protected InputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_input_stream_has_pending(IntPtr raw);
+
+		public bool HasPending { 
+			get {
+				bool raw_ret = g_input_stream_has_pending(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_input_stream_set_pending(IntPtr raw, out IntPtr error);
+
+		public unsafe bool SetPending() {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_input_stream_set_pending(Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_input_stream_read_all(IntPtr raw, byte[] buffer, UIntPtr count, out UIntPtr bytes_read, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool ReadAll(byte[] buffer, ulong count, out ulong bytes_read, GLib.Cancellable cancellable) {
+			UIntPtr native_bytes_read;
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_input_stream_read_all(Handle, buffer, new UIntPtr (count), out native_bytes_read, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			bytes_read = (ulong) native_bytes_read;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_input_stream_read_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe long ReadFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_input_stream_read_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_input_stream_close_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe bool CloseFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_input_stream_close_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_input_stream_close(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool Close(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_input_stream_close(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_input_stream_skip_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe long SkipFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_input_stream_skip_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_input_stream_is_closed(IntPtr raw);
+
+		public bool IsClosed { 
+			get {
+				bool raw_ret = g_input_stream_is_closed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_input_stream_read(IntPtr raw, byte[] buffer, UIntPtr count, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long Read(byte[] buffer, ulong count, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_input_stream_read(Handle, buffer, new UIntPtr (count), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_input_stream_skip(IntPtr raw, UIntPtr count, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long Skip(ulong count, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_input_stream_skip(Handle, new UIntPtr (count), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_input_stream_close_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CloseAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_input_stream_close_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_input_stream_read_async(IntPtr raw, byte[] buffer, UIntPtr count, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void ReadAsync(byte[] buffer, ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_input_stream_read_async(Handle, buffer, new UIntPtr (count), io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_input_stream_skip_async(IntPtr raw, UIntPtr count, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void SkipAsync(ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_input_stream_skip_async(Handle, new UIntPtr (count), io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_input_stream_clear_pending(IntPtr raw);
+
+		public void ClearPending() {
+			g_input_stream_clear_pending(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/InputVector.cs b/lib/gio-sharp/gio/generated/InputVector.cs
new file mode 100644
index 0000000..6606bce
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/InputVector.cs
@@ -0,0 +1,38 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public struct InputVector {
+
+		private IntPtr _buffer;
+		private UIntPtr size;
+		public ulong Size {
+			get {
+				return (ulong) size;
+			}
+			set {
+				size = new UIntPtr (value);
+			}
+		}
+
+		public static GLib.InputVector Zero = new GLib.InputVector ();
+
+		public static GLib.InputVector New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.InputVector.Zero;
+			return (GLib.InputVector) Marshal.PtrToStructure (raw, typeof (GLib.InputVector));
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Io.cs b/lib/gio-sharp/gio/generated/Io.cs
new file mode 100644
index 0000000..28cb9ed
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Io.cs
@@ -0,0 +1,58 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Io {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_io_error_from_errno(int err_no);
+
+		public static GLib.IOErrorEnum ErrorFromErrno(int err_no) {
+			int raw_ret = g_io_error_from_errno(err_no);
+			GLib.IOErrorEnum ret = (GLib.IOErrorEnum) raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_io_modules_load_all_in_directory(IntPtr dirname);
+
+		public static GLib.List ModulesLoadAllInDirectory(string dirname) {
+			IntPtr native_dirname = GLib.Marshaller.StringToPtrGStrdup (dirname);
+			IntPtr raw_ret = g_io_modules_load_all_in_directory(native_dirname);
+			GLib.List ret = new GLib.List(raw_ret);
+			GLib.Marshaller.Free (native_dirname);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_scheduler_push_job(GLibSharp.IOSchedulerJobFuncNative job_func, IntPtr user_data, GLib.DestroyNotify notify, int io_priority, IntPtr cancellable);
+
+		public static void SchedulerPushJob(GLib.IOSchedulerJobFunc job_func, GLib.DestroyNotify notify, int io_priority, GLib.Cancellable cancellable) {
+			GLibSharp.IOSchedulerJobFuncWrapper job_func_wrapper = new GLibSharp.IOSchedulerJobFuncWrapper (job_func);
+			g_io_scheduler_push_job(job_func_wrapper.NativeDelegate, IntPtr.Zero, notify, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_io_error_quark();
+
+		public static int ErrorQuark() {
+			int raw_ret = g_io_error_quark();
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_io_scheduler_cancel_all_jobs();
+
+		public static void SchedulerCancelAllJobs() {
+			g_io_scheduler_cancel_all_jobs();
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/LoadableIcon.cs b/lib/gio-sharp/gio/generated/LoadableIcon.cs
new file mode 100644
index 0000000..995cd5b
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/LoadableIcon.cs
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface LoadableIcon : GLib.IWrapper {
+
+		void LoadAsync(int size, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.InputStream Load(int size, string type, GLib.Cancellable cancellable);
+		GLib.InputStream LoadFinish(GLib.AsyncResult res, string type);
+	}
+
+	[GLib.GInterface (typeof (LoadableIconAdapter))]
+	public interface LoadableIconImplementor : GLib.IWrapper {
+
+		GLib.InputStream Load (int size, string type, GLib.Cancellable cancellable);
+		void LoadAsync (int size, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.InputStream LoadFinish (GLib.AsyncResult res, string type);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/LoadableIconAdapter.cs b/lib/gio-sharp/gio/generated/LoadableIconAdapter.cs
new file mode 100644
index 0000000..8f8c380
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/LoadableIconAdapter.cs
@@ -0,0 +1,188 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class LoadableIconAdapter : GLib.GInterfaceAdapter, GLib.LoadableIcon {
+
+		static LoadableIconIface iface;
+
+		struct LoadableIconIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public LoadDelegate load;
+			public LoadAsyncDelegate load_async;
+			public LoadFinishDelegate load_finish;
+		}
+
+		static LoadableIconAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(LoadableIconAdapter));
+			iface.load = new LoadDelegate (LoadCallback);
+			iface.load_async = new LoadAsyncDelegate (LoadAsyncCallback);
+			iface.load_finish = new LoadFinishDelegate (LoadFinishCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate IntPtr LoadDelegate (IntPtr icon, int size, IntPtr type, IntPtr cancellable, out IntPtr error);
+
+		static IntPtr LoadCallback (IntPtr icon, int size, IntPtr type, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.LoadableIconImplementor __obj = GLib.Object.GetObject (icon, false) as GLib.LoadableIconImplementor;
+				GLib.InputStream __result = __obj.Load (size, GLib.Marshaller.PtrToStringGFree(type), GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void LoadAsyncDelegate (IntPtr icon, int size, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		static void LoadAsyncCallback (IntPtr icon, int size, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data)
+		{
+			try {
+				GLib.LoadableIconImplementor __obj = GLib.Object.GetObject (icon, false) as GLib.LoadableIconImplementor;
+				GLibSharp.AsyncReadyCallbackInvoker cb_invoker = new GLibSharp.AsyncReadyCallbackInvoker (cb, user_data);
+				__obj.LoadAsync (size, GLib.Object.GetObject(cancellable) as GLib.Cancellable, cb_invoker.Handler);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate IntPtr LoadFinishDelegate (IntPtr icon, IntPtr res, IntPtr type, out IntPtr error);
+
+		static IntPtr LoadFinishCallback (IntPtr icon, IntPtr res, IntPtr type, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.LoadableIconImplementor __obj = GLib.Object.GetObject (icon, false) as GLib.LoadableIconImplementor;
+				GLib.InputStream __result = __obj.LoadFinish (GLib.AsyncResultAdapter.GetObject (res, false), GLib.Marshaller.PtrToStringGFree(type));
+				return __result == null ? IntPtr.Zero : __result.Handle;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			LoadableIconIface native_iface = (LoadableIconIface) Marshal.PtrToStructure (ifaceptr, typeof (LoadableIconIface));
+			native_iface.load = iface.load;
+			native_iface.load_async = iface.load_async;
+			native_iface.load_finish = iface.load_finish;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public LoadableIconAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		LoadableIconImplementor implementor;
+
+		public LoadableIconAdapter (LoadableIconImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public LoadableIconAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_loadable_icon_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_loadable_icon_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static LoadableIcon GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static LoadableIcon GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is LoadableIconImplementor)
+				return new LoadableIconAdapter (obj as LoadableIconImplementor);
+			else if (obj as LoadableIcon == null)
+				return new LoadableIconAdapter (obj.Handle);
+			else
+				return obj as LoadableIcon;
+		}
+
+		public LoadableIconImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_loadable_icon_load_async(IntPtr raw, int size, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void LoadAsync(int size, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_loadable_icon_load_async(Handle, size, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_loadable_icon_load(IntPtr raw, int size, IntPtr type, IntPtr cancellable, out IntPtr error);
+
+		public GLib.InputStream Load(int size, string type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_loadable_icon_load(Handle, size, GLib.Marshaller.StringToPtrGStrdup(type), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_loadable_icon_load_finish(IntPtr raw, IntPtr res, IntPtr type, out IntPtr error);
+
+		public GLib.InputStream LoadFinish(GLib.AsyncResult res, string type) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_loadable_icon_load_finish(Handle, res == null ? IntPtr.Zero : res.Handle, GLib.Marshaller.StringToPtrGStrdup(type), out error);
+			GLib.InputStream ret = GLib.Object.GetObject(raw_ret) as GLib.InputStream;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/LocalDirectoryMonitor.cs b/lib/gio-sharp/gio/generated/LocalDirectoryMonitor.cs
new file mode 100644
index 0000000..11c4eed
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/LocalDirectoryMonitor.cs
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class LocalDirectoryMonitor : GLib.FileMonitor {
+
+		[Obsolete]
+		protected LocalDirectoryMonitor(GLib.GType gtype) : base(gtype) {}
+		public LocalDirectoryMonitor(IntPtr raw) : base(raw) {}
+
+		protected LocalDirectoryMonitor() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_local_directory_monitor_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_local_directory_monitor_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/LocalFileEnumerator.cs b/lib/gio-sharp/gio/generated/LocalFileEnumerator.cs
new file mode 100644
index 0000000..d0d1413
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/LocalFileEnumerator.cs
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class LocalFileEnumerator : GLib.FileEnumerator {
+
+		[Obsolete]
+		protected LocalFileEnumerator(GLib.GType gtype) : base(gtype) {}
+		public LocalFileEnumerator(IntPtr raw) : base(raw) {}
+
+		protected LocalFileEnumerator() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/LocalFileIOStream.cs b/lib/gio-sharp/gio/generated/LocalFileIOStream.cs
new file mode 100644
index 0000000..8d6251c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/LocalFileIOStream.cs
@@ -0,0 +1,24 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class LocalFileIOStream : GLib.FileIOStream {
+
+		[Obsolete]
+		protected LocalFileIOStream(GLib.GType gtype) : base(gtype) {}
+		public LocalFileIOStream(IntPtr raw) : base(raw) {}
+
+		protected LocalFileIOStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MemoryInputStream.cs b/lib/gio-sharp/gio/generated/MemoryInputStream.cs
new file mode 100644
index 0000000..cdf0133
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MemoryInputStream.cs
@@ -0,0 +1,113 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class MemoryInputStream : GLib.InputStream, GLib.Seekable {
+
+		[Obsolete]
+		protected MemoryInputStream(GLib.GType gtype) : base(gtype) {}
+		public MemoryInputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_input_stream_new();
+
+		public MemoryInputStream () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (MemoryInputStream)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_memory_input_stream_new();
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_input_stream_new_from_data(IntPtr data, IntPtr len, GLib.DestroyNotify destroy);
+
+		public MemoryInputStream (IntPtr data, long len, GLib.DestroyNotify destroy) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (MemoryInputStream)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			Raw = g_memory_input_stream_new_from_data(data, new IntPtr (len), destroy);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_memory_input_stream_add_data(IntPtr raw, IntPtr data, IntPtr len, GLib.DestroyNotify destroy);
+
+		public void AddData(IntPtr data, long len, GLib.DestroyNotify destroy) {
+			g_memory_input_stream_add_data(Handle, data, new IntPtr (len), destroy);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_input_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_memory_input_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MemoryOutputStream.cs b/lib/gio-sharp/gio/generated/MemoryOutputStream.cs
new file mode 100644
index 0000000..60aeae7
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MemoryOutputStream.cs
@@ -0,0 +1,128 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class MemoryOutputStream : GLib.OutputStream, GLib.Seekable {
+
+		[Obsolete]
+		protected MemoryOutputStream(GLib.GType gtype) : base(gtype) {}
+		public MemoryOutputStream(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_output_stream_new(IntPtr data, UIntPtr len, GLibSharp.ReallocFuncNative realloc_fn, GLib.DestroyNotify destroy);
+
+		public MemoryOutputStream (IntPtr data, ulong len, GLib.ReallocFunc realloc_fn, GLib.DestroyNotify destroy) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (MemoryOutputStream)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			GLibSharp.ReallocFuncWrapper realloc_fn_wrapper = new GLibSharp.ReallocFuncWrapper (realloc_fn);
+			Raw = g_memory_output_stream_new(data, new UIntPtr (len), realloc_fn_wrapper.NativeDelegate, destroy);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_output_stream_get_data(IntPtr raw);
+
+		public new IntPtr Data { 
+			get {
+				IntPtr raw_ret = g_memory_output_stream_get_data(Handle);
+				IntPtr ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_memory_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_memory_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_memory_output_stream_get_size(IntPtr raw);
+
+		public ulong Size { 
+			get {
+				UIntPtr raw_ret = g_memory_output_stream_get_size(Handle);
+				ulong ret = (ulong) raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern UIntPtr g_memory_output_stream_get_data_size(IntPtr raw);
+
+		public ulong DataSize { 
+			get {
+				UIntPtr raw_ret = g_memory_output_stream_get_data_size(Handle);
+				ulong ret = (ulong) raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Mount.cs b/lib/gio-sharp/gio/generated/Mount.cs
new file mode 100644
index 0000000..8752ae2
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Mount.cs
@@ -0,0 +1,56 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Mount : GLib.IWrapper {
+
+		event System.EventHandler Unmounted;
+		event System.EventHandler Changed;
+		event System.EventHandler PreUnmount;
+		GLib.Drive Drive { 
+			get;
+		}
+		void Remount(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.Icon Icon { 
+			get;
+		}
+		bool IsShadowed { 
+			get;
+		}
+		string GuessContentTypeFinish(GLib.AsyncResult result);
+		bool CanEject();
+		string Uuid { 
+			get;
+		}
+		bool UnmountFinish(GLib.AsyncResult result);
+		void Unshadow();
+		void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.File Root { 
+			get;
+		}
+		bool EjectFinish(GLib.AsyncResult result);
+		void Unmount(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool UnmountWithOperationFinish(GLib.AsyncResult result);
+		void GuessContentType(bool force_rescan, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool CanUnmount { 
+			get;
+		}
+		GLib.Volume Volume { 
+			get;
+		}
+		void Shadow();
+		bool RemountFinish(GLib.AsyncResult result);
+		string Name { 
+			get;
+		}
+		void UnmountWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool EjectWithOperationFinish(GLib.AsyncResult result);
+		string GuessContentTypeSync(bool force_rescan, GLib.Cancellable cancellable);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/MountAdapter.cs b/lib/gio-sharp/gio/generated/MountAdapter.cs
new file mode 100644
index 0000000..848b7cb
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountAdapter.cs
@@ -0,0 +1,335 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class MountAdapter : GLib.GInterfaceAdapter, GLib.Mount {
+
+		public MountAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_mount_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				return handle;
+			}
+		}
+
+		public static Mount GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Mount GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj as Mount == null)
+				return new MountAdapter (obj.Handle);
+			else
+				return obj as Mount;
+		}
+
+		[GLib.Signal("unmounted")]
+		public event System.EventHandler Unmounted {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "unmounted");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "unmounted");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("changed")]
+		public event System.EventHandler Changed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("pre-unmount")]
+		public event System.EventHandler PreUnmount {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "pre-unmount");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "pre-unmount");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_drive(IntPtr raw);
+
+		public GLib.Drive Drive { 
+			get {
+				IntPtr raw_ret = g_mount_get_drive(Handle);
+				GLib.Drive ret = GLib.DriveAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_remount(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void Remount(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_remount(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_eject_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_eject_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_mount_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_is_shadowed(IntPtr raw);
+
+		public bool IsShadowed { 
+			get {
+				bool raw_ret = g_mount_is_shadowed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_guess_content_type_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public string GuessContentTypeFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_mount_guess_content_type_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_can_eject(IntPtr raw);
+
+		public bool CanEject() {
+			bool raw_ret = g_mount_can_eject(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_uuid(IntPtr raw);
+
+		public string Uuid { 
+			get {
+				IntPtr raw_ret = g_mount_get_uuid(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_unmount_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool UnmountFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_mount_unmount_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_unshadow(IntPtr raw);
+
+		public void Unshadow() {
+			g_mount_unshadow(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_eject(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_eject(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_root(IntPtr raw);
+
+		public GLib.File Root { 
+			get {
+				IntPtr raw_ret = g_mount_get_root(Handle);
+				GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_eject_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool EjectFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_mount_eject_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_unmount(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void Unmount(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_unmount(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_unmount_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool UnmountWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_mount_unmount_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_guess_content_type(IntPtr raw, bool force_rescan, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void GuessContentType(bool force_rescan, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_guess_content_type(Handle, force_rescan, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_can_unmount(IntPtr raw);
+
+		public bool CanUnmount { 
+			get {
+				bool raw_ret = g_mount_can_unmount(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_volume(IntPtr raw);
+
+		public GLib.Volume Volume { 
+			get {
+				IntPtr raw_ret = g_mount_get_volume(Handle);
+				GLib.Volume ret = GLib.VolumeAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_shadow(IntPtr raw);
+
+		public void Shadow() {
+			g_mount_shadow(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_remount_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool RemountFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_mount_remount_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_mount_get_name(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_unmount_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void UnmountWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_mount_unmount_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_eject_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool EjectWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_mount_eject_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_guess_content_type_sync(IntPtr raw, bool force_rescan, IntPtr cancellable, out IntPtr error);
+
+		public string GuessContentTypeSync(bool force_rescan, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_mount_guess_content_type_sync(Handle, force_rescan, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountAddedHandler.cs b/lib/gio-sharp/gio/generated/MountAddedHandler.cs
new file mode 100644
index 0000000..dcf0fa0
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountAddedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void MountAddedHandler(object o, MountAddedArgs args);
+
+	public class MountAddedArgs : GLib.SignalArgs {
+		public GLib.Mount Mount{
+			get {
+				return (GLib.Mount) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountChangedHandler.cs b/lib/gio-sharp/gio/generated/MountChangedHandler.cs
new file mode 100644
index 0000000..c07b8c4
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountChangedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void MountChangedHandler(object o, MountChangedArgs args);
+
+	public class MountChangedArgs : GLib.SignalArgs {
+		public GLib.Mount Mount{
+			get {
+				return (GLib.Mount) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountMountFlags.cs b/lib/gio-sharp/gio/generated/MountMountFlags.cs
new file mode 100644
index 0000000..154416d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountMountFlags.cs
@@ -0,0 +1,27 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.MountMountFlagsGType))]
+	public enum MountMountFlags {
+
+		None,
+	}
+
+	internal class MountMountFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_mount_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_mount_mount_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/MountOperation.cs b/lib/gio-sharp/gio/generated/MountOperation.cs
new file mode 100644
index 0000000..abcaac6
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountOperation.cs
@@ -0,0 +1,418 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class MountOperation : GLib.Object {
+
+		[Obsolete]
+		protected MountOperation(GLib.GType gtype) : base(gtype) {}
+		public MountOperation(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_new();
+
+		public MountOperation () : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (MountOperation)) {
+				CreateNativeObject (new string [0], new GLib.Value[0]);
+				return;
+			}
+			Raw = g_mount_operation_new();
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_get_domain(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_domain(IntPtr raw, IntPtr domain);
+
+		[GLib.Property ("domain")]
+		public string Domain {
+			get  {
+				IntPtr raw_ret = g_mount_operation_get_domain(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set  {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_mount_operation_set_domain(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_mount_operation_get_password_save(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_password_save(IntPtr raw, int save);
+
+		[GLib.Property ("password-save")]
+		public GLib.PasswordSave PasswordSave {
+			get  {
+				int raw_ret = g_mount_operation_get_password_save(Handle);
+				GLib.PasswordSave ret = (GLib.PasswordSave) raw_ret;
+				return ret;
+			}
+			set  {
+				g_mount_operation_set_password_save(Handle, (int) value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_mount_operation_get_anonymous(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_anonymous(IntPtr raw, bool anonymous);
+
+		[GLib.Property ("anonymous")]
+		public bool Anonymous {
+			get  {
+				bool raw_ret = g_mount_operation_get_anonymous(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_mount_operation_set_anonymous(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_get_password(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_password(IntPtr raw, IntPtr password);
+
+		[GLib.Property ("password")]
+		public string Password {
+			get  {
+				IntPtr raw_ret = g_mount_operation_get_password(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set  {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_mount_operation_set_password(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern int g_mount_operation_get_choice(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_choice(IntPtr raw, int choice);
+
+		[GLib.Property ("choice")]
+		public int Choice {
+			get  {
+				int raw_ret = g_mount_operation_get_choice(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_mount_operation_set_choice(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_get_username(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_set_username(IntPtr raw, IntPtr username);
+
+		[GLib.Property ("username")]
+		public string Username {
+			get  {
+				IntPtr raw_ret = g_mount_operation_get_username(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set  {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_mount_operation_set_username(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void AskPasswordVMDelegate (IntPtr op, IntPtr message, IntPtr default_user, IntPtr default_domain, int flags);
+
+		static AskPasswordVMDelegate AskPasswordVMCallback;
+
+		static void askpassword_cb (IntPtr op, IntPtr message, IntPtr default_user, IntPtr default_domain, int flags)
+		{
+			try {
+				MountOperation op_managed = GLib.Object.GetObject (op, false) as MountOperation;
+				op_managed.OnAskPassword (GLib.Marshaller.Utf8PtrToString (message), GLib.Marshaller.Utf8PtrToString (default_user), GLib.Marshaller.Utf8PtrToString (default_domain), (GLib.AskPasswordFlags) flags);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideAskPassword (GLib.GType gtype)
+		{
+			if (AskPasswordVMCallback == null)
+				AskPasswordVMCallback = new AskPasswordVMDelegate (askpassword_cb);
+			OverrideVirtualMethod (gtype, "ask-password", AskPasswordVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.MountOperation), ConnectionMethod="OverrideAskPassword")]
+		protected virtual void OnAskPassword (string message, string default_user, string default_domain, GLib.AskPasswordFlags flags)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (5);
+			GLib.Value[] vals = new GLib.Value [5];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			vals [2] = new GLib.Value (default_user);
+			inst_and_params.Append (vals [2]);
+			vals [3] = new GLib.Value (default_domain);
+			inst_and_params.Append (vals [3]);
+			vals [4] = new GLib.Value (flags);
+			inst_and_params.Append (vals [4]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("ask-password")]
+		public event GLib.AskPasswordHandler AskPassword {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "ask-password", typeof (GLib.AskPasswordArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "ask-password", typeof (GLib.AskPasswordArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void AskQuestionVMDelegate (IntPtr op, IntPtr message, IntPtr[] choices);
+
+		static AskQuestionVMDelegate AskQuestionVMCallback;
+
+		static void askquestion_cb (IntPtr op, IntPtr message, IntPtr[] choices)
+		{
+			try {
+				MountOperation op_managed = GLib.Object.GetObject (op, false) as MountOperation;
+				op_managed.OnAskQuestion (GLib.Marshaller.Utf8PtrToString (message), GLib.Marshaller.Utf8PtrToString (choices));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideAskQuestion (GLib.GType gtype)
+		{
+			if (AskQuestionVMCallback == null)
+				AskQuestionVMCallback = new AskQuestionVMDelegate (askquestion_cb);
+			OverrideVirtualMethod (gtype, "ask-question", AskQuestionVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.MountOperation), ConnectionMethod="OverrideAskQuestion")]
+		protected virtual void OnAskQuestion (string message, string[] choices)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (3);
+			GLib.Value[] vals = new GLib.Value [3];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			vals [2] = new GLib.Value (choices);
+			inst_and_params.Append (vals [2]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("ask-question")]
+		public event GLib.AskQuestionHandler AskQuestion {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "ask-question", typeof (GLib.AskQuestionArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "ask-question", typeof (GLib.AskQuestionArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ShowProcessesVMDelegate (IntPtr op, IntPtr message, IntPtr processes, IntPtr[] choices);
+
+		static ShowProcessesVMDelegate ShowProcessesVMCallback;
+
+		static void showprocesses_cb (IntPtr op, IntPtr message, IntPtr processes, IntPtr[] choices)
+		{
+			try {
+				MountOperation op_managed = GLib.Object.GetObject (op, false) as MountOperation;
+				op_managed.OnShowProcesses (GLib.Marshaller.Utf8PtrToString (message), processes, GLib.Marshaller.Utf8PtrToString (choices));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideShowProcesses (GLib.GType gtype)
+		{
+			if (ShowProcessesVMCallback == null)
+				ShowProcessesVMCallback = new ShowProcessesVMDelegate (showprocesses_cb);
+			OverrideVirtualMethod (gtype, "show-processes", ShowProcessesVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.MountOperation), ConnectionMethod="OverrideShowProcesses")]
+		protected virtual void OnShowProcesses (string message, IntPtr processes, string[] choices)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (4);
+			GLib.Value[] vals = new GLib.Value [4];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (message);
+			inst_and_params.Append (vals [1]);
+			vals [2] = new GLib.Value (processes);
+			inst_and_params.Append (vals [2]);
+			vals [3] = new GLib.Value (choices);
+			inst_and_params.Append (vals [3]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("show-processes")]
+		public event GLib.ShowProcessesHandler ShowProcesses {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "show-processes", typeof (GLib.ShowProcessesArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "show-processes", typeof (GLib.ShowProcessesArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void AbortedVMDelegate (IntPtr op);
+
+		static AbortedVMDelegate AbortedVMCallback;
+
+		static void aborted_cb (IntPtr op)
+		{
+			try {
+				MountOperation op_managed = GLib.Object.GetObject (op, false) as MountOperation;
+				op_managed.OnAborted ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideAborted (GLib.GType gtype)
+		{
+			if (AbortedVMCallback == null)
+				AbortedVMCallback = new AbortedVMDelegate (aborted_cb);
+			OverrideVirtualMethod (gtype, "aborted", AbortedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.MountOperation), ConnectionMethod="OverrideAborted")]
+		protected virtual void OnAborted ()
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (1);
+			GLib.Value[] vals = new GLib.Value [1];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("aborted")]
+		public event System.EventHandler Aborted {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "aborted");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "aborted");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void ReplyVMDelegate (IntPtr op, int result);
+
+		static ReplyVMDelegate ReplyVMCallback;
+
+		static void reply_cb (IntPtr op, int result)
+		{
+			try {
+				MountOperation op_managed = GLib.Object.GetObject (op, false) as MountOperation;
+				op_managed.OnReply ((GLib.MountOperationResult) result);
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideReply (GLib.GType gtype)
+		{
+			if (ReplyVMCallback == null)
+				ReplyVMCallback = new ReplyVMDelegate (reply_cb);
+			OverrideVirtualMethod (gtype, "reply", ReplyVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.MountOperation), ConnectionMethod="OverrideReply")]
+		protected virtual void OnReply (GLib.MountOperationResult result)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (result);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("reply")]
+		public event GLib.ReplyHandler Reply {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "reply", typeof (GLib.ReplyArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "reply", typeof (GLib.ReplyArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_mount_operation_reply(IntPtr raw, int result);
+
+		public void EmitReply(GLib.MountOperationResult result) {
+			g_mount_operation_reply(Handle, (int) result);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_mount_operation_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountOperationResult.cs b/lib/gio-sharp/gio/generated/MountOperationResult.cs
new file mode 100644
index 0000000..0e0d14a
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountOperationResult.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.MountOperationResultGType))]
+	public enum MountOperationResult {
+
+		Handled,
+		Aborted,
+		Unhandled,
+	}
+
+	internal class MountOperationResultGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_operation_result_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_mount_operation_result_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/MountPreUnmountHandler.cs b/lib/gio-sharp/gio/generated/MountPreUnmountHandler.cs
new file mode 100644
index 0000000..2730030
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountPreUnmountHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void MountPreUnmountHandler(object o, MountPreUnmountArgs args);
+
+	public class MountPreUnmountArgs : GLib.SignalArgs {
+		public GLib.Mount Mount{
+			get {
+				return (GLib.Mount) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountRemovedHandler.cs b/lib/gio-sharp/gio/generated/MountRemovedHandler.cs
new file mode 100644
index 0000000..41b1884
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountRemovedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void MountRemovedHandler(object o, MountRemovedArgs args);
+
+	public class MountRemovedArgs : GLib.SignalArgs {
+		public GLib.Mount Mount{
+			get {
+				return (GLib.Mount) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/MountUnmountFlags.cs b/lib/gio-sharp/gio/generated/MountUnmountFlags.cs
new file mode 100644
index 0000000..14ade81
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/MountUnmountFlags.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.MountUnmountFlagsGType))]
+	public enum MountUnmountFlags {
+
+		None,
+		Force = 1 << 0,
+	}
+
+	internal class MountUnmountFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_mount_unmount_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_mount_unmount_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/NativeVolumeMonitor.cs b/lib/gio-sharp/gio/generated/NativeVolumeMonitor.cs
new file mode 100644
index 0000000..1f00539
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/NativeVolumeMonitor.cs
@@ -0,0 +1,35 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class NativeVolumeMonitor : GLib.VolumeMonitor {
+
+		[Obsolete]
+		protected NativeVolumeMonitor(GLib.GType gtype) : base(gtype) {}
+		public NativeVolumeMonitor(IntPtr raw) : base(raw) {}
+
+		protected NativeVolumeMonitor() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_native_volume_monitor_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_native_volume_monitor_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/OutputStream.cs b/lib/gio-sharp/gio/generated/OutputStream.cs
new file mode 100644
index 0000000..3a48f39
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/OutputStream.cs
@@ -0,0 +1,212 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class OutputStream : GLib.Object {
+
+		[Obsolete]
+		protected OutputStream(GLib.GType gtype) : base(gtype) {}
+		public OutputStream(IntPtr raw) : base(raw) {}
+
+		protected OutputStream() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_output_stream_has_pending(IntPtr raw);
+
+		public bool HasPending { 
+			get {
+				bool raw_ret = g_output_stream_has_pending(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_set_pending(IntPtr raw, out IntPtr error);
+
+		public unsafe bool SetPending() {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_set_pending(Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_output_stream_write_async(IntPtr raw, byte[] buffer, UIntPtr count, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void WriteAsync(byte[] buffer, ulong count, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_output_stream_write_async(Handle, buffer, new UIntPtr (count), io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_output_stream_splice_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe long SpliceFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_output_stream_splice_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_flush_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe bool FlushFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_flush_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_flush(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool Flush(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_flush(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_close_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe bool CloseFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_close_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_close(IntPtr raw, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool Close(GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_close(Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_output_stream_splice_async(IntPtr raw, IntPtr source, int flags, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void SpliceAsync(GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_output_stream_splice_async(Handle, source == null ? IntPtr.Zero : source.Handle, (int) flags, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_output_stream_is_closed(IntPtr raw);
+
+		public bool IsClosed { 
+			get {
+				bool raw_ret = g_output_stream_is_closed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_output_stream_write_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public unsafe long WriteFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_output_stream_write_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_output_stream_close_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void CloseAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_output_stream_close_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_output_stream_write(IntPtr raw, byte[] buffer, UIntPtr count, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long Write(byte[] buffer, ulong count, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_output_stream_write(Handle, buffer, new UIntPtr (count), cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_output_stream_write_all(IntPtr raw, byte[] buffer, UIntPtr count, out UIntPtr bytes_written, IntPtr cancellable, out IntPtr error);
+
+		public unsafe bool WriteAll(byte[] buffer, ulong count, out ulong bytes_written, GLib.Cancellable cancellable) {
+			UIntPtr native_bytes_written;
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_output_stream_write_all(Handle, buffer, new UIntPtr (count), out native_bytes_written, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			bytes_written = (ulong) native_bytes_written;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe IntPtr g_output_stream_splice(IntPtr raw, IntPtr source, int flags, IntPtr cancellable, out IntPtr error);
+
+		public unsafe long Splice(GLib.InputStream source, GLib.OutputStreamSpliceFlags flags, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			IntPtr raw_ret = g_output_stream_splice(Handle, source == null ? IntPtr.Zero : source.Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			long ret = (long) raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_output_stream_clear_pending(IntPtr raw);
+
+		public void ClearPending() {
+			g_output_stream_clear_pending(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_output_stream_flush_async(IntPtr raw, int io_priority, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void FlushAsync(int io_priority, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_output_stream_flush_async(Handle, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_output_stream_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_output_stream_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/OutputStreamSpliceFlags.cs b/lib/gio-sharp/gio/generated/OutputStreamSpliceFlags.cs
new file mode 100644
index 0000000..8805a7d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/OutputStreamSpliceFlags.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[Flags]
+	[GLib.GType (typeof (GLib.OutputStreamSpliceFlagsGType))]
+	public enum OutputStreamSpliceFlags {
+
+		None,
+		CloseSource = 1 << 0,
+		CloseTarget = 1 << 1,
+	}
+
+	internal class OutputStreamSpliceFlagsGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_output_stream_splice_flags_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_output_stream_splice_flags_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/OutputVector.cs b/lib/gio-sharp/gio/generated/OutputVector.cs
new file mode 100644
index 0000000..961a42e
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/OutputVector.cs
@@ -0,0 +1,38 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public struct OutputVector {
+
+		private IntPtr _buffer;
+		private UIntPtr size;
+		public ulong Size {
+			get {
+				return (ulong) size;
+			}
+			set {
+				size = new UIntPtr (value);
+			}
+		}
+
+		public static GLib.OutputVector Zero = new GLib.OutputVector ();
+
+		public static GLib.OutputVector New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.OutputVector.Zero;
+			return (GLib.OutputVector) Marshal.PtrToStructure (raw, typeof (GLib.OutputVector));
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/PasswordSave.cs b/lib/gio-sharp/gio/generated/PasswordSave.cs
new file mode 100644
index 0000000..1a925ca
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/PasswordSave.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[GLib.GType (typeof (GLib.PasswordSaveGType))]
+	public enum PasswordSave {
+
+		Never,
+		ForSession,
+		Permanently,
+	}
+
+	internal class PasswordSaveGType {
+		[DllImport ("libgio-2.0-0.dll")]
+		static extern IntPtr g_password_save_get_type ();
+
+		public static GLib.GType GType {
+			get {
+				return new GLib.GType (g_password_save_get_type ());
+			}
+		}
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/ReallocFunc.cs b/lib/gio-sharp/gio/generated/ReallocFunc.cs
new file mode 100644
index 0000000..4f2fd7d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/ReallocFunc.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate IntPtr ReallocFunc(IntPtr data, ulong size);
+
+}
diff --git a/lib/gio-sharp/gio/generated/ReplyHandler.cs b/lib/gio-sharp/gio/generated/ReplyHandler.cs
new file mode 100644
index 0000000..6f39be6
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/ReplyHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void ReplyHandler(object o, ReplyArgs args);
+
+	public class ReplyArgs : GLib.SignalArgs {
+		public GLib.MountOperationResult Result{
+			get {
+				return (GLib.MountOperationResult) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Seekable.cs b/lib/gio-sharp/gio/generated/Seekable.cs
new file mode 100644
index 0000000..775ac00
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Seekable.cs
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Seekable : GLib.IWrapper {
+
+		long Position { 
+			get;
+		}
+		bool CanSeek { 
+			get;
+		}
+		bool Truncate(long offset, GLib.Cancellable cancellable);
+		bool CanTruncate();
+		bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable);
+	}
+
+	[GLib.GInterface (typeof (SeekableAdapter))]
+	public interface SeekableImplementor : GLib.IWrapper {
+
+		long Tell ();
+		bool CanSeek ();
+		bool Seek (long offset, GLib.SeekType type, GLib.Cancellable cancellable);
+		bool CanTruncate ();
+		bool TruncateFn (long offset, GLib.Cancellable cancellable);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/SeekableAdapter.cs b/lib/gio-sharp/gio/generated/SeekableAdapter.cs
new file mode 100644
index 0000000..06dff01
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/SeekableAdapter.cs
@@ -0,0 +1,197 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class SeekableAdapter : GLib.GInterfaceAdapter, GLib.Seekable {
+
+		static SeekableIface iface;
+
+		struct SeekableIface {
+			public IntPtr gtype;
+			public IntPtr itype;
+
+			public IntPtr tell;
+			public IntPtr can_seek;
+			public SeekDelegate seek;
+			public CanTruncateDelegate can_truncate;
+			public IntPtr truncate_fn;
+		}
+
+		static SeekableAdapter ()
+		{
+			GLib.GType.Register (_gtype, typeof(SeekableAdapter));
+			iface.seek = new SeekDelegate (SeekCallback);
+			iface.can_truncate = new CanTruncateDelegate (CanTruncateCallback);
+		}
+
+
+		[GLib.CDeclCallback]
+		delegate bool SeekDelegate (IntPtr seekable, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		static bool SeekCallback (IntPtr seekable, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error)
+		{
+			error = IntPtr.Zero;
+
+			try {
+				GLib.SeekableImplementor __obj = GLib.Object.GetObject (seekable, false) as GLib.SeekableImplementor;
+				bool __result = __obj.Seek (offset, type, GLib.Object.GetObject(cancellable) as GLib.Cancellable);
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate bool CanTruncateDelegate (IntPtr seekable);
+
+		static bool CanTruncateCallback (IntPtr seekable)
+		{
+			try {
+				GLib.SeekableImplementor __obj = GLib.Object.GetObject (seekable, false) as GLib.SeekableImplementor;
+				bool __result = __obj.CanTruncate ();
+				return __result;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, true);
+				// NOTREACHED: above call does not return.
+				throw e;
+			}
+		}
+		static void Initialize (IntPtr ifaceptr, IntPtr data)
+		{
+			SeekableIface native_iface = (SeekableIface) Marshal.PtrToStructure (ifaceptr, typeof (SeekableIface));
+			native_iface.tell = iface.tell;
+			native_iface.can_seek = iface.can_seek;
+			native_iface.seek = iface.seek;
+			native_iface.can_truncate = iface.can_truncate;
+			native_iface.truncate_fn = iface.truncate_fn;
+			Marshal.StructureToPtr (native_iface, ifaceptr, false);
+			GCHandle gch = (GCHandle) data;
+			gch.Free ();
+		}
+
+		public SeekableAdapter ()
+		{
+			InitHandler = new GLib.GInterfaceInitHandler (Initialize);
+		}
+
+		SeekableImplementor implementor;
+
+		public SeekableAdapter (SeekableImplementor implementor)
+		{
+			if (implementor == null)
+				throw new ArgumentNullException ("implementor");
+			this.implementor = implementor;
+		}
+
+		public SeekableAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_seekable_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_seekable_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				if (handle != IntPtr.Zero)
+					return handle;
+				return implementor == null ? IntPtr.Zero : implementor.Handle;
+			}
+		}
+
+		public static Seekable GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Seekable GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj is SeekableImplementor)
+				return new SeekableAdapter (obj as SeekableImplementor);
+			else if (obj as Seekable == null)
+				return new SeekableAdapter (obj.Handle);
+			else
+				return obj as Seekable;
+		}
+
+		public SeekableImplementor Implementor {
+			get {
+				return implementor;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern long g_seekable_tell(IntPtr raw);
+
+		public long Position { 
+			get {
+				long raw_ret = g_seekable_tell(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_seek(IntPtr raw);
+
+		public bool CanSeek { 
+			get {
+				bool raw_ret = g_seekable_can_seek(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_truncate(IntPtr raw, long offset, IntPtr cancellable, out IntPtr error);
+
+		public bool Truncate(long offset, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_truncate(Handle, offset, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_can_truncate(IntPtr raw);
+
+		public bool CanTruncate() {
+			bool raw_ret = g_seekable_can_truncate(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_seekable_seek(IntPtr raw, long offset, GLib.SeekType type, IntPtr cancellable, out IntPtr error);
+
+		public bool Seek(long offset, GLib.SeekType type, GLib.Cancellable cancellable) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_seekable_seek(Handle, offset, type, cancellable == null ? IntPtr.Zero : cancellable.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/ShowProcessesHandler.cs b/lib/gio-sharp/gio/generated/ShowProcessesHandler.cs
new file mode 100644
index 0000000..1480eb0
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/ShowProcessesHandler.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void ShowProcessesHandler(object o, ShowProcessesArgs args);
+
+	public class ShowProcessesArgs : GLib.SignalArgs {
+		public string Message{
+			get {
+				return (string) Args[0];
+			}
+		}
+
+		public IntPtr Processes{
+			get {
+				return (IntPtr) Args[1];
+			}
+		}
+
+		public string[] Choices{
+			get {
+				return (string[]) Args[2];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Simple.cs b/lib/gio-sharp/gio/generated/Simple.cs
new file mode 100644
index 0000000..c4be72d
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Simple.cs
@@ -0,0 +1,22 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Simple {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_report_gerror_in_idle(IntPtr objekt, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data, IntPtr error);
+
+		public static void AsyncReportGerrorInIdle(GLib.Object objekt, GLib.AsyncReadyCallback cb, IntPtr error) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			g_simple_async_report_gerror_in_idle(objekt == null ? IntPtr.Zero : objekt.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero, error);
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/SimpleAsyncResult.cs b/lib/gio-sharp/gio/generated/SimpleAsyncResult.cs
new file mode 100644
index 0000000..1b3a61e
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/SimpleAsyncResult.cs
@@ -0,0 +1,206 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class SimpleAsyncResult : GLib.Object, GLib.AsyncResult {
+
+		[Obsolete]
+		protected SimpleAsyncResult(GLib.GType gtype) : base(gtype) {}
+		public SimpleAsyncResult(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_new(IntPtr source_object, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data, IntPtr source_tag);
+
+		public SimpleAsyncResult (GLib.Object source_object, GLib.AsyncReadyCallback cb, IntPtr source_tag) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (SimpleAsyncResult)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			Raw = g_simple_async_result_new(source_object == null ? IntPtr.Zero : source_object.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero, source_tag);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_new_from_error(IntPtr source_object, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data, IntPtr error);
+
+		public static SimpleAsyncResult NewFromError(GLib.Object source_object, GLib.AsyncReadyCallback cb, IntPtr error)
+		{
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			SimpleAsyncResult result = new SimpleAsyncResult (g_simple_async_result_new_from_error(source_object == null ? IntPtr.Zero : source_object.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero, error));
+			return result;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_simple_async_result_get_op_res_gboolean(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_op_res_gboolean(IntPtr raw, bool op_res);
+
+		public bool OpResGboolean { 
+			get {
+				bool raw_ret = g_simple_async_result_get_op_res_gboolean(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_simple_async_result_set_op_res_gboolean(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_get_source_tag(IntPtr raw);
+
+		public IntPtr SourceTag { 
+			get {
+				IntPtr raw_ret = g_simple_async_result_get_source_tag(Handle);
+				IntPtr ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_from_error(IntPtr raw, IntPtr error);
+
+		public IntPtr FromError { 
+			set {
+				g_simple_async_result_set_from_error(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_get_op_res_gssize(IntPtr raw);
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_op_res_gssize(IntPtr raw, IntPtr op_res);
+
+		public long OpResGssize { 
+			get {
+				IntPtr raw_ret = g_simple_async_result_get_op_res_gssize(Handle);
+				long ret = (long) raw_ret;
+				return ret;
+			}
+			set {
+				g_simple_async_result_set_op_res_gssize(Handle, new IntPtr (value));
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_get_op_res_gpointer(IntPtr raw);
+
+		public IntPtr OpResGpointer { 
+			get {
+				IntPtr raw_ret = g_simple_async_result_get_op_res_gpointer(Handle);
+				IntPtr ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_complete_in_idle(IntPtr raw);
+
+		public void CompleteInIdle() {
+			g_simple_async_result_complete_in_idle(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern unsafe bool g_simple_async_result_propagate_error(IntPtr raw, out IntPtr dest);
+
+		public unsafe bool PropagateError() {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_simple_async_result_propagate_error(Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_simple_async_result_is_valid(IntPtr result, IntPtr source, IntPtr source_tag);
+
+		public static bool IsValid(GLib.AsyncResult result, GLib.Object source, IntPtr source_tag) {
+			bool raw_ret = g_simple_async_result_is_valid(result == null ? IntPtr.Zero : result.Handle, source == null ? IntPtr.Zero : source.Handle, source_tag);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_complete(IntPtr raw);
+
+		public void Complete() {
+			g_simple_async_result_complete(Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_op_res_gpointer(IntPtr raw, IntPtr op_res, GLib.DestroyNotify destroy_op_res);
+
+		public void SetOpResGpointer(IntPtr op_res, GLib.DestroyNotify destroy_op_res) {
+			g_simple_async_result_set_op_res_gpointer(Handle, op_res, destroy_op_res);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_error_va(IntPtr raw, int domain, int code, IntPtr format, IntPtr args);
+
+		public void SetErrorVa(int domain, int code, string format, IntPtr args) {
+			IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+			g_simple_async_result_set_error_va(Handle, domain, code, native_format, args);
+			GLib.Marshaller.Free (native_format);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_simple_async_result_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_simple_async_result_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_run_in_thread(IntPtr raw, GLibSharp.SimpleAsyncThreadFuncNative func, int io_priority, IntPtr cancellable);
+
+		public void RunInThread(GLib.SimpleAsyncThreadFunc func, int io_priority, GLib.Cancellable cancellable) {
+			GLibSharp.SimpleAsyncThreadFuncWrapper func_wrapper = new GLibSharp.SimpleAsyncThreadFuncWrapper (func);
+			g_simple_async_result_run_in_thread(Handle, func_wrapper.NativeDelegate, io_priority, cancellable == null ? IntPtr.Zero : cancellable.Handle);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_simple_async_result_set_handle_cancellation(IntPtr raw, bool handle_cancellation);
+
+		public bool HandleCancellation { 
+			set {
+				g_simple_async_result_set_handle_cancellation(Handle, value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_result_get_user_data(IntPtr raw);
+
+		public IntPtr UserData { 
+			get {
+				IntPtr raw_ret = g_async_result_get_user_data(Handle);
+				IntPtr ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_async_result_get_source_object(IntPtr raw);
+
+		public GLib.Object SourceObject { 
+			get {
+				IntPtr raw_ret = g_async_result_get_source_object(Handle);
+				GLib.Object ret = GLib.Object.GetObject (raw_ret);
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/SimpleAsyncThreadFunc.cs b/lib/gio-sharp/gio/generated/SimpleAsyncThreadFunc.cs
new file mode 100644
index 0000000..1adce40
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/SimpleAsyncThreadFunc.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void SimpleAsyncThreadFunc(GLib.SimpleAsyncResult res, GLib.Object objekt, GLib.Cancellable cancellable);
+
+}
diff --git a/lib/gio-sharp/gio/generated/SrvTarget.cs b/lib/gio-sharp/gio/generated/SrvTarget.cs
new file mode 100644
index 0000000..b1ffe56
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/SrvTarget.cs
@@ -0,0 +1,131 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class SrvTarget : GLib.Opaque {
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_srv_target_list_sort(IntPtr targets);
+
+		public static GLib.List ListSort(GLib.List targets) {
+			IntPtr raw_ret = g_srv_target_list_sort(targets == null ? IntPtr.Zero : targets.Handle);
+			GLib.List ret = new GLib.List(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern ushort g_srv_target_get_weight(IntPtr raw);
+
+		public ushort Weight { 
+			get {
+				ushort raw_ret = g_srv_target_get_weight(Handle);
+				ushort ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_srv_target_copy(IntPtr raw);
+
+		public GLib.SrvTarget Copy() {
+			IntPtr raw_ret = g_srv_target_copy(Handle);
+			GLib.SrvTarget ret = raw_ret == IntPtr.Zero ? null : (GLib.SrvTarget) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.SrvTarget), true);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_srv_target_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_srv_target_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern ushort g_srv_target_get_port(IntPtr raw);
+
+		public ushort Port { 
+			get {
+				ushort raw_ret = g_srv_target_get_port(Handle);
+				ushort ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern ushort g_srv_target_get_priority(IntPtr raw);
+
+		public ushort Priority { 
+			get {
+				ushort raw_ret = g_srv_target_get_priority(Handle);
+				ushort ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_srv_target_get_hostname(IntPtr raw);
+
+		public string Hostname { 
+			get {
+				IntPtr raw_ret = g_srv_target_get_hostname(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		public SrvTarget(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_srv_target_new(IntPtr hostname, ushort port, ushort priority, ushort weight);
+
+		public SrvTarget (string hostname, ushort port, ushort priority, ushort weight) 
+		{
+			IntPtr native_hostname = GLib.Marshaller.StringToPtrGStrdup (hostname);
+			Raw = g_srv_target_new(native_hostname, port, priority, weight);
+			GLib.Marshaller.Free (native_hostname);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_srv_target_free(IntPtr raw);
+
+		protected override void Free (IntPtr raw)
+		{
+			g_srv_target_free (raw);
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_srv_target_free (handle);
+				return false;
+			}
+		}
+
+		~SrvTarget ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/ThemedIcon.cs b/lib/gio-sharp/gio/generated/ThemedIcon.cs
new file mode 100644
index 0000000..629168c
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/ThemedIcon.cs
@@ -0,0 +1,121 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class ThemedIcon : GLib.Object, GLib.Icon {
+
+		[Obsolete]
+		protected ThemedIcon(GLib.GType gtype) : base(gtype) {}
+		public ThemedIcon(IntPtr raw) : base(raw) {}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_themed_icon_new(IntPtr iconname);
+
+		public ThemedIcon (string iconname) : base (IntPtr.Zero)
+		{
+			if (GetType () != typeof (ThemedIcon)) {
+				throw new InvalidOperationException ("Can't override this constructor.");
+			}
+			IntPtr native_iconname = GLib.Marshaller.StringToPtrGStrdup (iconname);
+			Raw = g_themed_icon_new(native_iconname);
+			GLib.Marshaller.Free (native_iconname);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_themed_icon_new_from_names(IntPtr iconnames, int len);
+
+		public static ThemedIcon NewFromNames(string iconnames)
+		{
+			ThemedIcon result = new ThemedIcon (g_themed_icon_new_from_names(GLib.Marshaller.StringToPtrGStrdup(iconnames), System.Text.Encoding.UTF8.GetByteCount (iconnames)));
+			return result;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_themed_icon_new_with_default_fallbacks(IntPtr iconname);
+
+		public static ThemedIcon NewWithDefaultFallbacks(string iconname)
+		{
+			IntPtr native_iconname = GLib.Marshaller.StringToPtrGStrdup (iconname);
+			ThemedIcon result = new ThemedIcon (g_themed_icon_new_with_default_fallbacks(native_iconname));
+			GLib.Marshaller.Free (native_iconname);
+			return result;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_themed_icon_get_names(IntPtr raw);
+
+		[GLib.Property ("names")]
+		public string[] Names {
+			get  {
+				IntPtr raw_ret = g_themed_icon_get_names(Handle);
+				string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[GLib.Property ("use-default-fallbacks")]
+		public bool UseDefaultFallbacks {
+			get {
+				GLib.Value val = GetProperty ("use-default-fallbacks");
+				bool ret = (bool) val;
+				val.Dispose ();
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_themed_icon_append_name(IntPtr raw, IntPtr iconname);
+
+		public void AppendName(string iconname) {
+			IntPtr native_iconname = GLib.Marshaller.StringToPtrGStrdup (iconname);
+			g_themed_icon_append_name(Handle, native_iconname);
+			GLib.Marshaller.Free (native_iconname);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_themed_icon_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_themed_icon_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_themed_icon_prepend_name(IntPtr raw, IntPtr iconname);
+
+		public void PrependName(string iconname) {
+			IntPtr native_iconname = GLib.Marshaller.StringToPtrGStrdup (iconname);
+			g_themed_icon_prepend_name(Handle, native_iconname);
+			GLib.Marshaller.Free (native_iconname);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_icon_to_string(IntPtr raw);
+
+		public override string ToString() {
+			IntPtr raw_ret = g_icon_to_string(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_icon_equal(IntPtr raw, IntPtr icon2);
+
+		public bool Equal(GLib.Icon icon2) {
+			bool raw_ret = g_icon_equal(Handle, icon2 == null ? IntPtr.Zero : icon2.Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Vfs.cs b/lib/gio-sharp/gio/generated/Vfs.cs
new file mode 100644
index 0000000..43f6f8e
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Vfs.cs
@@ -0,0 +1,112 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class Vfs : GLib.Object {
+
+		[Obsolete]
+		protected Vfs(GLib.GType gtype) : base(gtype) {}
+		public Vfs(IntPtr raw) : base(raw) {}
+
+		protected Vfs() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_parse_name(IntPtr raw, IntPtr parse_name);
+
+		public GLib.File ParseName(string parse_name) {
+			IntPtr native_parse_name = GLib.Marshaller.StringToPtrGStrdup (parse_name);
+			IntPtr raw_ret = g_vfs_parse_name(Handle, native_parse_name);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_parse_name);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_supported_uri_schemes(IntPtr raw);
+
+		public string SupportedUriSchemes { 
+			get {
+				IntPtr raw_ret = g_vfs_get_supported_uri_schemes(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_file_for_path(IntPtr raw, IntPtr path);
+
+		public GLib.File GetFileForPath(string path) {
+			IntPtr native_path = GLib.Marshaller.StringToPtrGStrdup (path);
+			IntPtr raw_ret = g_vfs_get_file_for_path(Handle, native_path);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_path);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_file_for_uri(IntPtr raw, IntPtr uri);
+
+		public GLib.File GetFileForUri(string uri) {
+			IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+			IntPtr raw_ret = g_vfs_get_file_for_uri(Handle, native_uri);
+			GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_uri);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_vfs_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_vfs_is_active(IntPtr raw);
+
+		public bool IsActive { 
+			get {
+				bool raw_ret = g_vfs_is_active(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_default();
+
+		public static GLib.Vfs Default { 
+			get {
+				IntPtr raw_ret = g_vfs_get_default();
+				GLib.Vfs ret = GLib.Object.GetObject(raw_ret) as GLib.Vfs;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_vfs_get_local();
+
+		public static GLib.Vfs Local { 
+			get {
+				IntPtr raw_ret = g_vfs_get_local();
+				GLib.Vfs ret = GLib.Object.GetObject(raw_ret) as GLib.Vfs;
+				return ret;
+			}
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/Volume.cs b/lib/gio-sharp/gio/generated/Volume.cs
new file mode 100644
index 0000000..0830725
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/Volume.cs
@@ -0,0 +1,44 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+#region Autogenerated code
+	public interface Volume : GLib.IWrapper {
+
+		event System.EventHandler Changed;
+		event System.EventHandler Removed;
+		GLib.Drive Drive { 
+			get;
+		}
+		void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		GLib.Icon Icon { 
+			get;
+		}
+		string GetIdentifier(string kind);
+		bool CanEject();
+		string Uuid { 
+			get;
+		}
+		void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool EjectFinish(GLib.AsyncResult result);
+		string EnumerateIdentifiers();
+		bool ShouldAutomount();
+		bool MountFinish(GLib.AsyncResult result);
+		GLib.Mount MountInstance { 
+			get;
+		}
+		void Mount(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);
+		bool CanMount();
+		string Name { 
+			get;
+		}
+		GLib.File ActivationRoot { 
+			get;
+		}
+		bool EjectWithOperationFinish(GLib.AsyncResult result);
+	}
+#endregion
+}
diff --git a/lib/gio-sharp/gio/generated/VolumeAdapter.cs b/lib/gio-sharp/gio/generated/VolumeAdapter.cs
new file mode 100644
index 0000000..ef123de
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/VolumeAdapter.cs
@@ -0,0 +1,252 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class VolumeAdapter : GLib.GInterfaceAdapter, GLib.Volume {
+
+		public VolumeAdapter (IntPtr handle)
+		{
+			this.handle = handle;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_type();
+
+		private static GLib.GType _gtype = new GLib.GType (g_volume_get_type ());
+
+		public override GLib.GType GType {
+			get {
+				return _gtype;
+			}
+		}
+
+		IntPtr handle;
+		public override IntPtr Handle {
+			get {
+				return handle;
+			}
+		}
+
+		public static Volume GetObject (IntPtr handle, bool owned)
+		{
+			GLib.Object obj = GLib.Object.GetObject (handle, owned);
+			return GetObject (obj);
+		}
+
+		public static Volume GetObject (GLib.Object obj)
+		{
+			if (obj == null)
+				return null;
+			else if (obj as Volume == null)
+				return new VolumeAdapter (obj.Handle);
+			else
+				return obj as Volume;
+		}
+
+		[GLib.Signal("changed")]
+		public event System.EventHandler Changed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "changed");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.Signal("removed")]
+		public event System.EventHandler Removed {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "removed");
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (GLib.Object.GetObject (Handle), "removed");
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_drive(IntPtr raw);
+
+		public GLib.Drive Drive { 
+			get {
+				IntPtr raw_ret = g_volume_get_drive(Handle);
+				GLib.Drive ret = GLib.DriveAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_volume_eject_with_operation(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void EjectWithOperation(GLib.MountUnmountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_volume_eject_with_operation(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_icon(IntPtr raw);
+
+		public GLib.Icon Icon { 
+			get {
+				IntPtr raw_ret = g_volume_get_icon(Handle);
+				GLib.Icon ret = GLib.IconAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_identifier(IntPtr raw, IntPtr kind);
+
+		public string GetIdentifier(string kind) {
+			IntPtr native_kind = GLib.Marshaller.StringToPtrGStrdup (kind);
+			IntPtr raw_ret = g_volume_get_identifier(Handle, native_kind);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_kind);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_can_eject(IntPtr raw);
+
+		public bool CanEject() {
+			bool raw_ret = g_volume_can_eject(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_uuid(IntPtr raw);
+
+		public string Uuid { 
+			get {
+				IntPtr raw_ret = g_volume_get_uuid(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_volume_eject(IntPtr raw, int flags, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		[Obsolete]
+		public void Eject(GLib.MountUnmountFlags flags, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_volume_eject(Handle, (int) flags, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_eject_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		[Obsolete]
+		public bool EjectFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_volume_eject_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_enumerate_identifiers(IntPtr raw);
+
+		public string EnumerateIdentifiers() {
+			IntPtr raw_ret = g_volume_enumerate_identifiers(Handle);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_should_automount(IntPtr raw);
+
+		public bool ShouldAutomount() {
+			bool raw_ret = g_volume_should_automount(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_mount_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool MountFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_volume_mount_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_mount(IntPtr raw);
+
+		public GLib.Mount MountInstance { 
+			get {
+				IntPtr raw_ret = g_volume_get_mount(Handle);
+				GLib.Mount ret = GLib.MountAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern void g_volume_mount(IntPtr raw, int flags, IntPtr mount_operation, IntPtr cancellable, GLibSharp.AsyncReadyCallbackNative cb, IntPtr user_data);
+
+		public void Mount(GLib.MountMountFlags flags, GLib.MountOperation mount_operation, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb) {
+			GLibSharp.AsyncReadyCallbackWrapper cb_wrapper = new GLibSharp.AsyncReadyCallbackWrapper (cb);
+			cb_wrapper.PersistUntilCalled ();
+			g_volume_mount(Handle, (int) flags, mount_operation == null ? IntPtr.Zero : mount_operation.Handle, cancellable == null ? IntPtr.Zero : cancellable.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero);
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_can_mount(IntPtr raw);
+
+		public bool CanMount() {
+			bool raw_ret = g_volume_can_mount(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_name(IntPtr raw);
+
+		public string Name { 
+			get {
+				IntPtr raw_ret = g_volume_get_name(Handle);
+				string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_get_activation_root(IntPtr raw);
+
+		public GLib.File ActivationRoot { 
+			get {
+				IntPtr raw_ret = g_volume_get_activation_root(Handle);
+				GLib.File ret = GLib.FileAdapter.GetObject (raw_ret, false);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern bool g_volume_eject_with_operation_finish(IntPtr raw, IntPtr result, out IntPtr error);
+
+		public bool EjectWithOperationFinish(GLib.AsyncResult result) {
+			IntPtr error = IntPtr.Zero;
+			bool raw_ret = g_volume_eject_with_operation_finish(Handle, result == null ? IntPtr.Zero : result.Handle, out error);
+			bool ret = raw_ret;
+			if (error != IntPtr.Zero) throw new GLib.GException (error);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/VolumeAddedHandler.cs b/lib/gio-sharp/gio/generated/VolumeAddedHandler.cs
new file mode 100644
index 0000000..9acc788
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/VolumeAddedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void VolumeAddedHandler(object o, VolumeAddedArgs args);
+
+	public class VolumeAddedArgs : GLib.SignalArgs {
+		public GLib.Volume Volume{
+			get {
+				return (GLib.Volume) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/VolumeChangedHandler.cs b/lib/gio-sharp/gio/generated/VolumeChangedHandler.cs
new file mode 100644
index 0000000..4ff52d1
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/VolumeChangedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void VolumeChangedHandler(object o, VolumeChangedArgs args);
+
+	public class VolumeChangedArgs : GLib.SignalArgs {
+		public GLib.Volume Volume{
+			get {
+				return (GLib.Volume) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/VolumeMonitor.cs b/lib/gio-sharp/gio/generated/VolumeMonitor.cs
new file mode 100644
index 0000000..e74d5b5
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/VolumeMonitor.cs
@@ -0,0 +1,699 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public class VolumeMonitor : GLib.Object {
+
+		[Obsolete]
+		protected VolumeMonitor(GLib.GType gtype) : base(gtype) {}
+		public VolumeMonitor(IntPtr raw) : base(raw) {}
+
+		protected VolumeMonitor() : base(IntPtr.Zero)
+		{
+			CreateNativeObject (new string [0], new GLib.Value [0]);
+		}
+
+		[GLib.CDeclCallback]
+		delegate void VolumeChangedVMDelegate (IntPtr volume_monitor, IntPtr volume);
+
+		static VolumeChangedVMDelegate VolumeChangedVMCallback;
+
+		static void volumechanged_cb (IntPtr volume_monitor, IntPtr volume)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnVolumeChanged (GLib.VolumeAdapter.GetObject (volume, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideVolumeChanged (GLib.GType gtype)
+		{
+			if (VolumeChangedVMCallback == null)
+				VolumeChangedVMCallback = new VolumeChangedVMDelegate (volumechanged_cb);
+			OverrideVirtualMethod (gtype, "volume-changed", VolumeChangedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideVolumeChanged")]
+		protected virtual void OnVolumeChanged (GLib.Volume volume)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (volume);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("volume-changed")]
+		public event GLib.VolumeChangedHandler VolumeChanged {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-changed", typeof (GLib.VolumeChangedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-changed", typeof (GLib.VolumeChangedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountAddedVMDelegate (IntPtr volume_monitor, IntPtr mount);
+
+		static MountAddedVMDelegate MountAddedVMCallback;
+
+		static void mountadded_cb (IntPtr volume_monitor, IntPtr mount)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnMountAdded (GLib.MountAdapter.GetObject (mount, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideMountAdded (GLib.GType gtype)
+		{
+			if (MountAddedVMCallback == null)
+				MountAddedVMCallback = new MountAddedVMDelegate (mountadded_cb);
+			OverrideVirtualMethod (gtype, "mount-added", MountAddedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideMountAdded")]
+		protected virtual void OnMountAdded (GLib.Mount mount)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (mount);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("mount-added")]
+		public event GLib.MountAddedHandler MountAdded {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-added", typeof (GLib.MountAddedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-added", typeof (GLib.MountAddedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountRemovedVMDelegate (IntPtr volume_monitor, IntPtr mount);
+
+		static MountRemovedVMDelegate MountRemovedVMCallback;
+
+		static void mountremoved_cb (IntPtr volume_monitor, IntPtr mount)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnMountRemoved (GLib.MountAdapter.GetObject (mount, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideMountRemoved (GLib.GType gtype)
+		{
+			if (MountRemovedVMCallback == null)
+				MountRemovedVMCallback = new MountRemovedVMDelegate (mountremoved_cb);
+			OverrideVirtualMethod (gtype, "mount-removed", MountRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideMountRemoved")]
+		protected virtual void OnMountRemoved (GLib.Mount mount)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (mount);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("mount-removed")]
+		public event GLib.MountRemovedHandler MountRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-removed", typeof (GLib.MountRemovedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-removed", typeof (GLib.MountRemovedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void DriveDisconnectedVMDelegate (IntPtr volume_monitor, IntPtr drive);
+
+		static DriveDisconnectedVMDelegate DriveDisconnectedVMCallback;
+
+		static void drivedisconnected_cb (IntPtr volume_monitor, IntPtr drive)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnDriveDisconnected (GLib.DriveAdapter.GetObject (drive, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideDriveDisconnected (GLib.GType gtype)
+		{
+			if (DriveDisconnectedVMCallback == null)
+				DriveDisconnectedVMCallback = new DriveDisconnectedVMDelegate (drivedisconnected_cb);
+			OverrideVirtualMethod (gtype, "drive-disconnected", DriveDisconnectedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideDriveDisconnected")]
+		protected virtual void OnDriveDisconnected (GLib.Drive drive)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (drive);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("drive-disconnected")]
+		public event GLib.DriveDisconnectedHandler DriveDisconnected {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-disconnected", typeof (GLib.DriveDisconnectedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-disconnected", typeof (GLib.DriveDisconnectedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void DriveChangedVMDelegate (IntPtr volume_monitor, IntPtr drive);
+
+		static DriveChangedVMDelegate DriveChangedVMCallback;
+
+		static void drivechanged_cb (IntPtr volume_monitor, IntPtr drive)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnDriveChanged (GLib.DriveAdapter.GetObject (drive, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideDriveChanged (GLib.GType gtype)
+		{
+			if (DriveChangedVMCallback == null)
+				DriveChangedVMCallback = new DriveChangedVMDelegate (drivechanged_cb);
+			OverrideVirtualMethod (gtype, "drive-changed", DriveChangedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideDriveChanged")]
+		protected virtual void OnDriveChanged (GLib.Drive drive)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (drive);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("drive-changed")]
+		public event GLib.DriveChangedHandler DriveChanged {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-changed", typeof (GLib.DriveChangedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-changed", typeof (GLib.DriveChangedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void DriveConnectedVMDelegate (IntPtr volume_monitor, IntPtr drive);
+
+		static DriveConnectedVMDelegate DriveConnectedVMCallback;
+
+		static void driveconnected_cb (IntPtr volume_monitor, IntPtr drive)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnDriveConnected (GLib.DriveAdapter.GetObject (drive, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideDriveConnected (GLib.GType gtype)
+		{
+			if (DriveConnectedVMCallback == null)
+				DriveConnectedVMCallback = new DriveConnectedVMDelegate (driveconnected_cb);
+			OverrideVirtualMethod (gtype, "drive-connected", DriveConnectedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideDriveConnected")]
+		protected virtual void OnDriveConnected (GLib.Drive drive)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (drive);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("drive-connected")]
+		public event GLib.DriveConnectedHandler DriveConnected {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-connected", typeof (GLib.DriveConnectedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-connected", typeof (GLib.DriveConnectedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountPreUnmountVMDelegate (IntPtr volume_monitor, IntPtr mount);
+
+		static MountPreUnmountVMDelegate MountPreUnmountVMCallback;
+
+		static void mountpreunmount_cb (IntPtr volume_monitor, IntPtr mount)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnMountPreUnmount (GLib.MountAdapter.GetObject (mount, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideMountPreUnmount (GLib.GType gtype)
+		{
+			if (MountPreUnmountVMCallback == null)
+				MountPreUnmountVMCallback = new MountPreUnmountVMDelegate (mountpreunmount_cb);
+			OverrideVirtualMethod (gtype, "mount-pre-unmount", MountPreUnmountVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideMountPreUnmount")]
+		protected virtual void OnMountPreUnmount (GLib.Mount mount)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (mount);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("mount-pre-unmount")]
+		public event GLib.MountPreUnmountHandler MountPreUnmount {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-pre-unmount", typeof (GLib.MountPreUnmountArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-pre-unmount", typeof (GLib.MountPreUnmountArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void DriveStopButtonVMDelegate (IntPtr volume_monitor, IntPtr drive);
+
+		static DriveStopButtonVMDelegate DriveStopButtonVMCallback;
+
+		static void drivestopbutton_cb (IntPtr volume_monitor, IntPtr drive)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnDriveStopButton (GLib.DriveAdapter.GetObject (drive, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideDriveStopButton (GLib.GType gtype)
+		{
+			if (DriveStopButtonVMCallback == null)
+				DriveStopButtonVMCallback = new DriveStopButtonVMDelegate (drivestopbutton_cb);
+			OverrideVirtualMethod (gtype, "drive-stop-button", DriveStopButtonVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideDriveStopButton")]
+		protected virtual void OnDriveStopButton (GLib.Drive drive)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (drive);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("drive-stop-button")]
+		public event GLib.DriveStopButtonHandler DriveStopButton {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-stop-button", typeof (GLib.DriveStopButtonArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-stop-button", typeof (GLib.DriveStopButtonArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void DriveEjectButtonVMDelegate (IntPtr volume_monitor, IntPtr drive);
+
+		static DriveEjectButtonVMDelegate DriveEjectButtonVMCallback;
+
+		static void driveejectbutton_cb (IntPtr volume_monitor, IntPtr drive)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnDriveEjectButton (GLib.DriveAdapter.GetObject (drive, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideDriveEjectButton (GLib.GType gtype)
+		{
+			if (DriveEjectButtonVMCallback == null)
+				DriveEjectButtonVMCallback = new DriveEjectButtonVMDelegate (driveejectbutton_cb);
+			OverrideVirtualMethod (gtype, "drive-eject-button", DriveEjectButtonVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideDriveEjectButton")]
+		protected virtual void OnDriveEjectButton (GLib.Drive drive)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (drive);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("drive-eject-button")]
+		public event GLib.DriveEjectButtonHandler DriveEjectButton {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-eject-button", typeof (GLib.DriveEjectButtonArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "drive-eject-button", typeof (GLib.DriveEjectButtonArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void VolumeRemovedVMDelegate (IntPtr volume_monitor, IntPtr volume);
+
+		static VolumeRemovedVMDelegate VolumeRemovedVMCallback;
+
+		static void volumeremoved_cb (IntPtr volume_monitor, IntPtr volume)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnVolumeRemoved (GLib.VolumeAdapter.GetObject (volume, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideVolumeRemoved (GLib.GType gtype)
+		{
+			if (VolumeRemovedVMCallback == null)
+				VolumeRemovedVMCallback = new VolumeRemovedVMDelegate (volumeremoved_cb);
+			OverrideVirtualMethod (gtype, "volume-removed", VolumeRemovedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideVolumeRemoved")]
+		protected virtual void OnVolumeRemoved (GLib.Volume volume)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (volume);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("volume-removed")]
+		public event GLib.VolumeRemovedHandler VolumeRemoved {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-removed", typeof (GLib.VolumeRemovedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-removed", typeof (GLib.VolumeRemovedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void MountChangedVMDelegate (IntPtr volume_monitor, IntPtr mount);
+
+		static MountChangedVMDelegate MountChangedVMCallback;
+
+		static void mountchanged_cb (IntPtr volume_monitor, IntPtr mount)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnMountChanged (GLib.MountAdapter.GetObject (mount, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideMountChanged (GLib.GType gtype)
+		{
+			if (MountChangedVMCallback == null)
+				MountChangedVMCallback = new MountChangedVMDelegate (mountchanged_cb);
+			OverrideVirtualMethod (gtype, "mount-changed", MountChangedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideMountChanged")]
+		protected virtual void OnMountChanged (GLib.Mount mount)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (mount);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("mount-changed")]
+		public event GLib.MountChangedHandler MountChanged {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-changed", typeof (GLib.MountChangedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "mount-changed", typeof (GLib.MountChangedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[GLib.CDeclCallback]
+		delegate void VolumeAddedVMDelegate (IntPtr volume_monitor, IntPtr volume);
+
+		static VolumeAddedVMDelegate VolumeAddedVMCallback;
+
+		static void volumeadded_cb (IntPtr volume_monitor, IntPtr volume)
+		{
+			try {
+				VolumeMonitor volume_monitor_managed = GLib.Object.GetObject (volume_monitor, false) as VolumeMonitor;
+				volume_monitor_managed.OnVolumeAdded (GLib.VolumeAdapter.GetObject (volume, false));
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		private static void OverrideVolumeAdded (GLib.GType gtype)
+		{
+			if (VolumeAddedVMCallback == null)
+				VolumeAddedVMCallback = new VolumeAddedVMDelegate (volumeadded_cb);
+			OverrideVirtualMethod (gtype, "volume-added", VolumeAddedVMCallback);
+		}
+
+		[GLib.DefaultSignalHandler(Type=typeof(GLib.VolumeMonitor), ConnectionMethod="OverrideVolumeAdded")]
+		protected virtual void OnVolumeAdded (GLib.Volume volume)
+		{
+			GLib.Value ret = GLib.Value.Empty;
+			GLib.ValueArray inst_and_params = new GLib.ValueArray (2);
+			GLib.Value[] vals = new GLib.Value [2];
+			vals [0] = new GLib.Value (this);
+			inst_and_params.Append (vals [0]);
+			vals [1] = new GLib.Value (volume);
+			inst_and_params.Append (vals [1]);
+			g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+			foreach (GLib.Value v in vals)
+				v.Dispose ();
+		}
+
+		[GLib.Signal("volume-added")]
+		public event GLib.VolumeAddedHandler VolumeAdded {
+			add {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-added", typeof (GLib.VolumeAddedArgs));
+				sig.AddDelegate (value);
+			}
+			remove {
+				GLib.Signal sig = GLib.Signal.Lookup (this, "volume-added", typeof (GLib.VolumeAddedArgs));
+				sig.RemoveDelegate (value);
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_mounts(IntPtr raw);
+
+		public GLib.Mount[] Mounts { 
+			get {
+				IntPtr raw_ret = g_volume_monitor_get_mounts(Handle);
+				GLib.Mount[] ret = (GLib.Mount[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, false, typeof(GLib.Mount));
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_type();
+
+		public static new GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_volume_monitor_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_volume_for_uuid(IntPtr raw, IntPtr uuid);
+
+		public GLib.Volume GetVolumeForUuid(string uuid) {
+			IntPtr native_uuid = GLib.Marshaller.StringToPtrGStrdup (uuid);
+			IntPtr raw_ret = g_volume_monitor_get_volume_for_uuid(Handle, native_uuid);
+			GLib.Volume ret = GLib.VolumeAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_uuid);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_connected_drives(IntPtr raw);
+
+		public GLib.Drive[] ConnectedDrives { 
+			get {
+				IntPtr raw_ret = g_volume_monitor_get_connected_drives(Handle);
+				GLib.Drive[] ret = (GLib.Drive[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, false, typeof(GLib.Drive));
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_volumes(IntPtr raw);
+
+		public GLib.Volume[] Volumes { 
+			get {
+				IntPtr raw_ret = g_volume_monitor_get_volumes(Handle);
+				GLib.Volume[] ret = (GLib.Volume[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, false, typeof(GLib.Volume));
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_adopt_orphan_mount(IntPtr mount);
+
+		[Obsolete]
+		public static GLib.Volume AdoptOrphanMount(GLib.Mount mount) {
+			IntPtr raw_ret = g_volume_monitor_adopt_orphan_mount(mount == null ? IntPtr.Zero : mount.Handle);
+			GLib.Volume ret = GLib.VolumeAdapter.GetObject (raw_ret, false);
+			return ret;
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get();
+
+		public static GLib.VolumeMonitor Default { 
+			get {
+				IntPtr raw_ret = g_volume_monitor_get();
+				GLib.VolumeMonitor ret = GLib.Object.GetObject(raw_ret) as GLib.VolumeMonitor;
+				return ret;
+			}
+		}
+
+		[DllImport("libgio-2.0-0.dll")]
+		static extern IntPtr g_volume_monitor_get_mount_for_uuid(IntPtr raw, IntPtr uuid);
+
+		public GLib.Mount GetMountForUuid(string uuid) {
+			IntPtr native_uuid = GLib.Marshaller.StringToPtrGStrdup (uuid);
+			IntPtr raw_ret = g_volume_monitor_get_mount_for_uuid(Handle, native_uuid);
+			GLib.Mount ret = GLib.MountAdapter.GetObject (raw_ret, false);
+			GLib.Marshaller.Free (native_uuid);
+			return ret;
+		}
+
+#endregion
+	}
+}
diff --git a/lib/gio-sharp/gio/generated/VolumeRemovedHandler.cs b/lib/gio-sharp/gio/generated/VolumeRemovedHandler.cs
new file mode 100644
index 0000000..7cca6b3
--- /dev/null
+++ b/lib/gio-sharp/gio/generated/VolumeRemovedHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void VolumeRemovedHandler(object o, VolumeRemovedArgs args);
+
+	public class VolumeRemovedArgs : GLib.SignalArgs {
+		public GLib.Volume Volume{
+			get {
+				return (GLib.Volume) Args[0];
+			}
+		}
+
+	}
+}
diff --git a/lib/gtk-sharp-beans/gtk-sharp-beans.csproj b/lib/gtk-sharp-beans/gtk-sharp-beans.csproj
index a01dd5b..7d14301 100644
--- a/lib/gtk-sharp-beans/gtk-sharp-beans.csproj
+++ b/lib/gtk-sharp-beans/gtk-sharp-beans.csproj
@@ -43,10 +43,6 @@
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
       <Private>False</Private>
     </Reference>
-    <Reference Include="gio-sharp, Version=2.14.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
-      <Private>False</Private>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <ItemGroup>
@@ -75,4 +71,10 @@
     <Compile Include="Timeout.cs" />
     <Compile Include="Widget.cs" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Clients/MainApp/MainApp.csproj b/src/Clients/MainApp/MainApp.csproj
index 64cef85..f599a06 100644
--- a/src/Clients/MainApp/MainApp.csproj
+++ b/src/Clients/MainApp/MainApp.csproj
@@ -324,10 +324,6 @@
     </Reference>
     <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
     <Reference Include="Mono.Simd" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
     <Reference Include="Mono.Cairo" />
     <Reference Include="taglib-sharp, Version=2.0.4.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0" />
     <Reference Include="System.Core" />
@@ -388,6 +384,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="FSpot\" />
diff --git a/src/Core/FSpot.Core/FSpot.Core.csproj b/src/Core/FSpot.Core/FSpot.Core.csproj
index c5736f7..0752459 100644
--- a/src/Core/FSpot.Core/FSpot.Core.csproj
+++ b/src/Core/FSpot.Core/FSpot.Core.csproj
@@ -74,16 +74,16 @@
       <Project>{9D66BC1B-4390-4B8D-8468-19D5A862EC23}</Project>
       <Name>FSpot.Cms</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="System.Xml" />
     <Reference Include="Mono.Posix" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
     <Reference Include="System" />
   </ItemGroup>
   <ItemGroup>
diff --git a/src/Core/FSpot.Gui/FSpot.Gui.csproj b/src/Core/FSpot.Gui/FSpot.Gui.csproj
index f4958e1..229b7a2 100644
--- a/src/Core/FSpot.Gui/FSpot.Gui.csproj
+++ b/src/Core/FSpot.Gui/FSpot.Gui.csproj
@@ -83,10 +83,6 @@
     <Reference Include="System" />
     <Reference Include="Mono.Cairo" />
     <Reference Include="taglib-sharp, Version=2.0.4.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
     <Reference Include="System.Core" />
   </ItemGroup>
   <ItemGroup>
@@ -118,6 +114,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="FSpot.Transitions\" />
diff --git a/src/Core/FSpot.Utils/FSpot.Utils.csproj b/src/Core/FSpot.Utils/FSpot.Utils.csproj
index 3fbf1af..6a43a75 100644
--- a/src/Core/FSpot.Utils/FSpot.Utils.csproj
+++ b/src/Core/FSpot.Utils/FSpot.Utils.csproj
@@ -78,6 +78,10 @@
       <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
       <Name>Hyena</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
@@ -88,9 +92,5 @@
     <Reference Include="Mono.Posix" />
     <Reference Include="nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" />
     <Reference Include="taglib-sharp, Version=2.0.4.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD.csproj b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD.csproj
index 831fc59..cae63ed 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.CD/FSpot.Exporters.CD.csproj
@@ -65,10 +65,6 @@
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="System" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
@@ -87,6 +83,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Resources\" />
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook.csproj b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook.csproj
index 27a31fd..ac55fdd 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook.csproj
@@ -91,10 +91,6 @@
     <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66" />
     <Reference Include="System.Xml" />
     <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
     <Reference Include="System.Core" />
   </ItemGroup>
   <ItemGroup>
@@ -130,5 +126,9 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder.csproj b/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder.csproj
index caad72f..ce1db3a 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.Folder/FSpot.Exporters.Folder.csproj
@@ -94,6 +94,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="ICSharpCode.SharpZipLib" />
@@ -102,10 +106,6 @@
     <Reference Include="System.Web" />
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Resources\" />
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery.csproj b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery.csproj
index 06f89e2..6777108 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery.csproj
@@ -79,10 +79,6 @@
     <Reference Include="System.Xml" />
     <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
@@ -113,6 +109,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Resources\" />
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo.csproj b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo.csproj
index 2ca844f..9b75e5b 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.Tabblo/FSpot.Exporters.Tabblo.csproj
@@ -72,10 +72,6 @@
     <Reference Include="Mono.Posix" />
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
@@ -102,6 +98,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Resources\" />
diff --git a/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip.csproj b/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip.csproj
index fddfe09..227ceb6 100644
--- a/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip.csproj
+++ b/src/Extensions/Exporters/FSpot.Exporters.Zip/FSpot.Exporters.Zip.csproj
@@ -78,16 +78,16 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="Mono.Posix" />
     <Reference Include="ICSharpCode.SharpZipLib" />
     <Reference Include="System" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Resources\" />
diff --git a/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath.csproj b/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath.csproj
index 4eb64c4..4608b7d 100644
--- a/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath.csproj
+++ b/src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/FSpot.Tools.ChangePhotoPath.csproj
@@ -62,10 +62,6 @@
   <ItemGroup>
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="System" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
@@ -92,6 +88,10 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="FSpot.Tools.ChangePhotoPath\" />
diff --git a/src/Extensions/Tools/FSpot.Tools.DevelopInUFraw/FSpot.Tools.DevelopInUFraw.csproj b/src/Extensions/Tools/FSpot.Tools.DevelopInUFraw/FSpot.Tools.DevelopInUFraw.csproj
index 465f707..508a3d4 100644
--- a/src/Extensions/Tools/FSpot.Tools.DevelopInUFraw/FSpot.Tools.DevelopInUFraw.csproj
+++ b/src/Extensions/Tools/FSpot.Tools.DevelopInUFraw/FSpot.Tools.DevelopInUFraw.csproj
@@ -81,13 +81,13 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Mono.Posix" />
     <Reference Include="System" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/Extensions/Tools/FSpot.Tools.MergeDb/FSpot.Tools.MergeDb.csproj b/src/Extensions/Tools/FSpot.Tools.MergeDb/FSpot.Tools.MergeDb.csproj
index 31b4963..0931c83 100644
--- a/src/Extensions/Tools/FSpot.Tools.MergeDb/FSpot.Tools.MergeDb.csproj
+++ b/src/Extensions/Tools/FSpot.Tools.MergeDb/FSpot.Tools.MergeDb.csproj
@@ -91,14 +91,14 @@
       <Project>{069D1797-427D-4CED-A754-233DE64FC5DD}</Project>
       <Name>gtk-sharp-beans</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\gio-sharp\gio-sharp.csproj">
+      <Project>{942B6AEF-0A90-4A7F-B8E4-F1A4327E408C}</Project>
+      <Name>gio-sharp</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Reference Include="Mono.Posix" />
     <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
-    <Reference Include="gio-sharp">
-      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
-      <Package>gio-sharp-2.0</Package>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="FSpot.Tools.MergeDb\" />



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