<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<summary>Asynchronous File Operations; POSIX-style file operations that run outside your main loop.</summary>
<remarks>The members of this class are all static methods and use the <seecref="T:Gnome.Vfs.Handle"/> class to reference asynchronous operations in progress.
<summary>Close a handle opened with <seecref="M:Gnome.Vfs.Async.Open"/>. When the close has completed, <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/> of the operation.</summary>
<paramname="handle">a <seecref="T:Gnome.Vfs.Handle"/> to close</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete</param>
<summary>Create a file at uri according to mode <seecref="T:Gnome.Vfs.OpenMode"/>, with permissions <seecref="T:Gnome.Vfs.FilePermissions"/>. When the create has been completed <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/>.</summary>
<paramname="uri">the URI to create a file at.</param>
<paramname="mode">mode to leave the file opened in after creation (or <seecref="M:Gnome.Vfs.OpenMode.None"/> to leave the file closed after creation).</param>
<paramname="exclusive">Whether the file should be created in "exclusive" mode: i.e. if this flag is nonzero, operation will fail if a file with the same name already exists.</param>
<paramname="perm">Bitmap representing the permissions for the newly created file (Unix style).</param>
<paramname="priority">a value from <seecref="M:Gnome.Vfs.Async+Priority.Min"/> to <seecref="T:Gnome.Vfs.Async+Priority.Max"/> (normally should be <seecref="T:Gnome.Vfs.Async+Priority.Default"/>) indicating the priority to assign this job in allocating threads from the thread pool.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete.</param>
<summary>Create a file at <seecref="T:Gnome.Vfs.Uri"/> according to mode <seecref="T:Gnome.Vfs.OpenMode"/>, with permissions <seecref="T:Gnome.Vfs.FilePermissions"/>. When the create has been completed <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/>.</summary>
<paramname="uri">the <seecref="T:Gnome.Vfs.Uri"/> to create a file at.</param>
<paramname="mode">mode to leave the file opened in after creation (or <seecref="M:Gnome.Vfs.OpenMode.None"/> to leave the file closed after creation).</param>
<paramname="exclusive">Whether the file should be created in "exclusive" mode: i.e. if this flag is nonzero, operation will fail if a file with the same name already exists.</param>
<paramname="perm">Bitmap representing the permissions for the newly created file (Unix style).</param>
<paramname="priority">a value from <seecref="M:Gnome.Vfs.Async+Priority.Min"/> to <seecref="T:Gnome.Vfs.Async+Priority.Max"/> (normally should be <seecref="T:Gnome.Vfs.Async+Priority.Default"/>) indicating the priority to assign this job in allocating threads from the thread pool.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete.</param>
<summary>Open uri according to mode <seecref="T:Gnome.Vfs.OpenMode"/>. Once the file has been successfully opened, <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/>.</summary>
<paramname="uri">
<seecref="T:System.String"/> of the URI to open.</param>
<paramname="mode">
<seecref="T:Gnome.Vfs.OpenMode"/>.</param>
<paramname="priority">a value from <seecref="M:Gnome.Vfs.Async+Priority.Min"/> to <seecref="T:Gnome.Vfs.Async+Priority.Max"/> (normally should be <seecref="T:Gnome.Vfs.Async+Priority.Default"/>) indicating the priority to assign this job in allocating threads from the thread pool.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete.</param>
<summary>Open <seecref="T:Gnome.Vfs.Uri"/> according to mode <seecref="T:Gnome.Vfs.OpenMode"/>. Once the file has been successfully opened, <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/>.</summary>
<paramname="uri">
<seecref="T:Gnome.Vfs.Uri"/> to open.</param>
<paramname="mode">
<seecref="T:Gnome.Vfs.OpenMode"/>.</param>
<paramname="priority">a value from <seecref="M:Gnome.Vfs.Async+Priority.Min"/> to <seecref="T:Gnome.Vfs.Async+Priority.Max"/> (normally should be <seecref="T:Gnome.Vfs.Async+Priority.Default"/>) indicating the priority to assign this job in allocating threads from the thread pool.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete.</param>
<summary>Read number of bytes from the file pointed to by <seecref="T:Gnome.Vfs.Handle"/> into byte array buffer. When the operation is complete, <seecref="T:Gnome.Vfs.AsyncReadCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/> of the operation.</summary>
<paramname="handle">
<seecref="T:Gnome.Vfs.Handle"/> for the file to be read.</param>
<paramname="buffer">allocated array of <seecref="T:System.Byte"/> to read into. Needs to be passed as "out buffer[0]".</param>
<paramname="bytes">number of bytes to read.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncReadCallback"/> to be called when the operation is complete.</param>
<summary>Set the current position for reading/writing through <seecref="T:Gnome.Vfs.Handle"/>. When the operation is complete, <seecref="T:Gnome.Vfs.AsyncCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/> of the operation.</summary>
<paramname="handle">
<seecref="T:Gnome.Vfs.Handle"/> for which the current position must be changed.</param>
<paramname="whence">
<seecref="T:Gnome.Vfs.SeekPosition"/> value representing the starting position.</param>
<paramname="offset">number of bytes to skip from the position specified by <seecref="T:Gnome.Vfs.SeekPosition"/> (a positive value means to move forward; a negative one to move backwards).</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncCallback"/> to be called when the operation is complete.</param>
<summary>Write number of bytes from buffer byte array into the file pointed to be <seecref="T:Gnome.Vfs.Handle"/>. When the operation is complete, <seecref="T:Gnome.Vfs.AsyncWriteCallback"/> will be called with the <seecref="T:Gnome.Vfs.Result"/> of the operation.</summary>
<paramname="handle">
<seecref="T:Gnome.Vfs.Handle"/> for the file to be written.</param>
<paramname="buffer">
<seecref="T:System.Byte"/> array containing data to be written. Needs to be passed as "out buffer[0]".</param>
<paramname="bytes">number of bytes to write.</param>
<paramname="callback">a <seecref="T:Gnome.Vfs.AsyncWriteCallback"/> to be called when the operation is complete.</param>