~ubuntu-branches/ubuntu/natty/gnome-vfs/natty

« back to all changes in this revision

Viewing changes to doc/html/gnome-vfs-2.0-gnome-vfs-async-ops.html

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2009-03-17 16:12:58 UTC
  • mfrom: (0.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090317161258-px3a2czt9g2ktjz3
Tags: 1:2.24.1-0ubuntu1
New upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html>
 
3
<head>
 
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
5
<title>Asynchronous File Operations</title>
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.74.3">
 
7
<link rel="home" href="index.html" title="GnomeVFS - Filesystem Abstraction library">
 
8
<link rel="up" href="gnome-vfs-file-async-ops.html" title="Asynchronous Operations">
 
9
<link rel="prev" href="gnome-vfs-file-async-ops.html" title="Asynchronous Operations">
 
10
<link rel="next" href="gnome-vfs-2.0-gnome-vfs-cancellation.html" title="Cancellation">
 
11
<meta name="generator" content="GTK-Doc V1.12 (XML mode)">
 
12
<link rel="stylesheet" href="style.css" type="text/css">
 
13
<link rel="chapter" href="about.html" title="Introduction to GnomeVFS">
 
14
<link rel="chapter" href="data-types.html" title="Basic Data Types">
 
15
<link rel="chapter" href="gnome-vfs-basic-file-ops.html" title="File Operations">
 
16
<link rel="chapter" href="gnome-vfs-directory-ops.html" title="Directory-Specific Operations">
 
17
<link rel="chapter" href="gnome-vfs-file-and-dirs-ops.html" title="Advanced File/Directory Operations">
 
18
<link rel="chapter" href="gnome-vfs-file-async-ops.html" title="Asynchronous Operations">
 
19
<link rel="chapter" href="volumes.html" title="Volumes and Drives Handling">
 
20
<link rel="chapter" href="networking.html" title="Networking">
 
21
<link rel="chapter" href="mime-registry.html" title="MIME Registry">
 
22
<link rel="chapter" href="modules.html" title="Filesystem Modules">
 
23
</head>
 
24
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 
25
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
 
26
<tr valign="middle">
 
27
<td><a accesskey="p" href="gnome-vfs-file-async-ops.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 
28
<td><a accesskey="u" href="gnome-vfs-file-async-ops.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 
29
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 
30
<th width="100%" align="center">GnomeVFS - Filesystem Abstraction library</th>
 
31
<td><a accesskey="n" href="gnome-vfs-2.0-gnome-vfs-cancellation.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 
32
</tr>
 
33
<tr><td colspan="5" class="shortcuts">
 
34
<a href="#gnome-vfs-2.0-gnome-vfs-async-ops.synopsis" class="shortcut">Top</a>
 
35
                   | 
 
36
                  <a href="#gnome-vfs-2.0-gnome-vfs-async-ops.description" class="shortcut">Description</a>
 
37
</td></tr>
 
38
</table>
 
39
<div class="refentry" lang="en">
 
40
<a name="gnome-vfs-2.0-gnome-vfs-async-ops"></a><div class="titlepage"></div>
 
41
<div class="refnamediv"><table width="100%"><tr>
 
42
<td valign="top">
 
43
<h2><span class="refentrytitle"><a name="gnome-vfs-2.0-gnome-vfs-async-ops.top_of_page"></a>Asynchronous File Operations</span></h2>
 
44
<p>Asynchronous File Operations — POSIX-style file operations that run outside your main loop</p>
 
45
</td>
 
46
<td valign="top" align="right"></td>
 
47
</tr></table></div>
 
48
<div class="refsynopsisdiv">
 
49
<a name="gnome-vfs-2.0-gnome-vfs-async-ops.synopsis"></a><h2>Synopsis</h2>
 
50
<pre class="synopsis">
 
51
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN">GNOME_VFS_PRIORITY_MIN</a>
 
52
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX">GNOME_VFS_PRIORITY_MAX</a>
 
53
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT">GNOME_VFS_PRIORITY_DEFAULT</a>
 
54
typedef             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a>;
 
55
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCallback" title="GnomeVFSAsyncCallback ()">*GnomeVFSAsyncCallback</a>)            (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
56
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
57
                                                         gpointer callback_data);
 
58
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">*GnomeVFSAsyncOpenCallback</a>)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
59
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
60
                                                         gpointer callback_data);
 
61
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenAsChannelCallback" title="GnomeVFSAsyncOpenAsChannelCallback ()">*GnomeVFSAsyncOpenAsChannelCallback</a>)
 
62
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
63
                                                         GIOChannel *channel,
 
64
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
65
                                                         gpointer callback_data);
 
66
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateCallback" title="GnomeVFSAsyncCreateCallback ()">*GnomeVFSAsyncCreateCallback</a>)      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
67
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
68
                                                         gpointer callback_data);
 
69
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateAsChannelCallback" title="GnomeVFSAsyncCreateAsChannelCallback ()">*GnomeVFSAsyncCreateAsChannelCallback</a>)
 
70
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
71
                                                         GIOChannel *channel,
 
72
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
73
                                                         gpointer callback_data);
 
74
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCloseCallback" title="GnomeVFSAsyncCloseCallback ()">*GnomeVFSAsyncCloseCallback</a>)       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
75
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
76
                                                         gpointer callback_data);
 
77
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncReadCallback" title="GnomeVFSAsyncReadCallback ()">*GnomeVFSAsyncReadCallback</a>)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
78
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
79
                                                         gpointer buffer,
 
80
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_requested,
 
81
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_read,
 
82
                                                         gpointer callback_data);
 
83
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncWriteCallback" title="GnomeVFSAsyncWriteCallback ()">*GnomeVFSAsyncWriteCallback</a>)       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
84
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
85
                                                         gconstpointer buffer,
 
86
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_requested,
 
87
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_written,
 
88
                                                         gpointer callback_data);
 
89
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSeekCallback" title="GnomeVFSAsyncSeekCallback ()">*GnomeVFSAsyncSeekCallback</a>)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
90
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
91
                                                         gpointer callback_data);
 
92
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncGetFileInfoCallback" title="GnomeVFSAsyncGetFileInfoCallback ()">*GnomeVFSAsyncGetFileInfoCallback</a>) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
93
                                                         GList *results,
 
94
                                                         gpointer callback_data);
 
95
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSetFileInfoCallback" title="GnomeVFSAsyncSetFileInfoCallback ()">*GnomeVFSAsyncSetFileInfoCallback</a>) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
96
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
97
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo">GnomeVFSFileInfo</a> *file_info,
 
98
                                                         gpointer callback_data);
 
99
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFileControlCallback" title="GnomeVFSAsyncFileControlCallback ()">*GnomeVFSAsyncFileControlCallback</a>) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
100
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
101
                                                         gpointer operation_data,
 
102
                                                         gpointer callback_data);
 
103
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncDirectoryLoadCallback" title="GnomeVFSAsyncDirectoryLoadCallback ()">*GnomeVFSAsyncDirectoryLoadCallback</a>)
 
104
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
105
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
106
                                                         GList *list,
 
107
                                                         guint entries_read,
 
108
                                                         gpointer callback_data);
 
109
void                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFindDirectoryCallback" title="GnomeVFSAsyncFindDirectoryCallback ()">*GnomeVFSAsyncFindDirectoryCallback</a>)
 
110
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
111
                                                         GList *results,
 
112
                                                         gpointer data);
 
113
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a>;
 
114
gint                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncXferProgressCallback" title="GnomeVFSAsyncXferProgressCallback ()">*GnomeVFSAsyncXferProgressCallback</a>)
 
115
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
116
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressInfo" title="GnomeVFSXferProgressInfo">GnomeVFSXferProgressInfo</a> *info,
 
117
                                                         gpointer user_data);
 
118
typedef             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSCancellation" title="GnomeVFSCancellation">GnomeVFSCancellation</a>;
 
119
typedef             <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSContext" title="GnomeVFSContext">GnomeVFSContext</a>;
 
120
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-set-job-limit" title="gnome_vfs_async_set_job_limit ()">gnome_vfs_async_set_job_limit</a>       (int limit);
 
121
int                 <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-get-job-limit" title="gnome_vfs_async_get_job_limit ()">gnome_vfs_async_get_job_limit</a>       (void);
 
122
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-cancel" title="gnome_vfs_async_cancel ()">gnome_vfs_async_cancel</a>              (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle);
 
123
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open" title="gnome_vfs_async_open ()">gnome_vfs_async_open</a>                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
124
                                                         const gchar *text_uri,
 
125
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
126
                                                         int priority,
 
127
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
128
                                                         gpointer callback_data);
 
129
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open-uri" title="gnome_vfs_async_open_uri ()">gnome_vfs_async_open_uri</a>            (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
130
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
131
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
132
                                                         int priority,
 
133
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
134
                                                         gpointer callback_data);
 
135
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open-as-channel" title="gnome_vfs_async_open_as_channel ()">gnome_vfs_async_open_as_channel</a>     (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
136
                                                         const gchar *text_uri,
 
137
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
138
                                                         guint advised_block_size,
 
139
                                                         int priority,
 
140
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenAsChannelCallback" title="GnomeVFSAsyncOpenAsChannelCallback ()">GnomeVFSAsyncOpenAsChannelCallback</a> callback,
 
141
                                                         gpointer callback_data);
 
142
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open-uri-as-channel" title="gnome_vfs_async_open_uri_as_channel ()">gnome_vfs_async_open_uri_as_channel</a> (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
143
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
144
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
145
                                                         guint advised_block_size,
 
146
                                                         int priority,
 
147
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenAsChannelCallback" title="GnomeVFSAsyncOpenAsChannelCallback ()">GnomeVFSAsyncOpenAsChannelCallback</a> callback,
 
148
                                                         gpointer callback_data);
 
149
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create" title="gnome_vfs_async_create ()">gnome_vfs_async_create</a>              (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
150
                                                         const gchar *text_uri,
 
151
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
152
                                                         gboolean exclusive,
 
153
                                                         guint perm,
 
154
                                                         int priority,
 
155
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
156
                                                         gpointer callback_data);
 
157
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create-uri" title="gnome_vfs_async_create_uri ()">gnome_vfs_async_create_uri</a>          (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
158
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
159
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
160
                                                         gboolean exclusive,
 
161
                                                         guint perm,
 
162
                                                         int priority,
 
163
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
164
                                                         gpointer callback_data);
 
165
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create-symbolic-link" title="gnome_vfs_async_create_symbolic_link ()">gnome_vfs_async_create_symbolic_link</a>
 
166
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
167
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
168
                                                         const gchar *uri_reference,
 
169
                                                         int priority,
 
170
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
171
                                                         gpointer callback_data);
 
172
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create-as-channel" title="gnome_vfs_async_create_as_channel ()">gnome_vfs_async_create_as_channel</a>   (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
173
                                                         const gchar *text_uri,
 
174
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
175
                                                         gboolean exclusive,
 
176
                                                         guint perm,
 
177
                                                         int priority,
 
178
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateAsChannelCallback" title="GnomeVFSAsyncCreateAsChannelCallback ()">GnomeVFSAsyncCreateAsChannelCallback</a> callback,
 
179
                                                         gpointer callback_data);
 
180
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create-uri-as-channel" title="gnome_vfs_async_create_uri_as_channel ()">gnome_vfs_async_create_uri_as_channel</a>
 
181
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
182
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
183
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
184
                                                         gboolean exclusive,
 
185
                                                         guint perm,
 
186
                                                         int priority,
 
187
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateAsChannelCallback" title="GnomeVFSAsyncCreateAsChannelCallback ()">GnomeVFSAsyncCreateAsChannelCallback</a> callback,
 
188
                                                         gpointer callback_data);
 
189
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-close" title="gnome_vfs_async_close ()">gnome_vfs_async_close</a>               (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
190
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCloseCallback" title="GnomeVFSAsyncCloseCallback ()">GnomeVFSAsyncCloseCallback</a> callback,
 
191
                                                         gpointer callback_data);
 
192
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-read" title="gnome_vfs_async_read ()">gnome_vfs_async_read</a>                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
193
                                                         gpointer buffer,
 
194
                                                         guint bytes,
 
195
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncReadCallback" title="GnomeVFSAsyncReadCallback ()">GnomeVFSAsyncReadCallback</a> callback,
 
196
                                                         gpointer callback_data);
 
197
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-write" title="gnome_vfs_async_write ()">gnome_vfs_async_write</a>               (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
198
                                                         gconstpointer buffer,
 
199
                                                         guint bytes,
 
200
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncWriteCallback" title="GnomeVFSAsyncWriteCallback ()">GnomeVFSAsyncWriteCallback</a> callback,
 
201
                                                         gpointer callback_data);
 
202
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-seek" title="gnome_vfs_async_seek ()">gnome_vfs_async_seek</a>                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
203
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-rw-ops.html#GnomeVFSSeekPosition" title="enum GnomeVFSSeekPosition">GnomeVFSSeekPosition</a> whence,
 
204
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileOffset" title="GnomeVFSFileOffset">GnomeVFSFileOffset</a> offset,
 
205
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSeekCallback" title="GnomeVFSAsyncSeekCallback ()">GnomeVFSAsyncSeekCallback</a> callback,
 
206
                                                         gpointer callback_data);
 
207
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-get-file-info" title="gnome_vfs_async_get_file_info ()">gnome_vfs_async_get_file_info</a>       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
208
                                                         GList *uri_list,
 
209
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
210
                                                         int priority,
 
211
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncGetFileInfoCallback" title="GnomeVFSAsyncGetFileInfoCallback ()">GnomeVFSAsyncGetFileInfoCallback</a> callback,
 
212
                                                         gpointer callback_data);
 
213
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-set-file-info" title="gnome_vfs_async_set_file_info ()">gnome_vfs_async_set_file_info</a>       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
214
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
215
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo">GnomeVFSFileInfo</a> *info,
 
216
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSSetFileInfoMask" title="enum GnomeVFSSetFileInfoMask">GnomeVFSSetFileInfoMask</a> mask,
 
217
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
218
                                                         int priority,
 
