ftp://ftp.redhat.com/pub/redhat/linux/rawhide/SRPMS/SRPMS/gnome-vfs2-2.3.8-1.src.rpm
[gnome-vfs-httpcaptive.git] / doc / html / gnome-vfs-gnome-vfs-module-callback.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>gnome-vfs-module-callback</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
2         .synopsis, .classsynopsis {
3             background: #eeeeee;
4             border: solid 1px #aaaaaa;
5             padding: 0.5em;
6         }
7         .programlisting {
8             background: #eeeeff;
9             border: solid 1px #aaaaff;
10             padding: 0.5em;
11         }
12         .variablelist {
13             padding: 4px;
14             margin-left: 3em;
15         }
16         .navigation {
17             background: #ffeeee;
18             border: solid 1px #ffaaaa;
19             margin-top: 0.5em;
20             margin-bottom: 0.5em;
21         }
22         .navigation a {
23             color: #770000;
24         }
25         .navigation a:visited {
26             color: #550000;
27         }
28         .navigation .title {
29             font-size: 200%;
30         }
31       </style><link rel="home" href="index.html" title="GnomeVFS - Filesystem Abstraction library"><link rel="up" href="ch08.html" title="Other Stuff"><link rel="previous" href="gnome-vfs-gnome-vfs-inet-connection.html" title="gnome-vfs-inet-connection"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="gnome-vfs-gnome-vfs-inet-connection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch08.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GnomeVFS - Filesystem Abstraction library</th></tr></table><div class="refentry" lang="en"><a name="gnome-vfs-gnome-vfs-module-callback"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2><span class="refentrytitle">gnome-vfs-module-callback</span></h2><p>gnome-vfs-module-callback &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
32
33
34
35 void        (<a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">*GnomeVFSModuleCallback</a>)       (<a
36 href="../glib/glib-Basic-Types.html#gconstpointer"
37 >gconstpointer</a> in,
38                                              <a
39 href="../glib/glib-Basic-Types.html#gsize"
40 >gsize</a> in_size,
41                                              <a
42 href="../glib/glib-Basic-Types.html#gpointer"
43 >gpointer</a> out,
44                                              <a
45 href="../glib/glib-Basic-Types.html#gsize"
46 >gsize</a> out_size,
47                                              <a
48 href="../glib/glib-Basic-Types.html#gpointer"
49 >gpointer</a> callback_data);
50 void        (<a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallbackResponse">*GnomeVFSModuleCallbackResponse</a>)
51                                             (<a
52 href="../glib/glib-Basic-Types.html#gpointer"
53 >gpointer</a> response_data);
54 void        (<a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">*GnomeVFSAsyncModuleCallback</a>)  (<a
55 href="../glib/glib-Basic-Types.html#gconstpointer"
56 >gconstpointer</a> in,
57                                              <a
58 href="../glib/glib-Basic-Types.html#gsize"
59 >gsize</a> in_size,
60                                              <a
61 href="../glib/glib-Basic-Types.html#gpointer"
62 >gpointer</a> out,
63                                              <a
64 href="../glib/glib-Basic-Types.html#gsize"
65 >gsize</a> out_size,
66                                              <a
67 href="../glib/glib-Basic-Types.html#gpointer"
68 >gpointer</a> callback_data,
69                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallbackResponse">GnomeVFSModuleCallbackResponse</a> response,
70                                              <a
71 href="../glib/glib-Basic-Types.html#gpointer"
72 >gpointer</a> response_data);
73 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-set-default">gnome_vfs_module_callback_set_default</a>
74                                             (const char *callback_name,
75                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">GnomeVFSModuleCallback</a> callback,
76                                              <a
77 href="../glib/glib-Basic-Types.html#gpointer"
78 >gpointer</a> callback_data,
79                                              <a
80 href="../glib/glib-Datasets.html#GDestroyNotify"
81 >GDestroyNotify</a> destroy_notify);
82 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-push">gnome_vfs_module_callback_push</a>  (const char *callback_name,
83                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">GnomeVFSModuleCallback</a> callback,
84                                              <a
85 href="../glib/glib-Basic-Types.html#gpointer"
86 >gpointer</a> callback_data,
87                                              <a
88 href="../glib/glib-Datasets.html#GDestroyNotify"
89 >GDestroyNotify</a> destroy_notify);
90 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-pop">gnome_vfs_module_callback_pop</a>   (const char *callback_name);
91 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-set-default">gnome_vfs_async_module_callback_set_default</a>
92                                             (const char *callback_name,
93                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">GnomeVFSAsyncModuleCallback</a> callback,
94                                              <a
95 href="../glib/glib-Basic-Types.html#gpointer"
96 >gpointer</a> callback_data,
97                                              <a
98 href="../glib/glib-Datasets.html#GDestroyNotify"
99 >GDestroyNotify</a> destroy_notify);
100 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-push">gnome_vfs_async_module_callback_push</a>
101                                             (const char *callback_name,
102                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">GnomeVFSAsyncModuleCallback</a> callback,
103                                              <a
104 href="../glib/glib-Basic-Types.html#gpointer"
105 >gpointer</a> callback_data,
106                                              <a
107 href="../glib/glib-Datasets.html#GDestroyNotify"
108 >GDestroyNotify</a> destroy_notify);
109 void        <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-pop">gnome_vfs_async_module_callback_pop</a>
110                                             (const char *callback_name);
111 </pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
112
113 </p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="GnomeVFSModuleCallback"></a>GnomeVFSModuleCallback ()</h3><pre class="programlisting">void        (*GnomeVFSModuleCallback)       (<a
114 href="../glib/glib-Basic-Types.html#gconstpointer"
115 >gconstpointer</a> in,
116                                              <a
117 href="../glib/glib-Basic-Types.html#gsize"
118 >gsize</a> in_size,
119                                              <a
120 href="../glib/glib-Basic-Types.html#gpointer"
121 >gpointer</a> out,
122                                              <a
123 href="../glib/glib-Basic-Types.html#gsize"
124 >gsize</a> out_size,
125                                              <a
126 href="../glib/glib-Basic-Types.html#gpointer"
127 >gpointer</a> callback_data);</pre><p>
128 This is the type of a callback function that gets set for a module
129 callback. 
130 </p><p>
131 When the callback is invoked, the user function is called with an
132 <i class="parameter"><tt>in</tt></i> argument, the exact type of which depends on the specific
133 callback. It is generally a pointer to a struct with several fields
134 that provide information to the callback.
135 </p><p>
136 The <i class="parameter"><tt>out</tt></i> argument is used to return a values from the
137 callback. Once again the exact type depends on the specific
138 callback. It is generally a pointer to a pre-allocated struct with
139 several fields that the callback function should fill in before
140 returning.</p><p>
141
142 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>in</tt></i> :</span></td><td> The in argument for this callback; the exact type depends on the specific callback
143 </td></tr><tr><td><span class="term"><i class="parameter"><tt>in_size</tt></i> :</span></td><td> Size of the in argument; useful for sanity-checking
144 </td></tr><tr><td><span class="term"><i class="parameter"><tt>out</tt></i> :</span></td><td> The out argument for this callback; the exact type depends on the specific callback
145 </td></tr><tr><td><span class="term"><i class="parameter"><tt>out_size</tt></i> :</span></td><td> Size of the out argument; useful for sanity-checking
146 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> The <i class="parameter"><tt>callback_data</tt></i> specified when this callback was set
147 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="GnomeVFSModuleCallbackResponse"></a>GnomeVFSModuleCallbackResponse ()</h3><pre class="programlisting">void        (*GnomeVFSModuleCallbackResponse)
148                                             (<a
149 href="../glib/glib-Basic-Types.html#gpointer"
150 >gpointer</a> response_data);</pre><p>
151 This is the type of the response function passed to a
152 <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">GnomeVFSAsyncModuleCallback</a>(). It should be called when the async
153 callback has completed.</p><p>
154
155 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>response_data</tt></i> :</span></td><td> Pass the <i class="parameter"><tt>response_data</tt></i> argument originally passed to the async callback
156 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="GnomeVFSAsyncModuleCallback"></a>GnomeVFSAsyncModuleCallback ()</h3><pre class="programlisting">void        (*GnomeVFSAsyncModuleCallback)  (<a
157 href="../glib/glib-Basic-Types.html#gconstpointer"
158 >gconstpointer</a> in,
159                                              <a
160 href="../glib/glib-Basic-Types.html#gsize"
161 >gsize</a> in_size,
162                                              <a
163 href="../glib/glib-Basic-Types.html#gpointer"
164 >gpointer</a> out,
165                                              <a
166 href="../glib/glib-Basic-Types.html#gsize"
167 >gsize</a> out_size,
168                                              <a
169 href="../glib/glib-Basic-Types.html#gpointer"
170 >gpointer</a> callback_data,
171                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallbackResponse">GnomeVFSModuleCallbackResponse</a> response,
172                                              <a
173 href="../glib/glib-Basic-Types.html#gpointer"
174 >gpointer</a> response_data);</pre><p>
175 This is the type of a callback function that gets set for an async
176 module callback. 
177 </p><p>
178 Such callbacks are useful when you are using the API and want
179 callbacks to be handled from the main thread, for instance if they
180 need to put up a dialog.
181 </p><p>
182 Like a <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">GnomeVFSModuleCallback</a>(), an async callback has <i class="parameter"><tt>in</tt></i> and <i class="parameter"><tt>out</tt></i>
183 arguments for passing data into and out of the callback. However,
184 an async callback does not need to fill in the <i class="parameter"><tt>out</tt></i> argument before
185 returning. Instead, it can arrange to have the work done from a
186 callback on the main loop, from another thread, etc. The <i class="parameter"><tt>response</tt></i>
187 function should be called by whatever code finishes the work of the
188 callback with <i class="parameter"><tt>response_data</tt></i> as an argument once the <i class="parameter"><tt>out</tt></i> argument
189 is filled in and the callback is done.
190 </p><p>
191 The <i class="parameter"><tt>in</tt></i> and <i class="parameter"><tt>out</tt></i> arguments are guaranteed to remain valid until the
192 <i class="parameter"><tt>response</tt></i> function is called.</p><p>
193
194 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>in</tt></i> :</span></td><td> The in argument for this callback; the exact type depends on the specific callback
195 </td></tr><tr><td><span class="term"><i class="parameter"><tt>in_size</tt></i> :</span></td><td> Size of the in argument; useful for sanity-checking
196 </td></tr><tr><td><span class="term"><i class="parameter"><tt>out</tt></i> :</span></td><td> The out argument for this callback; the exact type depends on the specific callback
197 </td></tr><tr><td><span class="term"><i class="parameter"><tt>out_size</tt></i> :</span></td><td> Size of the out argument; useful for sanity-checking
198 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> The <i class="parameter"><tt>callback_data</tt></i> specified when this callback was set
199 </td></tr><tr><td><span class="term"><i class="parameter"><tt>response</tt></i> :</span></td><td> Response function to call when the callback is completed
200 </td></tr><tr><td><span class="term"><i class="parameter"><tt>response_data</tt></i> :</span></td><td> Argument to pass to <i class="parameter"><tt>response</tt></i>
201 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-module-callback-set-default"></a>gnome_vfs_module_callback_set_default ()</h3><pre class="programlisting">void        gnome_vfs_module_callback_set_default
202                                             (const char *callback_name,
203                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">GnomeVFSModuleCallback</a> callback,
204                                              <a
205 href="../glib/glib-Basic-Types.html#gpointer"
206 >gpointer</a> callback_data,
207                                              <a
208 href="../glib/glib-Datasets.html#GDestroyNotify"
209 >GDestroyNotify</a> destroy_notify);</pre><p>
210 Set the default callback for <i class="parameter"><tt>callback_name</tt></i> to
211 <i class="parameter"><tt>callback</tt></i>. <i class="parameter"><tt>callback</tt></i> will be called with <i class="parameter"><tt>callback_data</tt></i> on the
212 same thread as the gnome-vfs operation that invokes it. The default
213 value is shared for all threads, but setting it is thread-safe.
214 </p><p>
215 Use this function if you want to set a handler to be used by your
216 whole application. You can use <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-push">gnome_vfs_module_callback_push</a>() to
217 set a callback function that will temporarily override the default
218 on the current thread instead. Or you can also use
219 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-set-default">gnome_vfs_async_module_callback_set_default</a>() to set an async
220 callback function.
221 </p><p>
222 Note: <i class="parameter"><tt>destroy_notify</tt></i> may be called on any thread - it is not
223 guaranteed to be called on the main thread.</p><p>
224
225 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the module callback to set
226 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback</tt></i> :</span></td><td> The function to call when the callback is invoked
227 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> Pointer to pass as the <i class="parameter"><tt>callback_data</tt></i> argument to <i class="parameter"><tt>callback</tt></i>
228 </td></tr><tr><td><span class="term"><i class="parameter"><tt>destroy_notify</tt></i> :</span></td><td> Function to call when <i class="parameter"><tt>callback_data</tt></i> is to be freed.
229 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-module-callback-push"></a>gnome_vfs_module_callback_push ()</h3><pre class="programlisting">void        gnome_vfs_module_callback_push  (const char *callback_name,
230                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSModuleCallback">GnomeVFSModuleCallback</a> callback,
231                                              <a
232 href="../glib/glib-Basic-Types.html#gpointer"
233 >gpointer</a> callback_data,
234                                              <a
235 href="../glib/glib-Datasets.html#GDestroyNotify"
236 >GDestroyNotify</a> destroy_notify);</pre><p>
237 Set <i class="parameter"><tt>callback</tt></i> as a temprary handler for <i class="parameter"><tt>callback_name</tt></i>. <i class="parameter"><tt>callback</tt></i>
238 will be called with <i class="parameter"><tt>callback_data</tt></i> on the same thread as the
239 gnome-vfs operation that invokes it. The temporary handler is set
240 per-thread.
241 </p><p>
242 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-pop">gnome_vfs_module_callback_pop</a>() removes the most recently set
243 temporary handler. The temporary handlers are treated as a first-in
244 first-out stack.
245 </p><p>
246 Use this function to set a temporary callback handler for a single
247 call or a few calls. You can use
248 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-set-default">gnome_vfs_module_callback_set_default</a>() to set a callback function
249 that will establish a permanent global setting for all threads
250 instead.
251 </p><p>
252 Note: <i class="parameter"><tt>destroy_notify</tt></i> may be called on any thread - it is not
253 guaranteed to be called on the main thread.</p><p>
254
255 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the module callback to set temporarily
256 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback</tt></i> :</span></td><td> The function to call when the callback is invoked
257 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> Pointer to pass as the <i class="parameter"><tt>callback_data</tt></i> argument to <i class="parameter"><tt>callback</tt></i>
258 </td></tr><tr><td><span class="term"><i class="parameter"><tt>destroy_notify</tt></i> :</span></td><td> Function to call when <i class="parameter"><tt>callback_data</tt></i> is to be freed.
259 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-module-callback-pop"></a>gnome_vfs_module_callback_pop ()</h3><pre class="programlisting">void        gnome_vfs_module_callback_pop   (const char *callback_name);</pre><p>
260 Remove the temporary handler for <i class="parameter"><tt>callback_name</tt></i> most recently set
261 with <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-push">gnome_vfs_module_callback_push</a>().  If another temporary
262 handler was previously set on the same thread, it becomes the
263 current handler. Otherwise, the default handler, if any, becomes
264 current. 
265 </p><p>
266 The temporary handlers are treated as a first-in first-out
267 stack.</p><p>
268
269 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the module callback to remove a temporary handler for
270 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-async-module-callback-set-default"></a>gnome_vfs_async_module_callback_set_default ()</h3><pre class="programlisting">void        gnome_vfs_async_module_callback_set_default
271                                             (const char *callback_name,
272                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">GnomeVFSAsyncModuleCallback</a> callback,
273                                              <a
274 href="../glib/glib-Basic-Types.html#gpointer"
275 >gpointer</a> callback_data,
276                                              <a
277 href="../glib/glib-Datasets.html#GDestroyNotify"
278 >GDestroyNotify</a> destroy_notify);</pre><p>
279 Set the default async callback for <i class="parameter"><tt>callback_name</tt></i> to
280 <i class="parameter"><tt>callback</tt></i>. <i class="parameter"><tt>callback</tt></i> will be called with <i class="parameter"><tt>callback_data</tt></i>
281 from a callback on the main thread. It will be passed a response
282 function which should be called to signal completion of the callback.
283 The callback function itself may return in the meantime.
284 </p><p>
285 The default value is shared for all threads, but setting it is
286 thread-safe.
287 </p><p>
288 Use this function if you want to globally set a callback handler
289 for use with async operations.
290 </p><p>
291 You can use <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-push">gnome_vfs_async_module_callback_push</a>() to set an async
292 callback function that will temporarily override the default on the
293 current thread instead. Or you can also use
294 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-module-callback-set-default">gnome_vfs_module_callback_set_default</a>() to set a regular callback
295 function.
296 </p><p>
297 Note: <i class="parameter"><tt>destroy_notify</tt></i> may be called on any thread - it is not
298 guaranteed to be called on the main thread.</p><p>
299
300 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the async module callback to set
301 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback</tt></i> :</span></td><td> The function to call when the callback is invoked
302 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> Pointer to pass as the <i class="parameter"><tt>callback_data</tt></i> argument to <i class="parameter"><tt>callback</tt></i>
303 </td></tr><tr><td><span class="term"><i class="parameter"><tt>destroy_notify</tt></i> :</span></td><td> Function to call when <i class="parameter"><tt>callback_data</tt></i> is to be freed.
304 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-async-module-callback-push"></a>gnome_vfs_async_module_callback_push ()</h3><pre class="programlisting">void        gnome_vfs_async_module_callback_push
305                                             (const char *callback_name,
306                                              <a href="gnome-vfs-gnome-vfs-module-callback.html#GnomeVFSAsyncModuleCallback">GnomeVFSAsyncModuleCallback</a> callback,
307                                              <a
308 href="../glib/glib-Basic-Types.html#gpointer"
309 >gpointer</a> callback_data,
310                                              <a
311 href="../glib/glib-Datasets.html#GDestroyNotify"
312 >GDestroyNotify</a> destroy_notify);</pre><p>
313 Set <i class="parameter"><tt>callback_func</tt></i> as a temprary async handler for
314 <i class="parameter"><tt>callback_name</tt></i>. <i class="parameter"><tt>callback</tt></i> will be called with <i class="parameter"><tt>callback_data</tt></i>
315 from a callback on the main thread. It will be passed a response
316 function which should be called to signal completion of the
317 callback. The callback function itself may return in the meantime.
318 </p><p>
319 The temporary async handler is set per-thread.
320 </p><p>
321 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-pop">gnome_vfs_async_module_callback_pop</a>() removes the most recently set
322 temporary temporary handler. The temporary async handlers are
323 treated as a first-in first-out stack.
324 </p><p>
325 Use this function to set a temporary async callback handler for a
326 single call or a few calls. You can use
327 <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-set-default">gnome_vfs_async_module_callback_set_default</a>() to set an async
328 callback function that will establish a permanent global setting
329 for all threads instead.
330 </p><p>
331 Note: <i class="parameter"><tt>destroy_notify</tt></i> may be called on any thread - it is not
332 guaranteed to be called on the main thread.</p><p>
333
334 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the module callback to set temporarily
335 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback</tt></i> :</span></td><td> The function to call when the callback is invoked
336 </td></tr><tr><td><span class="term"><i class="parameter"><tt>callback_data</tt></i> :</span></td><td> Pointer to pass as the <i class="parameter"><tt>callback_data</tt></i> argument to <i class="parameter"><tt>callback</tt></i>
337 </td></tr><tr><td><span class="term"><i class="parameter"><tt>destroy_notify</tt></i> :</span></td><td> Function to call when <i class="parameter"><tt>callback_data</tt></i> is to be freed.
338 </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><h3><a name="gnome-vfs-async-module-callback-pop"></a>gnome_vfs_async_module_callback_pop ()</h3><pre class="programlisting">void        gnome_vfs_async_module_callback_pop
339                                             (const char *callback_name);</pre><p>
340 Remove the temporary async handler for <i class="parameter"><tt>callback_name</tt></i> most recently
341 set with <a href="gnome-vfs-gnome-vfs-module-callback.html#gnome-vfs-async-module-callback-push">gnome_vfs_async_module_callback_push</a>().  If another
342 temporary async handler was previously set on the same thread, it
343 becomes the current handler. Otherwise, the default async handler,
344 if any, becomes current.
345 </p><p>
346 The temporary async handlers are treated as a first-in first-out
347 stack.</p><p>
348
349 </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>callback_name</tt></i> :</span></td><td> The name of the module callback to remove a temporary handler for
350 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="gnome-vfs-gnome-vfs-inet-connection.html"><b>&lt;&lt; gnome-vfs-inet-connection</b></a></td><td align="right"></td></tr></table></body></html>