<Type Name="VfsStream" FullName="Gnome.Vfs.VfsStream">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class VfsStream : System.IO.Stream" />
  <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.20.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>
      <see cref="T:System.IO.Stream" /> implementation using the Gnome.Vfs library.</summary>
    <remarks>
      <para>The VfsStream class hides the Gnome.Vfs API from the developer. It uses the <see cref="T:System.IO.Stream" /> class and associated enums to access the <see cref="T:System.String" /> representation of the <see cref="T:Gnome.Vfs.Uri" /> passed in the constructor.</para>
      <para>This class is particularly useful if you want to develop an application that wants to use Gnome.Vfs where available, but can't depend on it being available always. On platforms where Gnome.Vfs is not available, the application can fallback to a regular <see cref="T:System.IO.FileStream" />. This doesn't affect how the rest of the application deals with the stream since both implement the abstract <see cref="T:System.IO.Stream" /> class.</para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.IO.Stream</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public VfsStream (string uri, System.IO.FileMode mode);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="uri" Type="System.String" />
        <Parameter Name="mode" Type="System.IO.FileMode" />
      </Parameters>
      <Docs>
        <summary>Construct a new instance of the VfsStream with the specified <see cref="T:System.IO.FileMode" />.</summary>
        <param name="uri">
          <see cref="T:System.String" /> representing the <see cref="T:Gnome.Vfs.Uri" /> to open.</param>
        <param name="mode">
          <see cref="T:System.IO.FileMode" /> specifying how to open the <see cref="T:Gnome.Vfs.Uri" />.</param>
        <remarks>The underlying file will be accessed synchronously using the <see cref="T:Gnome.Vfs.Sync" /> class.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public VfsStream (string text_uri, System.IO.FileMode mode, bool async);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="text_uri" Type="System.String" />
        <Parameter Name="mode" Type="System.IO.FileMode" />
        <Parameter Name="async" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Construct a new instance of the VfsStream with the specified <see cref="T:System.IO.FileMode" />. Based the async parameter, the file will be accessed (a)synchronously.</summary>
        <param name="text_uri">
          <see cref="T:System.String" /> representing the <see cref="T:Gnome.Vfs.Uri" /> to open.</param>
        <param name="mode">
          <see cref="T:System.IO.FileMode" /> specifying how to open the <see cref="T:Gnome.Vfs.Uri" />.</param>
        <param name="async">whether to access the file (a)sychronously.</param>
        <remarks>The underlying file will be accessed either by using the <see cref="T:Gnome.Vfs.Sync" /> or <see cref="T:Gnome.Vfs.Async" /> class.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsAsync">
      <MemberSignature Language="C#" Value="public virtual bool IsAsync { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <see cref="T:System.Boolean" /> value indicating whether the current stream is (a)synchronous.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Uri">
      <MemberSignature Language="C#" Value="public string Uri { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the <see cref="T:System.String" /> representing the <see cref="T:Gnome.Vfs.Uri" /> which this stream reads and writes from.</summary>
        <value>a <see cref="T:System.String" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