219
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSetFileInfoCallback" title="GnomeVFSAsyncSetFileInfoCallback ()">GnomeVFSAsyncSetFileInfoCallback</a> callback,
 
220
                                                         gpointer callback_data);
 
221
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-load-directory" title="gnome_vfs_async_load_directory ()">gnome_vfs_async_load_directory</a>      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
222
                                                         const gchar *text_uri,
 
223
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
224
                                                         guint items_per_notification,
 
225
                                                         int priority,
 
226
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncDirectoryLoadCallback" title="GnomeVFSAsyncDirectoryLoadCallback ()">GnomeVFSAsyncDirectoryLoadCallback</a> callback,
 
227
                                                         gpointer callback_data);
 
228
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-load-directory-uri" title="gnome_vfs_async_load_directory_uri ()">gnome_vfs_async_load_directory_uri</a>  (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
229
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
230
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
231
                                                         guint items_per_notification,
 
232
                                                         int priority,
 
233
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncDirectoryLoadCallback" title="GnomeVFSAsyncDirectoryLoadCallback ()">GnomeVFSAsyncDirectoryLoadCallback</a> callback,
 
234
                                                         gpointer callback_data);
 
235
<a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a>      <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-xfer" title="gnome_vfs_async_xfer ()">gnome_vfs_async_xfer</a>                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
236
                                                         GList *source_uri_list,
 
237
                                                         GList *target_uri_list,
 
238
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferOptions" title="enum GnomeVFSXferOptions">GnomeVFSXferOptions</a> xfer_options,
 
239
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferErrorMode" title="enum GnomeVFSXferErrorMode">GnomeVFSXferErrorMode</a> error_mode,
 
240
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferOverwriteMode" title="enum GnomeVFSXferOverwriteMode">GnomeVFSXferOverwriteMode</a> overwrite_mode,
 
241
                                                         int priority,
 
242
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncXferProgressCallback" title="GnomeVFSAsyncXferProgressCallback ()">GnomeVFSAsyncXferProgressCallback</a> progress_update_callback,
 
243
                                                         gpointer update_callback_data,
 
244
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressCallback" title="GnomeVFSXferProgressCallback ()">GnomeVFSXferProgressCallback</a> progress_sync_callback,
 
245
                                                         gpointer sync_callback_data);
 
246
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-find-directory" title="gnome_vfs_async_find_directory ()">gnome_vfs_async_find_directory</a>      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
247
                                                         GList *near_uri_list,
 
248
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-directory-find-ops.html#GnomeVFSFindDirectoryKind" title="enum GnomeVFSFindDirectoryKind">GnomeVFSFindDirectoryKind</a> kind,
 
249
                                                         gboolean create_if_needed,
 
250
                                                         gboolean find_if_needed,
 
251
                                                         guint permissions,
 
252
                                                         int priority,
 
253
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFindDirectoryCallback" title="GnomeVFSAsyncFindDirectoryCallback ()">GnomeVFSAsyncFindDirectoryCallback</a> callback,
 
254
                                                         gpointer user_data);
 
255
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-file-control" title="gnome_vfs_async_file_control ()">gnome_vfs_async_file_control</a>        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
256
                                                         const char *operation,
 
257
                                                         gpointer operation_data,
 
258
                                                         GDestroyNotify operation_data_destroy_func,
 
259
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFileControlCallback" title="GnomeVFSAsyncFileControlCallback ()">GnomeVFSAsyncFileControlCallback</a> callback,
 
260
                                                         gpointer callback_data);
 
261
<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a>* <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-find-directory-result-dup" title="gnome_vfs_find_directory_result_dup ()">gnome_vfs_find_directory_result_dup</a>
 
262
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a> *result);
 
263
void                <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-find-directory-result-free" title="gnome_vfs_find_directory_result_free ()">gnome_vfs_find_directory_result_free</a>
 
264
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a> *result);
 
265
</pre>
 
266
</div>
 
267
<div class="refsect1" lang="en">
 
268
<a name="gnome-vfs-2.0-gnome-vfs-async-ops.description"></a><h2>Description</h2>
 
269
<p>
 
270
  When executing an asynchornous operation on a file the program does not
 
271
  block waiting for the operation to finish, instead it keeps on running,
 
272
  which means that the process and the I/O operation can be both running
 
273
  concurrently. Once the I/O operation has been completed the process is
 
274
  notified using a callback.
 
275
</p>
 
276
<p>
 
277
  Asynchronous operations are particularly good when long I/O operations
 
278
  are expected, in this case the program can continue normaly, the I/O
 
279
  will be performed in the background. On the other hand when operations
 
280
  are expected to be short (creating a file, writing/reading small amounts
 
281
  of data, etc.) synchronous operations are prefered.
 
282
</p>
 
283
<p>
 
284
  Within a graphical desktop asynchornous I/O operations can be used to
 
285
  avoid blocking the UI (User Interface) during a long operation, and
 
286
  to be able to provide some kind of feedback to the user.
 
287
</p>
 
288
</div>
 
289
<div class="refsect1" lang="en">
 
290
<a name="gnome-vfs-2.0-gnome-vfs-async-ops.details"></a><h2>Details</h2>
 
291
<div class="refsect2" lang="en">
 
292
<a name="GNOME-VFS-PRIORITY-MIN:CAPS"></a><h3>GNOME_VFS_PRIORITY_MIN</h3>
 
293
<pre class="programlisting">#define GNOME_VFS_PRIORITY_MIN     -10
 
294
</pre>
 
295
<p>
 
296
The minimuum priority a job can have.</p>
 
297
<p>
 
298
</p>
 
299
</div>
 
300
<hr>
 
301
<div class="refsect2" lang="en">
 
302
<a name="GNOME-VFS-PRIORITY-MAX:CAPS"></a><h3>GNOME_VFS_PRIORITY_MAX</h3>
 
303
<pre class="programlisting">#define GNOME_VFS_PRIORITY_MAX     10
 
304
</pre>
 
305
<p>
 
306
The maximuum priority a job can have.</p>
 
307
<p>
 
308
</p>
 
309
</div>
 
310
<hr>
 
311
<div class="refsect2" lang="en">
 
312
<a name="GNOME-VFS-PRIORITY-DEFAULT:CAPS"></a><h3>GNOME_VFS_PRIORITY_DEFAULT</h3>
 
313
<pre class="programlisting">#define GNOME_VFS_PRIORITY_DEFAULT 0
 
314
</pre>
 
315
<p>
 
316
The default job priority. Its best to use this
 
317
unless you have a reason to do otherwise.</p>
 
318
<p>
 
319
</p>
 
320
</div>
 
321
<hr>
 
322
<div class="refsect2" lang="en">
 
323
<a name="GnomeVFSAsyncHandle"></a><h3>GnomeVFSAsyncHandle</h3>
 
324
<pre class="programlisting">typedef struct GnomeVFSAsyncHandle GnomeVFSAsyncHandle;
 
325
</pre>
 
326
<p>
 
327
</p>
 
328
</div>
 
329
<hr>
 
330
<div class="refsect2" lang="en">
 
331
<a name="GnomeVFSAsyncCallback"></a><h3>GnomeVFSAsyncCallback ()</h3>
 
332
<pre class="programlisting">void                (*GnomeVFSAsyncCallback)            (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
333
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
334
                                                         gpointer callback_data);</pre>
 
335
<p>
 
336
Basic callback from an async operation that passes no data back,
 
337
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
338
<p>
 
339
</p>
 
340
<div class="variablelist"><table border="0">
 
341
<col align="left" valign="top">
 
342
<tbody>
 
343
<tr>
 
344
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
345
<td> handle of the operation generating the callback
 
346
</td>
 
347
</tr>
 
348
<tr>
 
349
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
350
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
351
an error code.
 
352
</td>
 
353
</tr>
 
354
<tr>
 
355
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
356
<td> user data defined when the callback was established
 
357
</td>
 
358
</tr>
 
359
</tbody>
 
360
</table></div>
 
361
</div>
 
362
<hr>
 
363
<div class="refsect2" lang="en">
 
364
<a name="GnomeVFSAsyncOpenCallback"></a><h3>GnomeVFSAsyncOpenCallback ()</h3>
 
365
<pre class="programlisting">void                (*GnomeVFSAsyncOpenCallback)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
366
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
367
                                                         gpointer callback_data);</pre>
 
368
<p>
 
369
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open" title="gnome_vfs_async_open ()"><code class="function">gnome_vfs_async_open()</code></a> function,
 
370
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
371
<p>
 
372
</p>
 
373
<div class="variablelist"><table border="0">
 
374
<col align="left" valign="top">
 
375
<tbody>
 
376
<tr>
 
377
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
378
<td> handle of the operation generating the callback
 
379
</td>
 
380
</tr>
 
381
<tr>
 
382
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
383
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
384
an error code.
 
385
</td>
 
386
</tr>
 
387
<tr>
 
388
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
389
<td> user data defined when the callback was established
 
390
</td>
 
391
</tr>
 
392
</tbody>
 
393
</table></div>
 
394
</div>
 
395
<hr>
 
396
<div class="refsect2" lang="en">
 
397
<a name="GnomeVFSAsyncOpenAsChannelCallback"></a><h3>GnomeVFSAsyncOpenAsChannelCallback ()</h3>
 
398
<pre class="programlisting">void                (*GnomeVFSAsyncOpenAsChannelCallback)
 
399
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
400
                                                         GIOChannel *channel,
 
401
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
402
                                                         gpointer callback_data);</pre>
 
403
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
404
<h3 class="title">Warning</h3>
 
405
<p><code class="literal">GnomeVFSAsyncOpenAsChannelCallback</code> is deprecated and should not be used in newly-written code.</p>
 
406
</div>
 
407
<p>
 
408
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open-as-channel" title="gnome_vfs_async_open_as_channel ()"><code class="function">gnome_vfs_async_open_as_channel()</code></a> function,
 
409
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
410
<p>
 
411
</p>
 
412
<div class="variablelist"><table border="0">
 
413
<col align="left" valign="top">
 
414
<tbody>
 
415
<tr>
 
416
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
417
<td> handle of the operation generating the callback.
 
418
</td>
 
419
</tr>
 
420
<tr>
 
421
<td><p><span class="term"><em class="parameter"><code>channel</code></em> :</span></p></td>
 
422
<td> a <span class="type">GIOChannel</span> corresponding to the file opened
 
423
</td>
 
424
</tr>
 
425
<tr>
 
426
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
427
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
428
an error code.
 
429
</td>
 
430
</tr>
 
431
<tr>
 
432
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
433
<td> user data defined when the callback was established.
 
434
</td>
 
435
</tr>
 
436
</tbody>
 
437
</table></div>
 
438
</div>
 
439
<hr>
 
440
<div class="refsect2" lang="en">
 
441
<a name="GnomeVFSAsyncCreateCallback"></a><h3>GnomeVFSAsyncCreateCallback ()</h3>
 
442
<pre class="programlisting">void                (*GnomeVFSAsyncCreateCallback)      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
443
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
444
                                                         gpointer callback_data);</pre>
 
445
<p>
 
446
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create" title="gnome_vfs_async_create ()"><code class="function">gnome_vfs_async_create()</code></a> function,
 
447
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
448
<p>
 
449
</p>
 
450
<div class="variablelist"><table border="0">
 
451
<col align="left" valign="top">
 
452
<tbody>
 
453
<tr>
 
454
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
455
<td> handle of the operation generating the callback
 
456
</td>
 
457
</tr>
 
458
<tr>
 
459
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
460
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
461
an error code.
 
462
</td>
 
463
</tr>
 
464
<tr>
 
465
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
466
<td> user data defined when the callback was established
 
467
</td>
 
468
</tr>
 
469
</tbody>
 
470
</table></div>
 
471
</div>
 
472
<hr>
 
473
<div class="refsect2" lang="en">
 
474
<a name="GnomeVFSAsyncCreateAsChannelCallback"></a><h3>GnomeVFSAsyncCreateAsChannelCallback ()</h3>
 
475
<pre class="programlisting">void                (*GnomeVFSAsyncCreateAsChannelCallback)
 
476
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
477
                                                         GIOChannel *channel,
 
478
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
479
                                                         gpointer callback_data);</pre>
 
480
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
481
<h3 class="title">Warning</h3>
 
482
<p><code class="literal">GnomeVFSAsyncCreateAsChannelCallback</code> is deprecated and should not be used in newly-written code.</p>
 
483
</div>
 
484
<p>
 
485
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-create-as-channel" title="gnome_vfs_async_create_as_channel ()"><code class="function">gnome_vfs_async_create_as_channel()</code></a> function,
 
486
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
487
<p>
 
488
</p>
 
489
<div class="variablelist"><table border="0">
 
490
<col align="left" valign="top">
 
491
<tbody>
 
492
<tr>
 
493
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
494
<td> handle of the operation generating the callback.
 
495
</td>
 
496
</tr>
 
497
<tr>
 
498
<td><p><span class="term"><em class="parameter"><code>channel</code></em> :</span></p></td>
 
499
<td> a <span class="type">GIOChannel</span> corresponding to the file created
 
500
</td>
 
501
</tr>
 
502
<tr>
 
503
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
504
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
505
an error code.
 
506
</td>
 
507
</tr>
 
508
<tr>
 
509
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
510
<td> user data defined when the callback was established.
 
511
</td>
 
512
</tr>
 
513
</tbody>
 
514
</table></div>
 
515
</div>
 
516
<hr>
 
517
<div class="refsect2" lang="en">
 
518
<a name="GnomeVFSAsyncCloseCallback"></a><h3>GnomeVFSAsyncCloseCallback ()</h3>
 
519
<pre class="programlisting">void                (*GnomeVFSAsyncCloseCallback)       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
520
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
521
                                                         gpointer callback_data);</pre>
 
522
<p>
 
523
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-close" title="gnome_vfs_async_close ()"><code class="function">gnome_vfs_async_close()</code></a> function,
 
524
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
525
<p>
 
526
</p>
 
527
<div class="variablelist"><table border="0">
 
528
<col align="left" valign="top">
 
529
<tbody>
 
530
<tr>
 
531
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
532
<td> handle of the operation generating the callback
 
