<Type Name="Uri" FullName="Gnome.Vfs.Uri">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class Uri : GLib.Opaque" />
  <AssemblyInfo>
    <AssemblyName>gnome-vfs-sharp</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64 96 A4 7C B4]</AssemblyPublicKey>
    <AssemblyVersion>2.8.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Functions for manipulating Uris.</summary>
    <remarks>To be added</remarks>
  </Docs>
  <Base>
    <BaseTypeName>GLib.Opaque</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName="MakeFullFromRelative">
      <MemberSignature Language="C#" Value="public static string MakeFullFromRelative (string base_uri, string relative_uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="base_uri" Type="System.String" />
        <Parameter Name="relative_uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Returns a full Uri given a full base Uri, and a secondary Uri which may be relative.</summary>
        <param name="base_uri">a <see cref="T:System.String" /></param>
        <param name="relative_uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ExtractShortName">
      <MemberSignature Language="C#" Value="public string ExtractShortName ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve base file name for the Uri, ignoring any trailing path separators.</summary>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>This matches the XPG definition of basename, but not g_basename. This is often useful when you want the name of something that's pointed to by a Uri, and don't care whether the Uri has a directory or file form. If the Uri points to the root of a domain, the host name is returned. If there's no host name, it returns a single path character.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public string ToString (Gnome.Vfs.UriHideOptions hide_options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="hide_options" Type="Gnome.Vfs.UriHideOptions" />
      </Parameters>
      <Docs>
        <summary>Translate the Uri into a printable string hiding the fields specified by <see cref="T:Gnome.Vfs.UriHideOptions" />.</summary>
        <param name="hide_options">hide the specified <see cref="T:Gnome.Vfs.UriHideOptions" /> fields.</param>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ExtractShortPathName">
      <MemberSignature Language="C#" Value="public string ExtractShortPathName ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve base file name for the Uri, ignoring any trailing path separators.</summary>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>This matches the XPG definition of basename, but not g_basename. This is often useful when you want the name of something that's pointed to by a Uri, and don't care whether the Uri has a directory or file form. If the Uri points to the root (including the root of any domain), it returns a single path character.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ResolveRelative">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri ResolveRelative (string relative_reference);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="relative_reference" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Create a new Uri from relative_reference, relative to this Uri.</summary>
        <param name="relative_reference">
          <see cref="T:System.String" /> representing a possibly relative Uri reference.</param>
        <returns>a <see cref="T:Gnome.Vfs.Uri" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AppendString">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri AppendString (string uri_fragment);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri_fragment" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Create a new Uri obtained by appending the Uri fragment. This will take care of adding an appropriate directory separator between the end of the Uri and the start of the fragment if necessary.</summary>
        <param name="uri_fragment">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Uri" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AppendPath">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri AppendPath (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Create a new Uri obtained by appending the path. This will take care of adding an appropriate directory separator between the end of the Uri and the start of the path if necessary as well as escaping the path as necessary.</summary>
        <param name="path">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Uri" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ExtractDirname">
      <MemberSignature Language="C#" Value="public string ExtractDirname ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Extract the name of the directory in which the file pointed to by the Uri is stored as a newly allocated string. The string will end with a path character.</summary>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AppendFileName">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri AppendFileName (string filename);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="filename" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Create a new Uri obtained by appending the specified filename.  This will take care of adding an appropriate directory separator between the end of Uri and the start of the filename if necessary.</summary>
        <param name="filename">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Uri" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsParent">
      <MemberSignature Language="C#" Value="public bool IsParent (Gnome.Vfs.Uri possible_child, bool recursive);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="possible_child" Type="Gnome.Vfs.Uri" />
        <Parameter Name="recursive" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Check if the possible_child Uri is contained by this Uri. If recursive is false, just try the immediate parent directory, else search up through the hierarchy.</summary>
        <param name="possible_child">a <see cref="T:Gnome.Vfs.Uri" /></param>
        <param name="recursive">a flag to turn recursive check on.</param>
        <returns>a <see cref="T:System.Boolean" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetFileInfo">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.FileInfo GetFileInfo ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.FileInfo</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns the <see cref="T:Gnome.Vfs.FileInfo" /> for this Uri.</summary>
        <returns>a <see cref="T:Gnome.Vfs.FileInfo" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetFileInfo">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.FileInfo GetFileInfo (Gnome.Vfs.FileInfoOptions options);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.FileInfo</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="options" Type="Gnome.Vfs.FileInfoOptions" />
      </Parameters>
      <Docs>
        <summary>Returns the <see cref="T:Gnome.Vfs.FileInfo" /> for this Uri with the specified <see cref="T:Gnome.Vfs.FileInfoOptions" />.</summary>
        <param name="options">
          <see cref="T:Gnome.Vfs.FileInfoOptions" /> for the <see cref="T:Gnome.Vfs.FileInfo" /> metadata.</param>
        <returns>a <see cref="T:Gnome.Vfs.FileInfo" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Uri (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="raw">a <see cref="T:System.IntPtr" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Uri (string text_uri);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="text_uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Create a new Uri instance from the <see cref="T:System.String" /> representation.</summary>
        <param name="text_uri">
          <see cref="T:System.String" /> representation of a Uri.</param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="HostName">
      <MemberSignature Language="C#" Value="public string HostName { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the Uris host name.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Exists">
      <MemberSignature Language="C#" Value="public bool Exists { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Check if the Uri points to an existing entity.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="HostPort">
      <MemberSignature Language="C#" Value="public uint HostPort { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the host port number.</summary>
        <value>The host port number used.  If the value is zero, the default port value for the specified toplevel access method is used.</value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Path">
      <MemberSignature Language="C#" Value="public string Path { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the full path name.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="UserName">
      <MemberSignature Language="C#" Value="public string UserName { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the user name.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="FragmentIdentifier">
      <MemberSignature Language="C#" Value="public string FragmentIdentifier { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the optional fragment identifier.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Password">
      <MemberSignature Language="C#" Value="public string Password { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the password.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsLocal">
      <MemberSignature Language="C#" Value="public bool IsLocal { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Check if the Uri is a local (native) file system.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Parent">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri Parent { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the Uris parent.</summary>
        <value>a <see cref="T:Gnome.Vfs.Uri" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="HasParent">
      <MemberSignature Language="C#" Value="public bool HasParent { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Check if Uri has a parent or not.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Scheme">
      <MemberSignature Language="C#" Value="public string Scheme { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieve the scheme.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="MimeType">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.MimeType MimeType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.MimeType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>The Uris <see cref="T:Gnome.Vfs.MimeType" />.</summary>
        <value>a <see cref="T:Gnome.Vfs.MimeType" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Clone">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Uri Clone ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Creates a duplicate of the Uri.</summary>
        <returns>a <see cref="T:Gnome.Vfs.Uri" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ParseList">
      <MemberSignature Language="C#" Value="public static Gnome.Vfs.Uri[] ParseList (string uri_list);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Uri[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri_list" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Extracts a list of Uris from a standard text/uri-list, such as one you would get on a drop operation.</summary>
        <param name="uri_list">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:Gnome.Vfs.Uri[]" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Truncate">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Result Truncate (ulong length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Result</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="length" Type="System.UInt64" />
      </Parameters>
      <Docs>
        <summary>Truncate the Uri to be the specified length in bytes. Data past the specified length will be discarded.</summary>
        <param name="length">length of the new file.</param>
        <returns>a <see cref="T:Gnome.Vfs.Result" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Unlink">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Result Unlink ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Result</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Unlink this Uri (i.e. delete the file).</summary>
        <returns>a <see cref="T:Gnome.Vfs.Result" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="VolumeFreeSpace">
      <MemberSignature Language="C#" Value="public long VolumeFreeSpace { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns the amount of free space on a <see cref="T:Gnome.Vfs.Volume" />.</summary>
        <value>a <see cref="T:System.Int64" /></value>
        <remarks>Only works for Uris with the file: <see cref="M:Gnome.Vfs.Uri.Scheme" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetLocalPathFromUri">
      <MemberSignature Language="C#" Value="public static string GetLocalPathFromUri (string uri);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Returns a local path for a file:/// Uri.</summary>
        <param name="uri">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>Only use with <see cref="M:Gnome.Vfs.Uri.IsLocal" /> Uris.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetUriFromLocalPath">
      <MemberSignature Language="C#" Value="public static string GetUriFromLocalPath (string path);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Returns a file:/// Uri for the local path.</summary>
        <param name="path">a <see cref="T:System.String" /></param>
        <returns>a <see cref="T:System.String" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="SetFileInfo">
      <MemberSignature Language="C#" Value="public Gnome.Vfs.Result SetFileInfo (Gnome.Vfs.FileInfo info, Gnome.Vfs.SetFileInfoMask mask);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Gnome.Vfs.Result</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="info" Type="Gnome.Vfs.FileInfo" />
        <Parameter Name="mask" Type="Gnome.Vfs.SetFileInfoMask" />
      </Parameters>
      <Docs>
        <summary>Set file information; only the information for which the corresponding bit in <see cref="T:Gnome.Vfs.SetFileInfoMask" /> is set is actually modified.</summary>
        <param name="info">
          <see cref="T:Gnome.Vfs.FileInfo" /> information that must be set for the file.</param>
        <param name="mask">
          <see cref="T:Gnome.Vfs.SetFileInfoMask" /> bitmask for which fields should actually be modified.</param>
        <returns>a <see cref="T:Gnome.Vfs.Result" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
