<Type Name="VfsStreamAsyncResult" FullName="Gnome.Vfs.VfsStreamAsyncResult">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class VfsStreamAsyncResult : IAsyncResult" />
  <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.IAsyncResult" /> implementation tracking a pending asynchronous <see cref="T:Gnome.Vfs.VfsStream" /> operation.</summary>
    <remarks>
      <para>To wait until the operation has finished, you cannot use the <see cref="T:System.IAsyncResult.AsyncWaitHandle" /> since that will also block the Gnome.Vfs thread. Instead, use <see cref="M:GLib.MainContext.Iteration" /> like this:</para>
      <example>
        <code lang="C#">
while (!asyncResult.IsCompleted) {
	GLib.MainContext.Iteration ();
}
  </code>
      </example>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IAsyncResult</InterfaceName>
    </Interface>
  </Interfaces>
  <Members>
    <Member MemberName="AsyncState">
      <MemberSignature Language="C#" Value="public object AsyncState { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Gets the user-provided state object supplied at the time the asynchronous operation was started.</summary>
        <value>a <see cref="T:System.Object" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="AsyncWaitHandle">
      <MemberSignature Language="C#" Value="public System.Threading.WaitHandle AsyncWaitHandle { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Threading.WaitHandle</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieving this property will throw a <see cref="T:System.NotSupportedException" />. Instead use "while (!asyncResult.IsCompleted) { GLib.MainContext.Iteration(); }" to wait for the operation to finish.</summary>
        <value>a <see cref="T:System.Threading.WaitHandle" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="CompletedSynchronously">
      <MemberSignature Language="C#" Value="public bool CompletedSynchronously { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns whether the asynchronous operation completed synchronously.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Exception">
      <MemberSignature Language="C#" Value="public Exception Exception { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Exception</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Retrieves the <see cref="T:System.Exception" /> that occurred during the asynchronous operation.</summary>
        <value>a <see cref="T:System.Exception" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsCompleted">
      <MemberSignature Language="C#" Value="public bool IsCompleted { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Indicates whether the asynchronous operation has finished.</summary>
        <value>a <see cref="T:System.Boolean" /></value>
        <remarks>If an error occurred during the operation, <see cref="M:Gnome.Vfs.VfsStreamAsyncResult.Exception" /> contains the exception that was thrown.</remarks>
      </Docs>
    </Member>
    <Member MemberName="NBytes">
      <MemberSignature Language="C#" Value="public int NBytes { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Returns the number of bytes read or written during the operation.</summary>
        <value>a <see cref="T:System.Int32" /></value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