533
</td>
 
534
</tr>
 
535
<tr>
 
536
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
537
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
538
an error code.
 
539
</td>
 
540
</tr>
 
541
<tr>
 
542
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
543
<td> user data defined when the callback was established
 
544
</td>
 
545
</tr>
 
546
</tbody>
 
547
</table></div>
 
548
</div>
 
549
<hr>
 
550
<div class="refsect2" lang="en">
 
551
<a name="GnomeVFSAsyncReadCallback"></a><h3>GnomeVFSAsyncReadCallback ()</h3>
 
552
<pre class="programlisting">void                (*GnomeVFSAsyncReadCallback)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
553
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
554
                                                         gpointer buffer,
 
555
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_requested,
 
556
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_read,
 
557
                                                         gpointer callback_data);</pre>
 
558
<p>
 
559
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-read" title="gnome_vfs_async_read ()"><code class="function">gnome_vfs_async_read()</code></a> function,
 
560
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
561
<p>
 
562
</p>
 
563
<div class="variablelist"><table border="0">
 
564
<col align="left" valign="top">
 
565
<tbody>
 
566
<tr>
 
567
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
568
<td> handle of the operation generating the callback
 
569
</td>
 
570
</tr>
 
571
<tr>
 
572
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
573
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
574
an error code.
 
575
</td>
 
576
</tr>
 
577
<tr>
 
578
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 
579
<td> buffer containing data read from <em class="parameter"><code>handle</code></em>.
 
580
</td>
 
581
</tr>
 
582
<tr>
 
583
<td><p><span class="term"><em class="parameter"><code>bytes_requested</code></em> :</span></p></td>
 
584
<td> the number of bytes asked for in the call to
 
585
<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-read" title="gnome_vfs_async_read ()"><code class="function">gnome_vfs_async_read()</code></a>.
 
586
</td>
 
587
</tr>
 
588
<tr>
 
589
<td><p><span class="term"><em class="parameter"><code>bytes_read</code></em> :</span></p></td>
 
590
<td> the number of bytes actually read from <em class="parameter"><code>handle</code></em> into <em class="parameter"><code>buffer</code></em>.
 
591
</td>
 
592
</tr>
 
593
<tr>
 
594
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
595
<td> user data defined when the callback was established
 
596
</td>
 
597
</tr>
 
598
</tbody>
 
599
</table></div>
 
600
</div>
 
601
<hr>
 
602
<div class="refsect2" lang="en">
 
603
<a name="GnomeVFSAsyncWriteCallback"></a><h3>GnomeVFSAsyncWriteCallback ()</h3>
 
604
<pre class="programlisting">void                (*GnomeVFSAsyncWriteCallback)       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
605
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
606
                                                         gconstpointer buffer,
 
607
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_requested,
 
608
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileSize" title="GnomeVFSFileSize">GnomeVFSFileSize</a> bytes_written,
 
609
                                                         gpointer callback_data);</pre>
 
610
<p>
 
611
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-write" title="gnome_vfs_async_write ()"><code class="function">gnome_vfs_async_write()</code></a> function,
 
612
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
613
<p>
 
614
</p>
 
615
<div class="variablelist"><table border="0">
 
616
<col align="left" valign="top">
 
617
<tbody>
 
618
<tr>
 
619
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
620
<td> handle of the operation generating the callback
 
621
</td>
 
622
</tr>
 
623
<tr>
 
624
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
625
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
626
an error code.
 
627
</td>
 
628
</tr>
 
629
<tr>
 
630
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 
631
<td> buffer containing data written to <em class="parameter"><code>handle</code></em>.
 
632
</td>
 
633
</tr>
 
634
<tr>
 
635
<td><p><span class="term"><em class="parameter"><code>bytes_requested</code></em> :</span></p></td>
 
636
<td> the number of bytes asked to write in the call to
 
637
<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-write" title="gnome_vfs_async_write ()"><code class="function">gnome_vfs_async_write()</code></a>.
 
638
</td>
 
639
</tr>
 
640
<tr>
 
641
<td><p><span class="term"><em class="parameter"><code>bytes_written</code></em> :</span></p></td>
 
642
<td> the number of bytes actually written to <em class="parameter"><code>handle</code></em> from <em class="parameter"><code>buffer</code></em>.
 
643
</td>
 
644
</tr>
 
645
<tr>
 
646
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
647
<td> user data defined when the callback was established.
 
648
</td>
 
649
</tr>
 
650
</tbody>
 
651
</table></div>
 
652
</div>
 
653
<hr>
 
654
<div class="refsect2" lang="en">
 
655
<a name="GnomeVFSAsyncSeekCallback"></a><h3>GnomeVFSAsyncSeekCallback ()</h3>
 
656
<pre class="programlisting">void                (*GnomeVFSAsyncSeekCallback)        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
657
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
658
                                                         gpointer callback_data);</pre>
 
659
<p>
 
660
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-seek" title="gnome_vfs_async_seek ()"><code class="function">gnome_vfs_async_seek()</code></a> function,
 
661
informing the user of the <em class="parameter"><code>result</code></em> of the operation.</p>
 
662
<p>
 
663
</p>
 
664
<div class="variablelist"><table border="0">
 
665
<col align="left" valign="top">
 
666
<tbody>
 
667
<tr>
 
668
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
669
<td> handle of the operation generating the callback
 
670
</td>
 
671
</tr>
 
672
<tr>
 
673
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
674
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise
 
675
an error code.
 
676
</td>
 
677
</tr>
 
678
<tr>
 
679
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
680
<td> user data defined when the callback was established.
 
681
</td>
 
682
</tr>
 
683
</tbody>
 
684
</table></div>
 
685
</div>
 
686
<hr>
 
687
<div class="refsect2" lang="en">
 
688
<a name="GnomeVFSAsyncGetFileInfoCallback"></a><h3>GnomeVFSAsyncGetFileInfoCallback ()</h3>
 
689
<pre class="programlisting">void                (*GnomeVFSAsyncGetFileInfoCallback) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
690
                                                         GList *results,
 
691
                                                         gpointer callback_data);</pre>
 
692
<p>
 
693
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-get-file-info" title="gnome_vfs_async_get_file_info ()"><code class="function">gnome_vfs_async_get_file_info()</code></a> function,
 
694
informing the user of the <em class="parameter"><code>results</code></em> of the operation.</p>
 
695
<p>
 
696
</p>
 
697
<div class="variablelist"><table border="0">
 
698
<col align="left" valign="top">
 
699
<tbody>
 
700
<tr>
 
701
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
702
<td> handle of the operation generating the callback
 
703
</td>
 
704
</tr>
 
705
<tr>
 
706
<td><p><span class="term"><em class="parameter"><code>results</code></em> :</span></p></td>
 
707
<td> <span class="type">GList</span> of <span class="type">GnomeVFSFileInfoResult</span> * items representing
 
708
the success of each <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info-ops.html#gnome-vfs-get-file-info" title="gnome_vfs_get_file_info ()"><code class="function">gnome_vfs_get_file_info()</code></a> and the data retrieved.
 
709
</td>
 
710
</tr>
 
711
<tr>
 
712
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
713
<td> user data defined when the callback was established.
 
714
</td>
 
715
</tr>
 
716
</tbody>
 
717
</table></div>
 
718
</div>
 
719
<hr>
 
720
<div class="refsect2" lang="en">
 
721
<a name="GnomeVFSAsyncSetFileInfoCallback"></a><h3>GnomeVFSAsyncSetFileInfoCallback ()</h3>
 
722
<pre class="programlisting">void                (*GnomeVFSAsyncSetFileInfoCallback) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
723
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
724
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo">GnomeVFSFileInfo</a> *file_info,
 
725
                                                         gpointer callback_data);</pre>
 
726
<p>
 
727
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-set-file-info" title="gnome_vfs_async_set_file_info ()"><code class="function">gnome_vfs_async_set_file_info()</code></a> function,
 
728
informing the user of the <em class="parameter"><code>result</code></em> of the operation and
 
729
returning the new <em class="parameter"><code>file_info</code></em>.
 
730
</p>
 
731
<p>
 
732
</p>
 
733
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
 
734
<h3 class="title">Note</h3>
 
735
<p>
 
736
  Setting the file info sometimes changes more information than the
 
737
  caller specified; for example, if the name changes the MIME type might
 
738
  change, and if the owner changes the SUID &amp; SGID bits might change. 
 
739
  Therefore the callback returns the new <em class="parameter"><code>file_info</code></em> for the caller's
 
740
  convenience. The GnomeVFSFileInfoOptions passed here are those used 
 
741
  for the returned file info; they are not used when setting.
 
742
 </p>
 
743
</div>
 
744
<p>
 
745
</p>
 
746
<div class="variablelist"><table border="0">
 
747
<col align="left" valign="top">
 
748
<tbody>
 
749
<tr>
 
750
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
751
<td> handle of the operation generating the callback
 
752
</td>
 
753
</tr>
 
754
<tr>
 
755
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
756
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise a
 
757
<a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult"><span class="type">GnomeVFSResult</span></a> error code.
 
758
</td>
 
759
</tr>
 
760
<tr>
 
761
<td><p><span class="term"><em class="parameter"><code>file_info</code></em> :</span></p></td>
 
762
<td> if <em class="parameter"><code>result</code></em> is <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>, a <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo"><span class="type">GnomeVFSFileInfo</span></a> struct containing
 
763
information about the file.
 
764
</td>
 
765
</tr>
 
766
<tr>
 
767
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
768
<td> user data defined when the callback was established
 
769
</td>
 
770
</tr>
 
771
</tbody>
 
772
</table></div>
 
773
</div>
 
774
<hr>
 
775
<div class="refsect2" lang="en">
 
776
<a name="GnomeVFSAsyncFileControlCallback"></a><h3>GnomeVFSAsyncFileControlCallback ()</h3>
 
777
<pre class="programlisting">void                (*GnomeVFSAsyncFileControlCallback) (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
778
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
779
                                                         gpointer operation_data,
 
780
                                                         gpointer callback_data);</pre>
 
781
<p>
 
782
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-find-directory" title="gnome_vfs_async_find_directory ()"><code class="function">gnome_vfs_async_find_directory()</code></a> function.
 
783
informing the user of the <em class="parameter"><code>result</code></em> of the operation, and
 
784
providing the requested <em class="parameter"><code>operation_data</code></em>.</p>
 
785
<p>
 
786
</p>
 
787
<div class="variablelist"><table border="0">
 
788
<col align="left" valign="top">
 
789
<tbody>
 
790
<tr>
 
791
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
792
<td> handle of the operation generating the callback
 
793
</td>
 
794
</tr>
 
795
<tr>
 
796
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
797
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was successful, otherwise a
 
798
<a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult"><span class="type">GnomeVFSResult</span></a> error code.
 
799
</td>
 
800
</tr>
 
801
<tr>
 
802
<td><p><span class="term"><em class="parameter"><code>operation_data</code></em> :</span></p></td>
 
803
<td> The data requested from the module if <em class="parameter"><code>result</code></em>
 
804
is <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>.
 
805
</td>
 
806
</tr>
 
807
<tr>
 
808
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
809
<td> User data defined when the operation was established.
 
810
</td>
 
811
</tr>
 
812
</tbody>
 
813
</table></div>
 
814
</div>
 
815
<hr>
 
816
<div class="refsect2" lang="en">
 
817
<a name="GnomeVFSAsyncDirectoryLoadCallback"></a><h3>GnomeVFSAsyncDirectoryLoadCallback ()</h3>
 
818
<pre class="programlisting">void                (*GnomeVFSAsyncDirectoryLoadCallback)
 
819
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
820
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> result,
 
821
                                                         GList *list,
 
822
                                                         guint entries_read,
 
823
                                                         gpointer callback_data);</pre>
 
824
<p>
 
825
Callback for the <code class="function">gnome_vfs_async_directory_load()</code> function.
 
826
informing the user of the <em class="parameter"><code>result</code></em> of the operation and
 
827
providing a file <em class="parameter"><code>list</code></em> if the <em class="parameter"><code>result</code></em> is <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>.</p>
 
828
<p>
 
829
</p>
 
830
<div class="variablelist"><table border="0">
 
831
<col align="left" valign="top">
 
832
<tbody>
 
833
<tr>
 
834
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
835
<td> handle of the operation generating the callback.
 
836
</td>
 
837
</tr>
 
838
<tr>
 
839
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
840
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the operation was sucessful, 
 
841
<a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-ERROR-EOF:CAPS"><code class="literal">GNOME_VFS_ERROR_EOF</code></a> if the last file in the directory 
 
842
has been read, otherwise a <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult"><span class="type">GnomeVFSResult</span></a> error code
 
843
</td>
 
844
</tr>
 
845
<tr>
 
846
<td><p><span class="term"><em class="parameter"><code>list</code></em> :</span></p></td>
 
847
<td> a <span class="type">GList</span> of <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo"><span class="type">GnomeVFSFileInfo</span></a> structs representing 
 
848
information about the files just loaded.
 
849
</td>
 
850
</tr>
 
851
<tr>
 
852
<td><p><span class="term"><em class="parameter"><code>entries_read</code></em> :</span></p></td>
 
853
<td> number of entries read from <em class="parameter"><code>handle</code></em> for this instance of
 
854
the callback.
 
855
</td>
 
856
</tr>
 
857
<tr>
 
858
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
859
<td> user data defined when the callback was established.
 
860
</td>
 
861
</tr>
 
862
</tbody>
 
863
</table></div>
 
864
</div>
 
865
<hr>
 
866
<div class="refsect2" lang="en">
 
867
<a name="GnomeVFSAsyncFindDirectoryCallback"></a><h3>GnomeVFSAsyncFindDirectoryCallback ()</h3>
 
868
<pre class="programlisting">void                (*GnomeVFSAsyncFindDirectoryCallback)
 
869
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
870
                                                         GList *results,
 
871
                                                         gpointer data);</pre>
 
872
<p>
 
873
Callback for the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-find-directory" title="gnome_vfs_async_find_directory ()"><code class="function">gnome_vfs_async_find_directory()</code></a> function,
 
874
informing the user of the <em class="parameter"><code>results</code></em> of the operation.</p>
 
875
<p>
 
876
</p>
 
877
<div class="variablelist"><table border="0">
 
878
<col align="left" valign="top">
 
879
<tbody>
 
880
<tr>
 
881
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
882
<td> handle of the operation generating the callback
 
883
</td>
 
884
</tr>
 
885
<tr>
 
886
<td><p><span class="term"><em class="parameter"><code>results</code></em> :</span></p></td>
 
887
<td> <span class="type">GList</span> of <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult"><span class="type">GnomeVFSFindDirectoryResult</span></a> *s containing
 
888
special directories matching the find criteria.
 
889
</td>
 
890
</tr>
 
891
<tr>
 
892
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
 
893
<td> user data defined when the operation was established
 
894
</td>
 
895
</tr>
 
896
</tbody>
 
897
</table></div>
 
898
</div>
 
899
<hr>
 
900
<div class="refsect2" lang="en">
 
901
<a name="GnomeVFSFindDirectoryResult"></a><h3>GnomeVFSFindDirectoryResult</h3>
 
902
<pre class="programlisting">typedef struct {
 
903
        GnomeVFSURI *uri;
 
904
        GnomeVFSResult result;
 
905
} GnomeVFSFindDirectoryResult;
 
906
</pre>
 
907
<p>
 
908
This structure is passed to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFindDirectoryCallback" title="GnomeVFSAsyncFindDirectoryCallback ()"><span class="type">GnomeVFSAsyncFindDirectoryCallback</span></a>
 
909
by <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-find-directory" title="gnome_vfs_async_find_directory ()"><code class="function">gnome_vfs_async_find_directory()</code></a> and contains the information
 
910
associated with a single <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> matching the specified
 
911
find request.</p>
 
912
<p>
 
913
</p>
 
914
<div class="variablelist"><table border="0">
 
915
<col align="left" valign="top">
 
916
<tbody>
 
917
<tr>
 
918
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *<em class="structfield"><code><a name="GnomeVFSFindDirectoryResult.uri"></a>uri</code></em>;</span></p></td>
 
919
<td> The <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> that was found.
 
920
</td>
 
921
</tr>
 
922
<tr>
 
923
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a> <em class="structfield"><code><a name="GnomeVFSFindDirectoryResult.result"></a>result</code></em>;</span></p></td>
 
924
<td> The <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult"><span class="type">GnomeVFSResult</span></a> that was obtained when finding <em class="parameter"><code>uri</code></em>.
 
925
</td>
 
926
</tr>
 
927
</tbody>
 
928
</table></div>
 
929
</div>
 
930
<hr>
 
931
<div class="refsect2" lang="en">
 
932
<a name="GnomeVFSAsyncXferProgressCallback"></a><h3>GnomeVFSAsyncXferProgressCallback ()</h3>
 
933
<pre class="programlisting">gint                (*GnomeVFSAsyncXferProgressCallback)
 
934
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
935
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressInfo" title="GnomeVFSXferProgressInfo">GnomeVFSXferProgressInfo</a> *info,
 
936
                                                         gpointer user_data);</pre>
 
937
<p>
 
938
This callback is passed to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-xfer" title="gnome_vfs_async_xfer ()"><code class="function">gnome_vfs_async_xfer()</code></a> and should
 
939
be used for user interaction. That said, it serves two purposes:
 
940
Informing the user about the progress of the operation, and
 
941
making decisions.
 
942
</p>
 
943
<p>
 
944
On the one hand, when the transfer progresses normally,
 
945
i.e. when the <em class="parameter"><code>info</code></em>'s status is <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GNOME-VFS-XFER-PROGRESS-STATUS-OK:CAPS"><code class="literal">GNOME_VFS_XFER_PROGRESS_STATUS_OK</code></a>
 
946
it is called periodically whenever new progress information
 
947
is available, and it wasn't called already within the last
 
948
100 milliseconds.
 
949
</p>
 
950
<p>
 
951
On the other hand, it is called whenever a decision is
 
952
requested from the user, i.e. whenever the <em class="parameter"><code>info</code></em>'s <code class="literal">status</code>
 
953
is not <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GNOME-VFS-XFER-PROGRESS-STATUS-OK:CAPS"><code class="literal">GNOME_VFS_XFER_PROGRESS_STATUS_OK</code></a>.
 
954
</p>
 
955
<p>
 
956
Either way, it acts like <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressCallback" title="GnomeVFSXferProgressCallback ()"><span class="type">GnomeVFSXferProgressCallback</span></a>
 
957
would act in non-asynchronous mode. The differences in
 
958
invocation are explained in the <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-xfer" title="gnome_vfs_async_xfer ()"><code class="function">gnome_vfs_async_xfer()</code></a>
 
959
documentation.</p>
 
960
<p>
 
961
</p>
 
962
<div class="variablelist"><table border="0">
 
963
<col align="left" valign="top">
 
964
<tbody>
 
965
<tr>
 
966
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
967
<td> Handle of the Xfer operation generating the callback.
 
968
</td>
 
969
</tr>
 
970
<tr>
 
971
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
972
<td> Information on the current progress in the transfer.
 
973
</td>
 
974
</tr>
 
975
<tr>
 
976
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
977
<td> The user data that was passed to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-xfer" title="gnome_vfs_async_xfer ()"><code class="function">gnome_vfs_async_xfer()</code></a>.
 
978
</td>
 
979
</tr>
 
980
<tr>
 
981
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
982
<td> <code class="literal">gint</code> depending on the <span class="type">GnomeVFSXferProgressInfo.</span>
 
983
            Please consult <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressCallback" title="GnomeVFSXferProgressCallback ()"><span class="type">GnomeVFSXferProgressCallback</span></a> for details.
 
984
 
 
985
</td>
 
986
</tr>
 
987
</tbody>
 
988
</table></div>
 
989
</div>
 
990
<hr>
 
991
<div class="refsect2" lang="en">
 
992
<a name="GnomeVFSCancellation"></a><h3>GnomeVFSCancellation</h3>
 
993
<pre class="programlisting">typedef struct GnomeVFSCancellation GnomeVFSCancellation;
 
994
</pre>
 
995
<p>
 
996
</p>
 
997
</div>
 
998
<hr>
 
999
<div class="refsect2" lang="en">
 
1000
<a name="GnomeVFSContext"></a><h3>GnomeVFSContext</h3>
 
1001
<pre class="programlisting">typedef struct GnomeVFSContext GnomeVFSContext;
 
1002
</pre>
 
1003
<p>
 
1004
</p>
 
1005
</div>
 
1006
<hr>
 
1007
<div class="refsect2" lang="en">
 
1008
<a name="gnome-vfs-async-set-job-limit"></a><h3>gnome_vfs_async_set_job_limit ()</h3>
 
1009
<pre class="programlisting">void                gnome_vfs_async_set_job_limit       (int limit);</pre>
 
1010
<p>
 
1011
Restrict the number of worker threads used by async operations
 
1012
to <em class="parameter"><code>limit</code></em>.</p>
 
1013
<p>
 
1014
</p>
 
1015
<div class="variablelist"><table border="0">
 
1016
<col align="left" valign="top">
 
1017
<tbody><tr>
 
1018
<td><p><span class="term"><em class="parameter"><code>limit</code></em> :</span></p></td>
 
1019
<td> maximum number of allowable threads.
 
1020
</td>
 
1021
</tr></tbody>
 
1022
</table></div>
 
1023
</div>
 
1024
<hr>
 
1025
<div class="refsect2" lang="en">
 
1026
<a name="gnome-vfs-async-get-job-limit"></a><h3>gnome_vfs_async_get_job_limit ()</h3>
 
1027
<pre class="programlisting">int                 gnome_vfs_async_get_job_limit       (void);</pre>
 
1028
<p>
 
1029
Get the current maximum allowable number of
 
1030
worker threads for async operations.</p>
 
1031
<p>
 
1032
</p>
 
1033
<div class="variablelist"><table border="0">
 
1034
<col align="left" valign="top">
 
1035
<tbody><tr>
 
1036
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
1037
<td> current maximum number of threads.
 
1038
</td>
 
1039
</tr></tbody>
 
1040
</table></div>
 
1041
</div>
 
1042
<hr>
 
1043
<div class="refsect2" lang="en">
 
1044
<a name="gnome-vfs-async-cancel"></a><h3>gnome_vfs_async_cancel ()</h3>
 
1045
<pre class="programlisting">void                gnome_vfs_async_cancel              (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle);</pre>
 
1046
<p>
 
1047
Cancel an asynchronous operation and close all its callbacks.
 
1048
</p>
 
1049
<p>
 
1050
In a single-threaded application, its guaranteed that if you
 
1051
call this before the operation finished callback has been called
 
1052
the callback will never be called.
 
1053
</p>
 
1054
<p>
 
1055
However, in a multithreaded application, or to be more specific, if
 
1056
you call gnome_vfs_async_cancel from another thread than the thread
 
1057
handling the glib mainloop, there is a race condition where if
 
1058
the operation finished callback was just dispatched, you might
 
1059
still cancel the operation. So, in this case you need to handle the
 
1060
fact that the operation callback might still run even though another
 
1061
thread has cancelled the operation.
 
1062
</p>
 
1063
<p>
 
1064
One way to avoid problems from this is to mark the data structure you're
 
1065
using as callback_data as destroyed, and then queue an idle and do the
 
1066
actual freeing in an idle handler. The idle handler is guaranteed to run
 
1067
after the callback has been exectuted, so by then it is safe to destroy
 
1068
the callback_data. The callback handler must handle the case where the
 
1069
callback_data is marked destroyed by doing nothing.
 
1070
</p>
 
1071
<p>
 
1072
This is clearly not ideal for multithreaded applications, but as good as
 
1073
we can with the current API. Eventually we'll have to change the API to
 
1074
make this work better.</p>
 
1075
<p>
 
1076
</p>
 
1077
<div class="variablelist"><table border="0">
 
1078
<col align="left" valign="top">
 
1079
<tbody><tr>
 
1080
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
1081
<td> handle of the async operation to be cancelled.
 
1082
</td>
 
1083
</tr></tbody>
 
1084
</table></div>
 
1085
</div>
 
1086
<hr>
 
1087
<div class="refsect2" lang="en">
 
1088
<a name="gnome-vfs-async-open"></a><h3>gnome_vfs_async_open ()</h3>
 
1089
<pre class="programlisting">void                gnome_vfs_async_open                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1090
                                                         const gchar *text_uri,
 
1091
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1092
                                                         int priority,
 
1093
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
1094
                                                         gpointer callback_data);</pre>
 
1095
<p>
 
1096
Open <em class="parameter"><code>text_uri</code></em> according to mode <em class="parameter"><code>open_mode</code></em>.  On return, <em class="parameter"><code>handle_return</code></em> will
 
1097
contain a pointer to the operation. Once the file has been successfully opened,
 
1098
<em class="parameter"><code>callback</code></em> will be called with the <span class="type">GnomeVFSResult.</span></p>
 
1099
<p>
 
1100
</p>
 
1101
<div class="variablelist"><table border="0">
 
1102
<col align="left" valign="top">
 
1103
<tbody>
 
1104
<tr>
 
1105
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1106
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1107
</td>
 
1108
</tr>
 
1109
<tr>
 
1110
<td><p><span class="term"><em class="parameter"><code>text_uri</code></em> :</span></p></td>
 
1111
<td> string of the uri to open.
 
1112
</td>
 
1113
</tr>
 
1114
<tr>
 
1115
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1116
<td> open mode.
 
1117
</td>
 
1118
</tr>
 
1119
<tr>
 
1120
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1121
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1122
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign to this job
 
1123
in allocating threads from the thread pool.
 
1124
</td>
 
1125
</tr>
 
1126
<tr>
 
1127
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1128
<td> function to be called when the operation is complete.
 
1129
</td>
 
1130
</tr>
 
1131
<tr>
 
1132
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1133
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1134
</td>
 
1135
</tr>
 
1136
</tbody>
 
1137
</table></div>
 
1138
</div>
 
1139
<hr>
 
1140
<div class="refsect2" lang="en">
 
1141
<a name="gnome-vfs-async-open-uri"></a><h3>gnome_vfs_async_open_uri ()</h3>
 
1142
<pre class="programlisting">void                gnome_vfs_async_open_uri            (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1143
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1144
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1145
                                                         int priority,
 
1146
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
1147
                                                         gpointer callback_data);</pre>
 
1148
<p>
 
1149
Open <em class="parameter"><code>uri</code></em> according to mode <em class="parameter"><code>open_mode</code></em>.  On return, <em class="parameter"><code>handle_return</code></em> will
 
1150
contain a pointer to the operation. Once the file has been successfully opened,
 
1151
<em class="parameter"><code>callback</code></em> will be called with the <span class="type">GnomeVFSResult.</span></p>
 
1152
<p>
 
1153
</p>
 
1154
<div class="variablelist"><table border="0">
 
1155
<col align="left" valign="top">
 
1156
<tbody>
 
1157
<tr>
 
1158
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1159
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1160
</td>
 
1161
</tr>
 
1162
<tr>
 
1163
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1164
<td> uri to open.
 
1165
</td>
 
1166
</tr>
 
1167
<tr>
 
1168
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1169
<td> open mode.
 
1170
</td>
 
1171
</tr>
 
1172
<tr>
 
1173
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1174
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1175
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign to this job
 
1176
in allocating threads from the thread pool.
 
1177
</td>
 
1178
</tr>
 
1179
<tr>
 
1180
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1181
<td> function to be called when the operation is complete.
 
1182
</td>
 
1183
</tr>
 
1184
<tr>
 
1185
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1186
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1187
</td>
 
1188
</tr>
 
1189
</tbody>
 
1190
</table></div>
 
1191
</div>
 
1192
<hr>
 
1193
<div class="refsect2" lang="en">
 
1194
<a name="gnome-vfs-async-open-as-channel"></a><h3>gnome_vfs_async_open_as_channel ()</h3>
 
1195
<pre class="programlisting">void                gnome_vfs_async_open_as_channel     (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1196
                                                         const gchar *text_uri,
 
1197
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1198
                                                         guint advised_block_size,
 
1199
                                                         int priority,
 
1200
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenAsChannelCallback" title="GnomeVFSAsyncOpenAsChannelCallback ()">GnomeVFSAsyncOpenAsChannelCallback</a> callback,
 
1201
                                                         gpointer callback_data);</pre>
 
1202
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1203
<h3 class="title">Warning</h3>
 
1204
<p><code class="literal">gnome_vfs_async_open_as_channel</code> is deprecated and should not be used in newly-written code.</p>
 
1205
</div>
 
1206
<p>
 
1207
Open <em class="parameter"><code>text_uri</code></em> as a <span class="type">GIOChannel.</span> Once the channel has been established
 
1208
<em class="parameter"><code>callback</code></em> will be called with <em class="parameter"><code>callback_data</code></em>, the result of the operation,
 
1209
and if the result was <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>, a reference to a <span class="type">GIOChannel</span> pointing
 
1210
at <em class="parameter"><code>text_uri</code></em> in <em class="parameter"><code>open_mode</code></em>.
 
1211
</p>
 
1212
<p>
 
1213
This function has been deprecated due to behaving weirdly which suggests 
 
1214
that it hasn't been used. See bugs <span class="type">157266</span>, <span class="type">157265</span>, <span class="type">157261</span>, <span class="type">138398</span> in
 
1215
the GNOME Bugzilla. If the *_as_channel functions are needed they should be
 
1216
fixed and undeprecated.</p>
 
1217
<p>
 
1218
</p>
 
1219
<div class="variablelist"><table border="0">
 
1220
<col align="left" valign="top">
 
1221
<tbody>
 
1222
<tr>
 
1223
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1224
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1225
</td>
 
1226
</tr>
 
1227
<tr>
 
1228
<td><p><span class="term"><em class="parameter"><code>text_uri</code></em> :</span></p></td>
 
1229
<td> string of the uri to open as a <span class="type">GIOChannel.</span>
 
1230
</td>
 
1231
</tr>
 
1232
<tr>
 
1233
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1234
<td> open mode i.e. for reading, writing, random, etc.
 
1235
</td>
 
1236
</tr>
 
1237
<tr>
 
1238
<td><p><span class="term"><em class="parameter"><code>advised_block_size</code></em> :</span></p></td>
 
1239
<td> the preferred block size for <span class="type">GIOChannel</span> to read.
 
1240
</td>
 
1241
</tr>
 
1242
<tr>
 
1243
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1244
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1245
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1246
in allocating threads from the thread pool.
 
1247
</td>
 
1248
</tr>
 
1249
<tr>
 
1250
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1251
<td> function to be called when the operation is complete.
 
1252
</td>
 
1253
</tr>
 
1254
<tr>
 
1255
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1256
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1257
</td>
 
1258
</tr>
 
1259
</tbody>
 
1260
</table></div>
 
1261
</div>
 
1262
<hr>
 
1263
<div class="refsect2" lang="en">
 
1264
<a name="gnome-vfs-async-open-uri-as-channel"></a><h3>gnome_vfs_async_open_uri_as_channel ()</h3>
 
1265
<pre class="programlisting">void                gnome_vfs_async_open_uri_as_channel (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1266
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1267
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1268
                                                         guint advised_block_size,
 
1269
                                                         int priority,
 
1270
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenAsChannelCallback" title="GnomeVFSAsyncOpenAsChannelCallback ()">GnomeVFSAsyncOpenAsChannelCallback</a> callback,
 
1271
                                                         gpointer callback_data);</pre>
 
1272
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1273
<h3 class="title">Warning</h3>
 
1274
<p><code class="literal">gnome_vfs_async_open_uri_as_channel</code> is deprecated and should not be used in newly-written code. This function has been deprecated due to behaving weirdly which suggests 
 
1275
that it shouldn't be used. See bugs <span class="type">157266</span>, <span class="type">157265</span>, <span class="type">157261</span>, <span class="type">138398</span> in
 
1276
the GNOME Bugzilla. If the *_as_channel functions are needed they should be
 
1277
fixed and undeprecated.</p>
 
1278
</div>
 
1279
<p>
 
1280
Open <em class="parameter"><code>uri</code></em> as a <span class="type">GIOChannel.</span> Once the channel has been established
 
1281
<em class="parameter"><code>callback</code></em> will be called with <em class="parameter"><code>callback_data</code></em>, the result of the operation,
 
1282
and if the result was <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>, a reference to a <span class="type">GIOChannel</span> pointing
 
1283
at <em class="parameter"><code>uri</code></em> in <em class="parameter"><code>open_mode</code></em>.</p>
 
1284
<p>
 
1285
</p>
 
1286
<div class="variablelist"><table border="0">
 
1287
<col align="left" valign="top">
 
1288
<tbody>
 
1289
<tr>
 
1290
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1291
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1292
</td>
 
1293
</tr>
 
1294
<tr>
 
1295
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1296
<td> uri to open as a <span class="type">GIOChannel.</span>
 
1297
</td>
 
1298
</tr>
 
1299
<tr>
 
1300
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1301
<td> open mode i.e. for reading, writing, random, etc.
 
1302
</td>
 
1303
</tr>
 
1304
<tr>
 
1305
<td><p><span class="term"><em class="parameter"><code>advised_block_size</code></em> :</span></p></td>
 
1306
<td> the preferred block size for <span class="type">GIOChannel</span> to read.
 
1307
</td>
 
1308
</tr>
 
1309
<tr>
 
1310
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1311
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1312
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1313
in allocating threads from the thread pool.
 
1314
</td>
 
1315
</tr>
 
1316
<tr>
 
1317
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1318
<td> function to be called when the operation is complete.
 
1319
</td>
 
1320
</tr>
 
1321
<tr>
 
1322
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1323
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1324
</td>
 
1325
</tr>
 
1326
</tbody>
 
1327
</table></div>
 
1328
</div>
 
1329
<hr>
 
1330
<div class="refsect2" lang="en">
 
1331
<a name="gnome-vfs-async-create"></a><h3>gnome_vfs_async_create ()</h3>
 
1332
<pre class="programlisting">void                gnome_vfs_async_create              (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1333
                                                         const gchar *text_uri,
 
1334
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1335
                                                         gboolean exclusive,
 
1336
                                                         guint perm,
 
1337
                                                         int priority,
 
1338
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
1339
                                                         gpointer callback_data);</pre>
 
1340
<p>
 
1341
Create a file at <em class="parameter"><code>uri</code></em> according to mode <em class="parameter"><code>open_mode</code></em>, with permissions <em class="parameter"><code>perm</code></em> (in
 
1342
the standard UNIX packed bit permissions format). When the create has been completed
 
1343
<em class="parameter"><code>callback</code></em> will be called with the result code and <em class="parameter"><code>callback_data</code></em>.</p>
 
1344
<p>
 
1345
</p>
 
1346
<div class="variablelist"><table border="0">
 
1347
<col align="left" valign="top">
 
1348
<tbody>
 
1349
<tr>
 
1350
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1351
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1352
</td>
 
1353
</tr>
 
1354
<tr>
 
1355
<td><p><span class="term"><em class="parameter"><code>text_uri</code></em> :</span></p></td>
 
1356
<td> string representing the uri to create.
 
1357
</td>
 
1358
</tr>
 
1359
<tr>
 
1360
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1361
<td> mode to leave the file opened in after creation (or <code class="literal">GNOME_VFS_OPEN_MODE_NONE</code>
 
1362
to leave the file closed after creation).
 
1363
</td>
 
1364
</tr>
 
1365
<tr>
 
1366
<td><p><span class="term"><em class="parameter"><code>exclusive</code></em> :</span></p></td>
 
1367
<td> whether the file should be created in "exclusive" mode:
 
1368
i.e. if this flag is nonzero, operation will fail if a file with the
 
1369
same name already exists.
 
1370
</td>
 
1371
</tr>
 
1372
<tr>
 
1373
<td><p><span class="term"><em class="parameter"><code>perm</code></em> :</span></p></td>
 
1374
<td> bitmap representing the permissions for the newly created file
 
1375
(Unix style).
 
1376
</td>
 
1377
</tr>
 
1378
<tr>
 
1379
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1380
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1381
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1382
in allocating threads from the thread pool.
 
1383
</td>
 
1384
</tr>
 
1385
<tr>
 
1386
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1387
<td> function to be called when the operation is complete.
 
1388
</td>
 
1389
</tr>
 
1390
<tr>
 
1391
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1392
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1393
</td>
 
1394
</tr>
 
1395
</tbody>
 
1396
</table></div>
 
1397
</div>
 
1398
<hr>
 
1399
<div class="refsect2" lang="en">
 
1400
<a name="gnome-vfs-async-create-uri"></a><h3>gnome_vfs_async_create_uri ()</h3>
 
1401
<pre class="programlisting">void                gnome_vfs_async_create_uri          (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1402
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1403
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1404
                                                         gboolean exclusive,
 
1405
                                                         guint perm,
 
1406
                                                         int priority,
 
1407
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
1408
                                                         gpointer callback_data);</pre>
 
1409
<p>
 
1410
Create a file at <em class="parameter"><code>uri</code></em> according to mode <em class="parameter"><code>open_mode</code></em>, with permissions <em class="parameter"><code>perm</code></em> (in
 
1411
the standard UNIX packed bit permissions format). When the create has been completed
 
1412
<em class="parameter"><code>callback</code></em> will be called with the result code and <em class="parameter"><code>callback_data</code></em>.</p>
 
1413
<p>
 
1414
</p>
 
1415
<div class="variablelist"><table border="0">
 
1416
<col align="left" valign="top">
 
1417
<tbody>
 
1418
<tr>
 
1419
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1420
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1421
</td>
 
1422
</tr>
 
1423
<tr>
 
1424
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1425
<td> uri to create a file at.
 
1426
</td>
 
1427
</tr>
 
1428
<tr>
 
1429
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1430
<td> mode to leave the file opened in after creation (or <code class="literal">GNOME_VFS_OPEN_MODE_NONE</code>
 
1431
to leave the file closed after creation).
 
1432
</td>
 
1433
</tr>
 
1434
<tr>
 
1435
<td><p><span class="term"><em class="parameter"><code>exclusive</code></em> :</span></p></td>
 
1436
<td> Whether the file should be created in "exclusive" mode:
 
1437
i.e. if this flag is nonzero, operation will fail if a file with the
 
1438
same name already exists.
 
1439
</td>
 
1440
</tr>
 
1441
<tr>
 
1442
<td><p><span class="term"><em class="parameter"><code>perm</code></em> :</span></p></td>
 
1443
<td> bitmap representing the permissions for the newly created file
 
1444
(Unix style).
 
1445
</td>
 
1446
</tr>
 
1447
<tr>
 
1448
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1449
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1450
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1451
in allocating threads from the thread pool.
 
1452
</td>
 
1453
</tr>
 
1454
<tr>
 
1455
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1456
<td> function to be called when the operation is complete.
 
1457
</td>
 
1458
</tr>
 
1459
<tr>
 
1460
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1461
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1462
</td>
 
1463
</tr>
 
1464
</tbody>
 
1465
</table></div>
 
1466
</div>
 
1467
<hr>
 
1468
<div class="refsect2" lang="en">
 
1469
<a name="gnome-vfs-async-create-symbolic-link"></a><h3>gnome_vfs_async_create_symbolic_link ()</h3>
 
1470
<pre class="programlisting">void                gnome_vfs_async_create_symbolic_link
 
1471
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1472
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1473
                                                         const gchar *uri_reference,
 
1474
                                                         int priority,
 
1475
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncOpenCallback" title="GnomeVFSAsyncOpenCallback ()">GnomeVFSAsyncOpenCallback</a> callback,
 
1476
                                                         gpointer callback_data);</pre>
 
1477
<p>
 
1478
Create a symbolic link at <em class="parameter"><code>uri</code></em> pointing to <em class="parameter"><code>uri_reference</code></em>. When the operation
 
1479
has completed <em class="parameter"><code>callback</code></em> will be called with the result of the operation and
 
1480
<em class="parameter"><code>callback_data</code></em>.</p>
 
1481
<p>
 
1482
</p>
 
1483
<div class="variablelist"><table border="0">
 
1484
<col align="left" valign="top">
 
1485
<tbody>
 
1486
<tr>
 
1487
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1488
<td> when the function returns, will point to a handle for
 
1489
the async operation.
 
1490
</td>
 
1491
</tr>
 
1492
<tr>
 
1493
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1494
<td> location to create the link at.
 
1495
</td>
 
1496
</tr>
 
1497
<tr>
 
1498
<td><p><span class="term"><em class="parameter"><code>uri_reference</code></em> :</span></p></td>
 
1499
<td> location to point <em class="parameter"><code>uri</code></em> to (can be a uri fragment, i.e. relative).
 
1500
</td>
 
1501
</tr>
 
1502
<tr>
 
1503
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1504
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1505
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign to this job
 
1506
in allocating threads from the thread pool.
 
1507
</td>
 
1508
</tr>
 
1509
<tr>
 
1510
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1511
<td> function to be called when the operation is complete.
 
1512
</td>
 
1513
</tr>
 
1514
<tr>
 
1515
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1516
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1517
</td>
 
1518
</tr>
 
1519
</tbody>
 
1520
</table></div>
 
1521
</div>
 
1522
<hr>
 
1523
<div class="refsect2" lang="en">
 
1524
<a name="gnome-vfs-async-create-as-channel"></a><h3>gnome_vfs_async_create_as_channel ()</h3>
 
1525
<pre class="programlisting">void                gnome_vfs_async_create_as_channel   (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1526
                                                         const gchar *text_uri,
 
1527
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1528
                                                         gboolean exclusive,
 
1529
                                                         guint perm,
 
1530
                                                         int priority,
 
1531
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateAsChannelCallback" title="GnomeVFSAsyncCreateAsChannelCallback ()">GnomeVFSAsyncCreateAsChannelCallback</a> callback,
 
1532
                                                         gpointer callback_data);</pre>
 
1533
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1534
<h3 class="title">Warning</h3>
 
1535
<p><code class="literal">gnome_vfs_async_create_as_channel</code> is deprecated and should not be used in newly-written code.</p>
 
1536
</div>
 
1537
<p>
 
1538
Open <em class="parameter"><code>text_uri</code></em> as a <span class="type">GIOChannel</span>, creating it as necessary. Once the channel has 
 
1539
been established <em class="parameter"><code>callback</code></em> will be called with <em class="parameter"><code>callback_data</code></em>, the result of the 
 
1540
operation, and if the result was <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>, a reference to a <span class="type">GIOChannel</span> pointing
 
1541
at <em class="parameter"><code>text_uri</code></em> in <em class="parameter"><code>open_mode</code></em>.
 
1542
</p>
 
1543
<p>
 
1544
This function has been deprecated due to behaving weirdly which suggests 
 
1545
that it hasn't been used. See bugs <span class="type">157266</span>, <span class="type">157265</span>, <span class="type">157261</span>, <span class="type">138398</span> in
 
1546
the GNOME Bugzilla. If the *_as_channel functions are needed they should be
 
1547
fixed and undeprecated.</p>
 
1548
<p>
 
1549
</p>
 
1550
<div class="variablelist"><table border="0">
 
1551
<col align="left" valign="top">
 
1552
<tbody>
 
1553
<tr>
 
1554
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1555
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1556
</td>
 
1557
</tr>
 
1558
<tr>
 
1559
<td><p><span class="term"><em class="parameter"><code>text_uri</code></em> :</span></p></td>
 
1560
<td> string of the uri to open as a <span class="type">GIOChannel</span>, creating it as necessary.
 
1561
</td>
 
1562
</tr>
 
1563
<tr>
 
1564
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1565
<td> open mode i.e. for reading, writing, random, etc.
 
1566
</td>
 
1567
</tr>
 
1568
<tr>
 
1569
<td><p><span class="term"><em class="parameter"><code>exclusive</code></em> :</span></p></td>
 
1570
<td> replace the file if it already exists.
 
1571
</td>
 
1572
</tr>
 
1573
<tr>
 
1574
<td><p><span class="term"><em class="parameter"><code>perm</code></em> :</span></p></td>
 
1575
<td> standard POSIX-style permissions bitmask, permissions of created file.
 
1576
</td>
 
1577
</tr>
 
1578
<tr>
 
1579
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1580
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1581
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1582
in allocating threads from the thread pool.
 
1583
</td>
 
1584
</tr>
 
1585
<tr>
 
1586
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1587
<td> function to be called when the operation is complete.
 
1588
</td>
 
1589
</tr>
 
1590
<tr>
 
1591
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1592
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1593
</td>
 
1594
</tr>
 
1595
</tbody>
 
1596
</table></div>
 
1597
</div>
 
1598
<hr>
 
1599
<div class="refsect2" lang="en">
 
1600
<a name="gnome-vfs-async-create-uri-as-channel"></a><h3>gnome_vfs_async_create_uri_as_channel ()</h3>
 
1601
<pre class="programlisting">void                gnome_vfs_async_create_uri_as_channel
 
1602
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1603
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1604
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-basic-ops.html#GnomeVFSOpenMode" title="enum GnomeVFSOpenMode">GnomeVFSOpenMode</a> open_mode,
 
1605
                                                         gboolean exclusive,
 
1606
                                                         guint perm,
 
1607
                                                         int priority,
 
1608
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCreateAsChannelCallback" title="GnomeVFSAsyncCreateAsChannelCallback ()">GnomeVFSAsyncCreateAsChannelCallback</a> callback,
 
1609
                                                         gpointer callback_data);</pre>
 
1610
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
 
1611
<h3 class="title">Warning</h3>
 
1612
<p><code class="literal">gnome_vfs_async_create_uri_as_channel</code> is deprecated and should not be used in newly-written code.</p>
 
1613
</div>
 
1614
<p>
 
1615
Open <em class="parameter"><code>uri</code></em> as a <span class="type">GIOChannel</span>, creating it as necessary. Once the channel has 
 
1616
been established <em class="parameter"><code>callback</code></em> will be called with <em class="parameter"><code>callback_data</code></em>, the result of the 
 
1617
operation, and if the result was <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a>, a reference to a <span class="type">GIOChannel</span> pointing
 
1618
at <em class="parameter"><code>text_uri</code></em> in <em class="parameter"><code>open_mode</code></em>.</p>
 
1619
<p>
 
1620
</p>
 
1621
<div class="variablelist"><table border="0">
 
1622
<col align="left" valign="top">
 
1623
<tbody>
 
1624
<tr>
 
1625
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1626
<td> pointer to a pointer to a <span class="type">GnomeVFSHandle</span> object.
 
1627
</td>
 
1628
</tr>
 
1629
<tr>
 
1630
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1631
<td> uri to open as a <span class="type">GIOChannel</span>, creating it as necessary.
 
1632
</td>
 
1633
</tr>
 
1634
<tr>
 
1635
<td><p><span class="term"><em class="parameter"><code>open_mode</code></em> :</span></p></td>
 
1636
<td> open mode i.e. for reading, writing, random, etc.
 
1637
</td>
 
1638
</tr>
 
1639
<tr>
 
1640
<td><p><span class="term"><em class="parameter"><code>exclusive</code></em> :</span></p></td>
 
1641
<td> replace the file if it already exists.
 
1642
</td>
 
1643
</tr>
 
1644
<tr>
 
1645
<td><p><span class="term"><em class="parameter"><code>perm</code></em> :</span></p></td>
 
1646
<td> standard POSIX-style permissions bitmask, permissions of created file.
 
1647
</td>
 
1648
</tr>
 
1649
<tr>
 
1650
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1651
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1652
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1653
in allocating threads from the thread pool.
 
1654
</td>
 
1655
</tr>
 
1656
<tr>
 
1657
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1658
<td> function to be called when the operation is complete.
 
1659
</td>
 
1660
</tr>
 
1661
<tr>
 
1662
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1663
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1664
</td>
 
1665
</tr>
 
1666
</tbody>
 
1667
</table></div>
 
1668
<p class="since">Since 2.12</p>
 
1669
</div>
 
1670
<hr>
 
1671
<div class="refsect2" lang="en">
 
1672
<a name="gnome-vfs-async-close"></a><h3>gnome_vfs_async_close ()</h3>
 
1673
<pre class="programlisting">void                gnome_vfs_async_close               (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
1674
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncCloseCallback" title="GnomeVFSAsyncCloseCallback ()">GnomeVFSAsyncCloseCallback</a> callback,
 
1675
                                                         gpointer callback_data);</pre>
 
1676
<p>
 
1677
Close <em class="parameter"><code>handle</code></em> opened with <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#gnome-vfs-async-open" title="gnome_vfs_async_open ()"><code class="function">gnome_vfs_async_open()</code></a>. When the close
 
1678
has completed, <em class="parameter"><code>callback</code></em> will be called with <em class="parameter"><code>callback_data</code></em> and
 
1679
the result of the operation.</p>
 
1680
<p>
 
1681
</p>
 
1682
<div class="variablelist"><table border="0">
 
1683
<col align="left" valign="top">
 
1684
<tbody>
 
1685
<tr>
 
1686
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
1687
<td> async handle to close.
 
1688
</td>
 
1689
</tr>
 
1690
<tr>
 
1691
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1692
<td> function to be called when the operation is complete.
 
1693
</td>
 
1694
</tr>
 
1695
<tr>
 
1696
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1697
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1698
</td>
 
1699
</tr>
 
1700
</tbody>
 
1701
</table></div>
 
1702
</div>
 
1703
<hr>
 
1704
<div class="refsect2" lang="en">
 
1705
<a name="gnome-vfs-async-read"></a><h3>gnome_vfs_async_read ()</h3>
 
1706
<pre class="programlisting">void                gnome_vfs_async_read                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
1707
                                                         gpointer buffer,
 
1708
                                                         guint bytes,
 
1709
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncReadCallback" title="GnomeVFSAsyncReadCallback ()">GnomeVFSAsyncReadCallback</a> callback,
 
1710
                                                         gpointer callback_data);</pre>
 
1711
<p>
 
1712
Read <em class="parameter"><code>bytes</code></em> bytes from the file pointed to be <em class="parameter"><code>handle</code></em> into <em class="parameter"><code>buffer</code></em>.
 
1713
When the operation is complete, <em class="parameter"><code>callback</code></em> will be called with the
 
1714
result of the operation and <em class="parameter"><code>callback_data</code></em>.</p>
 
1715
<p>
 
1716
</p>
 
1717
<div class="variablelist"><table border="0">
 
1718
<col align="left" valign="top">
 
1719
<tbody>
 
1720
<tr>
 
1721
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
1722
<td> handle for the file to be read.
 
1723
</td>
 
1724
</tr>
 
1725
<tr>
 
1726
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 
1727
<td> allocated block of memory to read into.
 
1728
</td>
 
1729
</tr>
 
1730
<tr>
 
1731
<td><p><span class="term"><em class="parameter"><code>bytes</code></em> :</span></p></td>
 
1732
<td> number of bytes to read.
 
1733
</td>
 
1734
</tr>
 
1735
<tr>
 
1736
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1737
<td> function to be called when the operation is complete.
 
1738
</td>
 
1739
</tr>
 
1740
<tr>
 
1741
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1742
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1743
</td>
 
1744
</tr>
 
1745
</tbody>
 
1746
</table></div>
 
1747
</div>
 
1748
<hr>
 
1749
<div class="refsect2" lang="en">
 
1750
<a name="gnome-vfs-async-write"></a><h3>gnome_vfs_async_write ()</h3>
 
1751
<pre class="programlisting">void                gnome_vfs_async_write               (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
1752
                                                         gconstpointer buffer,
 
1753
                                                         guint bytes,
 
1754
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncWriteCallback" title="GnomeVFSAsyncWriteCallback ()">GnomeVFSAsyncWriteCallback</a> callback,
 
1755
                                                         gpointer callback_data);</pre>
 
1756
<p>
 
1757
Write <em class="parameter"><code>bytes</code></em> bytes from <em class="parameter"><code>buffer</code></em> into the file pointed to be <em class="parameter"><code>handle</code></em>.
 
1758
When the operation is complete, <em class="parameter"><code>callback</code></em> will be called with the
 
1759
result of the operation and <em class="parameter"><code>callback_data</code></em>.</p>
 
1760
<p>
 
1761
</p>
 
1762
<div class="variablelist"><table border="0">
 
1763
<col align="left" valign="top">
 
1764
<tbody>
 
1765
<tr>
 
1766
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
1767
<td> handle for the file to be written.
 
1768
</td>
 
1769
</tr>
 
1770
<tr>
 
1771
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
 
1772
<td> block of memory containing data to be written.
 
1773
</td>
 
1774
</tr>
 
1775
<tr>
 
1776
<td><p><span class="term"><em class="parameter"><code>bytes</code></em> :</span></p></td>
 
1777
<td> number of bytes to write.
 
1778
</td>
 
1779
</tr>
 
1780
<tr>
 
1781
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1782
<td> function to be called when the operation is complete.
 
1783
</td>
 
1784
</tr>
 
1785
<tr>
 
1786
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1787
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1788
</td>
 
1789
</tr>
 
1790
</tbody>
 
1791
</table></div>
 
1792
</div>
 
1793
<hr>
 
1794
<div class="refsect2" lang="en">
 
1795
<a name="gnome-vfs-async-seek"></a><h3>gnome_vfs_async_seek ()</h3>
 
1796
<pre class="programlisting">void                gnome_vfs_async_seek                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
1797
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-rw-ops.html#GnomeVFSSeekPosition" title="enum GnomeVFSSeekPosition">GnomeVFSSeekPosition</a> whence,
 
1798
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-size.html#GnomeVFSFileOffset" title="GnomeVFSFileOffset">GnomeVFSFileOffset</a> offset,
 
1799
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSeekCallback" title="GnomeVFSAsyncSeekCallback ()">GnomeVFSAsyncSeekCallback</a> callback,
 
1800
                                                         gpointer callback_data);</pre>
 
1801
<p>
 
1802
Set the current position for reading/writing through <em class="parameter"><code>handle</code></em>.
 
1803
When the operation is complete, <em class="parameter"><code>callback</code></em> will be called with the
 
1804
result of the operation and <em class="parameter"><code>callback_data</code></em>.</p>
 
1805
<p>
 
1806
</p>
 
1807
<div class="variablelist"><table border="0">
 
1808
<col align="left" valign="top">
 
1809
<tbody>
 
1810
<tr>
 
1811
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
1812
<td> handle for which the current position must be changed.
 
1813
</td>
 
1814
</tr>
 
1815
<tr>
 
1816
<td><p><span class="term"><em class="parameter"><code>whence</code></em> :</span></p></td>
 
1817
<td> integer value representing the starting position.
 
1818
</td>
 
1819
</tr>
 
1820
<tr>
 
1821
<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
 
1822
<td> number of bytes to skip from the position specified by <em class="parameter"><code>whence</code></em>.
 
1823
(a positive value means to move forward; a negative one to move backwards).
 
1824
</td>
 
1825
</tr>
 
1826
<tr>
 
1827
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1828
<td> function to be called when the operation is complete.
 
1829
</td>
 
1830
</tr>
 
1831
<tr>
 
1832
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1833
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1834
</td>
 
1835
</tr>
 
1836
</tbody>
 
1837
</table></div>
 
1838
</div>
 
1839
<hr>
 
1840
<div class="refsect2" lang="en">
 
1841
<a name="gnome-vfs-async-get-file-info"></a><h3>gnome_vfs_async_get_file_info ()</h3>
 
1842
<pre class="programlisting">void                gnome_vfs_async_get_file_info       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1843
                                                         GList *uri_list,
 
1844
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
1845
                                                         int priority,
 
1846
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncGetFileInfoCallback" title="GnomeVFSAsyncGetFileInfoCallback ()">GnomeVFSAsyncGetFileInfoCallback</a> callback,
 
1847
                                                         gpointer callback_data);</pre>
 
1848
<p>
 
1849
Fetch information about the files indicated in <em class="parameter"><code>uri_list</code></em> and return the
 
1850
information progressively to <em class="parameter"><code>callback</code></em>.</p>
 
1851
<p>
 
1852
</p>
 
1853
<div class="variablelist"><table border="0">
 
1854
<col align="left" valign="top">
 
1855
<tbody>
 
1856
<tr>
 
1857
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1858
<td> when the function returns, will point to a handle for
 
1859
the async operation.
 
1860
</td>
 
1861
</tr>
 
1862
<tr>
 
1863
<td><p><span class="term"><em class="parameter"><code>uri_list</code></em> :</span></p></td>
 
1864
<td> a <span class="type">GList</span> of <span class="type">GnomeVFSURIs</span> to fetch information about.
 
1865
</td>
 
1866
</tr>
 
1867
<tr>
 
1868
<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
 
1869
<td> packed boolean type providing control over various details
 
1870
of the get_file_info operation.
 
1871
</td>
 
1872
</tr>
 
1873
<tr>
 
1874
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1875
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1876
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1877
in allocating threads from the thread pool.
 
1878
</td>
 
1879
</tr>
 
1880
<tr>
 
1881
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1882
<td> function to be called when the operation is complete.
 
1883
</td>
 
1884
</tr>
 
1885
<tr>
 
1886
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1887
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1888
</td>
 
1889
</tr>
 
1890
</tbody>
 
1891
</table></div>
 
1892
</div>
 
1893
<hr>
 
1894
<div class="refsect2" lang="en">
 
1895
<a name="gnome-vfs-async-set-file-info"></a><h3>gnome_vfs_async_set_file_info ()</h3>
 
1896
<pre class="programlisting">void                gnome_vfs_async_set_file_info       (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1897
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
1898
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo">GnomeVFSFileInfo</a> *info,
 
1899
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSSetFileInfoMask" title="enum GnomeVFSSetFileInfoMask">GnomeVFSSetFileInfoMask</a> mask,
 
1900
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
1901
                                                         int priority,
 
1902
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncSetFileInfoCallback" title="GnomeVFSAsyncSetFileInfoCallback ()">GnomeVFSAsyncSetFileInfoCallback</a> callback,
 
1903
                                                         gpointer callback_data);</pre>
 
1904
<p>
 
1905
Set file info details about the file at <em class="parameter"><code>uri</code></em>, such as permissions, name,
 
1906
owner, and modification time.</p>
 
1907
<p>
 
1908
</p>
 
1909
<div class="variablelist"><table border="0">
 
1910
<col align="left" valign="top">
 
1911
<tbody>
 
1912
<tr>
 
1913
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1914
<td> when the function returns, will point to a handle for
 
1915
the async operation.
 
1916
</td>
 
1917
</tr>
 
1918
<tr>
 
1919
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
1920
<td> uri to set the file info of.
 
1921
</td>
 
1922
</tr>
 
1923
<tr>
 
1924
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
 
1925
<td> the struct containing new information about the file.
 
1926
</td>
 
1927
</tr>
 
1928
<tr>
 
1929
<td><p><span class="term"><em class="parameter"><code>mask</code></em> :</span></p></td>
 
1930
<td> control which fields of <em class="parameter"><code>info</code></em> are to be changed about the file at <em class="parameter"><code>uri</code></em>.
 
1931
</td>
 
1932
</tr>
 
1933
<tr>
 
1934
<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
 
1935
<td> packed boolean type providing control over various details
 
1936
of the set_file_info operation.
 
1937
</td>
 
1938
</tr>
 
1939
<tr>
 
1940
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
1941
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
1942
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
1943
in allocating threads from the thread pool.
 
1944
</td>
 
1945
</tr>
 
1946
<tr>
 
1947
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
1948
<td> function to be called when the operation is complete.
 
1949
</td>
 
1950
</tr>
 
1951
<tr>
 
1952
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
1953
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
1954
</td>
 
1955
</tr>
 
1956
</tbody>
 
1957
</table></div>
 
1958
</div>
 
1959
<hr>
 
1960
<div class="refsect2" lang="en">
 
1961
<a name="gnome-vfs-async-load-directory"></a><h3>gnome_vfs_async_load_directory ()</h3>
 
1962
<pre class="programlisting">void                gnome_vfs_async_load_directory      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
1963
                                                         const gchar *text_uri,
 
1964
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
1965
                                                         guint items_per_notification,
 
1966
                                                         int priority,
 
1967
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncDirectoryLoadCallback" title="GnomeVFSAsyncDirectoryLoadCallback ()">GnomeVFSAsyncDirectoryLoadCallback</a> callback,
 
1968
                                                         gpointer callback_data);</pre>
 
1969
<p>
 
1970
Read the contents of the directory at <em class="parameter"><code>text_uri</code></em>, passing back <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo"><span class="type">GnomeVFSFileInfo</span></a> 
 
1971
structs about each file in the directory to <em class="parameter"><code>callback</code></em>. <em class="parameter"><code>items_per_notification</code></em>
 
1972
files will be processed between each call to <em class="parameter"><code>callback</code></em>.</p>
 
1973
<p>
 
1974
</p>
 
1975
<div class="variablelist"><table border="0">
 
1976
<col align="left" valign="top">
 
1977
<tbody>
 
1978
<tr>
 
1979
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
1980
<td> when the function returns, will point to a handle for
 
1981
the async operation.
 
1982
</td>
 
1983
</tr>
 
1984
<tr>
 
1985
<td><p><span class="term"><em class="parameter"><code>text_uri</code></em> :</span></p></td>
 
1986
<td> string representing the uri of the directory to be loaded.
 
1987
</td>
 
1988
</tr>
 
1989
<tr>
 
1990
<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
 
1991
<td> packed boolean type providing control over various details
 
1992
of the get_file_info operation.
 
1993
</td>
 
1994
</tr>
 
1995
<tr>
 
1996
<td><p><span class="term"><em class="parameter"><code>items_per_notification</code></em> :</span></p></td>
 
1997
<td> number of files to process in a row before calling <em class="parameter"><code>callback</code></em>
 
1998
</td>
 
1999
</tr>
 
2000
<tr>
 
2001
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
2002
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
2003
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign to this job
 
2004
in allocating threads from the thread pool.
 
2005
</td>
 
2006
</tr>
 
2007
<tr>
 
2008
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
2009
<td> function to be called when the operation is complete.
 
2010
</td>
 
2011
</tr>
 
2012
<tr>
 
2013
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
2014
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
2015
</td>
 
2016
</tr>
 
2017
</tbody>
 
2018
</table></div>
 
2019
</div>
 
2020
<hr>
 
2021
<div class="refsect2" lang="en">
 
2022
<a name="gnome-vfs-async-load-directory-uri"></a><h3>gnome_vfs_async_load_directory_uri ()</h3>
 
2023
<pre class="programlisting">void                gnome_vfs_async_load_directory_uri  (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
2024
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI">GnomeVFSURI</a> *uri,
 
2025
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfoOptions" title="enum GnomeVFSFileInfoOptions">GnomeVFSFileInfoOptions</a> options,
 
2026
                                                         guint items_per_notification,
 
2027
                                                         int priority,
 
2028
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncDirectoryLoadCallback" title="GnomeVFSAsyncDirectoryLoadCallback ()">GnomeVFSAsyncDirectoryLoadCallback</a> callback,
 
2029
                                                         gpointer callback_data);</pre>
 
2030
<p>
 
2031
Read the contents of the directory at <em class="parameter"><code>uri</code></em>, passing back <a class="link" href="gnome-vfs-2.0-gnome-vfs-file-info.html#GnomeVFSFileInfo" title="GnomeVFSFileInfo"><span class="type">GnomeVFSFileInfo</span></a> structs
 
2032
about each file in the directory to <em class="parameter"><code>callback</code></em>. <em class="parameter"><code>items_per_notification</code></em>
 
2033
files will be processed between each call to <em class="parameter"><code>callback</code></em>.</p>
 
2034
<p>
 
2035
</p>
 
2036
<div class="variablelist"><table border="0">
 
2037
<col align="left" valign="top">
 
2038
<tbody>
 
2039
<tr>
 
2040
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
2041
<td> when the function returns, will point to a handle for
 
2042
the async operation.
 
2043
</td>
 
2044
</tr>
 
2045
<tr>
 
2046
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
 
2047
<td> uri of the directory to be loaded.
 
2048
</td>
 
2049
</tr>
 
2050
<tr>
 
2051
<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
 
2052
<td> packed boolean type providing control over various details
 
2053
of the get_file_info operation.
 
2054
</td>
 
2055
</tr>
 
2056
<tr>
 
2057
<td><p><span class="term"><em class="parameter"><code>items_per_notification</code></em> :</span></p></td>
 
2058
<td> number of files to process in a row before calling <em class="parameter"><code>callback</code></em>
 
2059
</td>
 
2060
</tr>
 
2061
<tr>
 
2062
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
2063
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
2064
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
2065
in allocating threads from the thread pool.
 
2066
</td>
 
2067
</tr>
 
2068
<tr>
 
2069
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
2070
<td> function to be called when the operation is complete.
 
2071
</td>
 
2072
</tr>
 
2073
<tr>
 
2074
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
2075
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
2076
</td>
 
2077
</tr>
 
2078
</tbody>
 
2079
</table></div>
 
2080
</div>
 
2081
<hr>
 
2082
<div class="refsect2" lang="en">
 
2083
<a name="gnome-vfs-async-xfer"></a><h3>gnome_vfs_async_xfer ()</h3>
 
2084
<pre class="programlisting"><a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GnomeVFSResult" title="enum GnomeVFSResult">GnomeVFSResult</a>      gnome_vfs_async_xfer                (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
2085
                                                         GList *source_uri_list,
 
2086
                                                         GList *target_uri_list,
 
2087
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferOptions" title="enum GnomeVFSXferOptions">GnomeVFSXferOptions</a> xfer_options,
 
2088
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferErrorMode" title="enum GnomeVFSXferErrorMode">GnomeVFSXferErrorMode</a> error_mode,
 
2089
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferOverwriteMode" title="enum GnomeVFSXferOverwriteMode">GnomeVFSXferOverwriteMode</a> overwrite_mode,
 
2090
                                                         int priority,
 
2091
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncXferProgressCallback" title="GnomeVFSAsyncXferProgressCallback ()">GnomeVFSAsyncXferProgressCallback</a> progress_update_callback,
 
2092
                                                         gpointer update_callback_data,
 
2093
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressCallback" title="GnomeVFSXferProgressCallback ()">GnomeVFSXferProgressCallback</a> progress_sync_callback,
 
2094
                                                         gpointer sync_callback_data);</pre>
 
2095
<p>
 
2096
Performs an Xfer operation in a seperate thread, otherwise like
 
2097
<a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#gnome-vfs-xfer-uri-list" title="gnome_vfs_xfer_uri_list ()"><code class="function">gnome_vfs_xfer_uri_list()</code></a>.
 
2098
</p>
 
2099
<p>
 
2100
See <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncXferProgressCallback" title="GnomeVFSAsyncXferProgressCallback ()"><span class="type">GnomeVFSAsyncXferProgressCallback</span></a> and <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressCallback" title="GnomeVFSXferProgressCallback ()"><span class="type">GnomeVFSXferProgressCallback</span></a> for details on how the
 
2101
callback mechanism works.
 
2102
</p>
 
2103
<p>
 
2104
</p>
 
2105
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
 
2106
<h3 class="title">Note</h3>
 
2107
<p>
 
2108
  <em class="parameter"><code>progress_sync_callback</code></em> should only be used if you want to execute additional
 
2109
  actions that may not wait until after the transfer, for instance because
 
2110
  you have to do them for each transferred file/directory, and that require
 
2111
  a very specific action to be taken. For instance, the Nautilus application
 
2112
  schedules metadata removal/moving/copying at specific phases.
 
2113
 </p>
 
2114
<p>
 
2115
  Do not use <em class="parameter"><code>progress_sync_callback</code></em> if you just need user feedback, because
 
2116
  each invocation is expensive, and requires a context switch.
 
2117
 </p>
 
2118
<p>
 
2119
  If you use both <em class="parameter"><code>progress_update_callback</code></em> and <em class="parameter"><code>progress_sync_callback</code></em>,
 
2120
  the <em class="parameter"><code>progress_sync_callback</code></em> will always be invoked before the
 
2121
  <em class="parameter"><code>progress_update_callback</code></em>. It is recommended to do conflict
 
2122
  handling in <em class="parameter"><code>progress_update_callback</code></em>, and always return <code class="literal">TRUE</code>
 
2123
  in <em class="parameter"><code>progress_sync_callback</code></em>, because if the Xfer's
 
2124
  <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferProgressStatus" title="enum GnomeVFSXferProgressStatus"><span class="type">GnomeVFSXferProgressStatus</span></a> is <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GNOME-VFS-XFER-PROGRESS-STATUS-OK:CAPS"><code class="literal">GNOME_VFS_XFER_PROGRESS_STATUS_OK</code></a>,
 
2125
  <em class="parameter"><code>progress_update_callback</code></em> will only be invoked if it hasn't
 
2126
  been invoked within the last 100 milliseconds, and if 
 
2127
  <em class="parameter"><code>progress_update_callback</code></em> is not invoked, only
 
2128
  <em class="parameter"><code>progress_sync_callback</code></em> is authoritative for the
 
2129
  further processing, causing abortion if it is <code class="literal">FALSE</code>.
 
2130
 </p>
 
2131
</div>
 
2132
<p>
 
2133
</p>
 
2134
<div class="variablelist"><table border="0">
 
2135
<col align="left" valign="top">
 
2136
<tbody>
 
2137
<tr>
 
2138
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
2139
<td> when the function returns, will point to a handle for the operation.
 
2140
</td>
 
2141
</tr>
 
2142
<tr>
 
2143
<td><p><span class="term"><em class="parameter"><code>source_uri_list</code></em> :</span></p></td>
 
2144
<td> A <span class="type">GList</span> of source <span class="type">GnomeVFSURIs.</span>
 
2145
</td>
 
2146
</tr>
 
2147
<tr>
 
2148
<td><p><span class="term"><em class="parameter"><code>target_uri_list</code></em> :</span></p></td>
 
2149
<td> A <span class="type">GList</span> of target <span class="type">GnomeVFSURIs</span>, each corresponding to one URI in
 
2150
<em class="parameter"><code>source_uri_list</code></em>.
 
2151
</td>
 
2152
</tr>
 
2153
<tr>
 
2154
<td><p><span class="term"><em class="parameter"><code>xfer_options</code></em> :</span></p></td>
 
2155
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-xfer.html#GnomeVFSXferOptions" title="enum GnomeVFSXferOptions"><span class="type">GnomeVFSXferOptions</span></a> defining the desired operation and parameters.
 
2156
</td>
 
2157
</tr>
 
2158
<tr>
 
2159
<td><p><span class="term"><em class="parameter"><code>error_mode</code></em> :</span></p></td>
 
2160
<td> A <span class="type">GnomeVFSErrorMode</span> specifying how to proceed if a VFS error occurs.
 
2161
</td>
 
2162
</tr>
 
2163
<tr>
 
2164
<td><p><span class="term"><em class="parameter"><code>overwrite_mode</code></em> :</span></p></td>
 
2165
<td> A <span class="type">GnomeVFSOverwriteMode</span> specifying how to proceed if a file is being overwritten.
 
2166
</td>
 
2167
</tr>
 
2168
<tr>
 
2169
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
2170
<td> A value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
2171
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign this job
 
2172
in allocating threads from the thread pool.
 
2173
</td>
 
2174
</tr>
 
2175
<tr>
 
2176
<td><p><span class="term"><em class="parameter"><code>progress_update_callback</code></em> :</span></p></td>
 
2177
<td> A <span class="type">GnomeVFSAsyncXferCallback</span> called periodically for
 
2178
informing the program about progress, and when the program requires responses to
 
2179
interactive queries (e.g. overwriting files, handling errors, etc).
 
2180
</td>
 
2181
</tr>
 
2182
<tr>
 
2183
<td><p><span class="term"><em class="parameter"><code>update_callback_data</code></em> :</span></p></td>
 
2184
<td> User data to pass to <em class="parameter"><code>progress_update_callback</code></em>.
 
2185
</td>
 
2186
</tr>
 
2187
<tr>
 
2188
<td><p><span class="term"><em class="parameter"><code>progress_sync_callback</code></em> :</span></p></td>
 
2189
<td> An optional <span class="type">GnomeVFSXferCallback</span> called whenever some state changed.
 
2190
</td>
 
2191
</tr>
 
2192
<tr>
 
2193
<td><p><span class="term"><em class="parameter"><code>sync_callback_data</code></em> :</span></p></td>
 
2194
<td> User data to pass to <em class="parameter"><code>progress_sync_callback</code></em>.
 
2195
</td>
 
2196
</tr>
 
2197
<tr>
 
2198
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2199
<td> <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-OK:CAPS"><code class="literal">GNOME_VFS_OK</code></a> if the paramaters were in order, 
 
2200
or <a class="link" href="gnome-vfs-2.0-gnome-vfs-result.html#GNOME-VFS-ERROR-BAD-PARAMETERS:CAPS"><code class="literal">GNOME_VFS_ERROR_BAD_PARAMETERS</code></a> if something was wrong in the passed in arguments.
 
2201
</td>
 
2202
</tr>
 
2203
</tbody>
 
2204
</table></div>
 
2205
</div>
 
2206
<hr>
 
2207
<div class="refsect2" lang="en">
 
2208
<a name="gnome-vfs-async-find-directory"></a><h3>gnome_vfs_async_find_directory ()</h3>
 
2209
<pre class="programlisting">void                gnome_vfs_async_find_directory      (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> **handle_return,
 
2210
                                                         GList *near_uri_list,
 
2211
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-directory-find-ops.html#GnomeVFSFindDirectoryKind" title="enum GnomeVFSFindDirectoryKind">GnomeVFSFindDirectoryKind</a> kind,
 
2212
                                                         gboolean create_if_needed,
 
2213
                                                         gboolean find_if_needed,
 
2214
                                                         guint permissions,
 
2215
                                                         int priority,
 
2216
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFindDirectoryCallback" title="GnomeVFSAsyncFindDirectoryCallback ()">GnomeVFSAsyncFindDirectoryCallback</a> callback,
 
2217
                                                         gpointer user_data);</pre>
 
2218
<p>
 
2219
Used to return special directories such as Trash and Desktop from different
 
2220
file systems.
 
2221
</p>
 
2222
<p>
 
2223
There is quite a complicated logic behind finding/creating a Trash directory
 
2224
and you need to be aware of some implications:
 
2225
Finding the Trash the first time when using the file method may be pretty 
 
2226
expensive. A cache file is used to store the location of that Trash file
 
2227
for next time.
 
2228
If <em class="parameter"><code>create_if_needed</code></em> is specified without <em class="parameter"><code>find_if_needed</code></em>, you may end up
 
2229
creating a Trash file when there already is one. Your app should start out
 
2230
by doing a gnome_vfs_find_directory with the <em class="parameter"><code>find_if_needed</code></em> to avoid this
 
2231
and then use the <em class="parameter"><code>create_if_needed</code></em> flag to create Trash lazily when it is
 
2232
needed for throwing away an item on a given disk.
 
2233
</p>
 
2234
<p>
 
2235
When the operation has completed, <em class="parameter"><code>callback</code></em> will be called with the result
 
2236
of the operation and <em class="parameter"><code>user_data</code></em>.</p>
 
2237
<p>
 
2238
</p>
 
2239
<div class="variablelist"><table border="0">
 
2240
<col align="left" valign="top">
 
2241
<tbody>
 
2242
<tr>
 
2243
<td><p><span class="term"><em class="parameter"><code>handle_return</code></em> :</span></p></td>
 
2244
<td> when the function returns, will point to a handle for the operation.
 
2245
</td>
 
2246
</tr>
 
2247
<tr>
 
2248
<td><p><span class="term"><em class="parameter"><code>near_uri_list</code></em> :</span></p></td>
 
2249
<td> a <span class="type">GList</span> of <span class="type">GnomeVFSURIs</span>, find a special directory on the same 
 
2250
volume as <em class="parameter"><code>near_uri_list</code></em>.
 
2251
</td>
 
2252
</tr>
 
2253
<tr>
 
2254
<td><p><span class="term"><em class="parameter"><code>kind</code></em> :</span></p></td>
 
2255
<td> kind of special directory.
 
2256
</td>
 
2257
</tr>
 
2258
<tr>
 
2259
<td><p><span class="term"><em class="parameter"><code>create_if_needed</code></em> :</span></p></td>
 
2260
<td> if directory we are looking for does not exist, try to create it.
 
2261
</td>
 
2262
</tr>
 
2263
<tr>
 
2264
<td><p><span class="term"><em class="parameter"><code>find_if_needed</code></em> :</span></p></td>
 
2265
<td> if we don't know where the directory is yet, look for it.
 
2266
</td>
 
2267
</tr>
 
2268
<tr>
 
2269
<td><p><span class="term"><em class="parameter"><code>permissions</code></em> :</span></p></td>
 
2270
<td> if creating, use these permissions.
 
2271
</td>
 
2272
</tr>
 
2273
<tr>
 
2274
<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
 
2275
<td> a value from <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MIN:CAPS" title="GNOME_VFS_PRIORITY_MIN"><code class="literal">GNOME_VFS_PRIORITY_MIN</code></a> to <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-MAX:CAPS" title="GNOME_VFS_PRIORITY_MAX"><code class="literal">GNOME_VFS_PRIORITY_MAX</code></a> (normally
 
2276
should be <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GNOME-VFS-PRIORITY-DEFAULT:CAPS" title="GNOME_VFS_PRIORITY_DEFAULT"><code class="literal">GNOME_VFS_PRIORITY_DEFAULT</code></a>) indicating the priority to assign to this job
 
2277
in allocating threads from the thread pool.
 
2278
</td>
 
2279
</tr>
 
2280
<tr>
 
2281
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
2282
<td> function to be called when the operation is complete.
 
2283
</td>
 
2284
</tr>
 
2285
<tr>
 
2286
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
 
2287
<td> data to pass to <em class="parameter"><code>callback</code></em>. 
 
2288
</td>
 
2289
</tr>
 
2290
</tbody>
 
2291
</table></div>
 
2292
</div>
 
2293
<hr>
 
2294
<div class="refsect2" lang="en">
 
2295
<a name="gnome-vfs-async-file-control"></a><h3>gnome_vfs_async_file_control ()</h3>
 
2296
<pre class="programlisting">void                gnome_vfs_async_file_control        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncHandle" title="GnomeVFSAsyncHandle">GnomeVFSAsyncHandle</a> *handle,
 
2297
                                                         const char *operation,
 
2298
                                                         gpointer operation_data,
 
2299
                                                         GDestroyNotify operation_data_destroy_func,
 
2300
                                                         <a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSAsyncFileControlCallback" title="GnomeVFSAsyncFileControlCallback ()">GnomeVFSAsyncFileControlCallback</a> callback,
 
2301
                                                         gpointer callback_data);</pre>
 
2302
<p>
 
2303
Execute a backend dependent operation specified by the string <em class="parameter"><code>operation</code></em>.
 
2304
This is typically used for specialized vfs backends that need additional
 
2305
operations that gnome-vfs doesn't have. Compare it to the unix call <code class="function">ioctl()</code>.
 
2306
The format of <em class="parameter"><code>operation_data</code></em> depends on the operation. Operation that are
 
2307
backend specific are normally namespaced by their module name.
 
2308
</p>
 
2309
<p>
 
2310
When the operation is complete, <em class="parameter"><code>callback</code></em> will be called with the
 
2311
result of the operation, <em class="parameter"><code>operation_data</code></em> and <em class="parameter"><code>callback_data</code></em>.</p>
 
2312
<p>
 
2313
</p>
 
2314
<div class="variablelist"><table border="0">
 
2315
<col align="left" valign="top">
 
2316
<tbody>
 
2317
<tr>
 
2318
<td><p><span class="term"><em class="parameter"><code>handle</code></em> :</span></p></td>
 
2319
<td> handle of the file to affect.
 
2320
</td>
 
2321
</tr>
 
2322
<tr>
 
2323
<td><p><span class="term"><em class="parameter"><code>operation</code></em> :</span></p></td>
 
2324
<td> operation to execute.
 
2325
</td>
 
2326
</tr>
 
2327
<tr>
 
2328
<td><p><span class="term"><em class="parameter"><code>operation_data</code></em> :</span></p></td>
 
2329
<td> data needed to execute the operation.
 
2330
</td>
 
2331
</tr>
 
2332
<tr>
 
2333
<td><p><span class="term"><em class="parameter"><code>operation_data_destroy_func</code></em> :</span></p></td>
 
2334
<td> callback to destroy <em class="parameter"><code>operation_data</code></em> when its no longer needed.
 
2335
</td>
 
2336
</tr>
 
2337
<tr>
 
2338
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
 
2339
<td> function to be called when the <em class="parameter"><code>operation</code></em> is complete.
 
2340
</td>
 
2341
</tr>
 
2342
<tr>
 
2343
<td><p><span class="term"><em class="parameter"><code>callback_data</code></em> :</span></p></td>
 
2344
<td> data to pass to <em class="parameter"><code>callback</code></em>.
 
2345
</td>
 
2346
</tr>
 
2347
</tbody>
 
2348
</table></div>
 
2349
<p class="since">Since 2.2</p>
 
2350
</div>
 
2351
<hr>
 
2352
<div class="refsect2" lang="en">
 
2353
<a name="gnome-vfs-find-directory-result-dup"></a><h3>gnome_vfs_find_directory_result_dup ()</h3>
 
2354
<pre class="programlisting"><a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a>* gnome_vfs_find_directory_result_dup
 
2355
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a> *result);</pre>
 
2356
<p>
 
2357
Duplicates <em class="parameter"><code>result</code></em>.
 
2358
</p>
 
2359
<p>
 
2360
Note: The internal uri is not duplicated but its
 
2361
refcount is incremented.</p>
 
2362
<p>
 
2363
</p>
 
2364
<div class="variablelist"><table border="0">
 
2365
<col align="left" valign="top">
 
2366
<tbody>
 
2367
<tr>
 
2368
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
2369
<td> a <span class="type">GnomeVFSFindDirectoryResult.</span>
 
2370
</td>
 
2371
</tr>
 
2372
<tr>
 
2373
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
 
2374
<td> A 1:1 copy of <em class="parameter"><code>result</code></em>.
 
2375
 
 
2376
</td>
 
2377
</tr>
 
2378
</tbody>
 
2379
</table></div>
 
2380
<p class="since">Since 2.12</p>
 
2381
</div>
 
2382
<hr>
 
2383
<div class="refsect2" lang="en">
 
2384
<a name="gnome-vfs-find-directory-result-free"></a><h3>gnome_vfs_find_directory_result_free ()</h3>
 
2385
<pre class="programlisting">void                gnome_vfs_find_directory_result_free
 
2386
                                                        (<a class="link" href="gnome-vfs-2.0-gnome-vfs-async-ops.html#GnomeVFSFindDirectoryResult" title="GnomeVFSFindDirectoryResult">GnomeVFSFindDirectoryResult</a> *result);</pre>
 
2387
<p>
 
2388
Unrefs the inner uri object and frees the memory 
 
2389
allocated for <em class="parameter"><code>result</code></em>.</p>
 
2390
<p>
 
2391
</p>
 
2392
<div class="variablelist"><table border="0">
 
2393
<col align="left" valign="top">
 
2394
<tbody><tr>
 
2395
<td><p><span class="term"><em class="parameter"><code>result</code></em> :</span></p></td>
 
2396
<td> a <span class="type">GnomeVFSFindDirectoryResult.</span>
 
2397
</td>
 
2398
</tr></tbody>
 
2399
</table></div>
 
2400
<p class="since">Since 2.12</p>
 
2401
</div>
 
2402
</div>
 
2403
</div>
 
2404
<div class="footer">
 
2405
<hr>
 
2406
          Generated by GTK-Doc V1.12</div>
 
2407
</body>
 
2408
</html>