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-module-callbacks.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Module Callbacks</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8 "><LINK
9 REL="HOME"
10 TITLE="GnomeVFS - Filesystem Abstraction library"
11 HREF="index.html"><LINK
12 REL="UP"
13 TITLE="Basic File Operations"
14 HREF="file-operations.html"><LINK
15 REL="PREVIOUS"
16 TITLE="Copy Engine"
17 HREF="gnome-vfs-xfer.html"><LINK
18 REL="NEXT"
19 TITLE="Standard Callbacks"
20 HREF="gnome-vfs-standard-callbacks.html"></HEAD
21 ><BODY
22 CLASS="REFENTRY"
23 BGCOLOR="#FFFFFF"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 WIDTH="100%"
32 BORDER="0"
33 BGCOLOR="#000000"
34 CELLPADDING="1"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="4"
39 ALIGN="center"
40 ><FONT
41 COLOR="#FFFFFF"
42 SIZE="5"
43 >GnomeVFS - Filesystem Abstraction library</FONT
44 ></TH
45 ></TR
46 ><TR
47 ><TD
48 WIDTH="25%"
49 BGCOLOR="#C00000"
50 ALIGN="left"
51 ><A
52 HREF="gnome-vfs-xfer.html"
53 ><FONT
54 COLOR="#FFFFFF"
55 SIZE="3"
56 ><B
57 >&#60;&#60;&#60; Previous Page</B
58 ></FONT
59 ></A
60 ></TD
61 ><TD
62 WIDTH="25%"
63 BGCOLOR="#0000C0"
64 ALIGN="center"
65 ><FONT
66 COLOR="#FFFFFF"
67 SIZE="3"
68 ><B
69 ><A
70 HREF="index.html"
71 ><FONT
72 COLOR="#FFFFFF"
73 SIZE="3"
74 ><B
75 >Home</B
76 ></FONT
77 ></A
78 ></B
79 ></FONT
80 ></TD
81 ><TD
82 WIDTH="25%"
83 BGCOLOR="#00C000"
84 ALIGN="center"
85 ><FONT
86 COLOR="#FFFFFF"
87 SIZE="3"
88 ><B
89 ><A
90 HREF="file-operations.html"
91 ><FONT
92 COLOR="#FFFFFF"
93 SIZE="3"
94 ><B
95 >Up</B
96 ></FONT
97 ></A
98 ></B
99 ></FONT
100 ></TD
101 ><TD
102 WIDTH="25%"
103 BGCOLOR="#C00000"
104 ALIGN="right"
105 ><A
106 HREF="gnome-vfs-standard-callbacks.html"
107 ><FONT
108 COLOR="#FFFFFF"
109 SIZE="3"
110 ><B
111 >Next Page &#62;&#62;&#62;</B
112 ></FONT
113 ></A
114 ></TD
115 ></TR
116 ></TABLE
117 ></DIV
118 ><H1
119 ><A
120 NAME="GNOME-VFS-MODULE-CALLBACKS"
121 >Module Callbacks</A
122 ></H1
123 ><DIV
124 CLASS="REFNAMEDIV"
125 ><A
126 NAME="AEN2755"
127 ></A
128 ><H2
129 >Name</H2
130 >Module Callbacks&nbsp;--&nbsp;registering for special callbacks from gnome-vfs module operations</DIV
131 ><DIV
132 CLASS="REFSYNOPSISDIV"
133 ><A
134 NAME="AEN2758"
135 ></A
136 ><H2
137 >Synopsis</H2
138 ><TABLE
139 BORDER="0"
140 BGCOLOR="#D6E8FF"
141 WIDTH="100%"
142 CELLPADDING="6"
143 ><TR
144 ><TD
145 ><PRE
146 CLASS="SYNOPSIS"
147 >&#13;
148
149 void        (<A
150 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
151 >*GnomeVFSModuleCallback</A
152 >)       (<A
153 HREF=../glib/glib-basic-types.html#GCONSTPOINTER
154 >gconstpointer</A> in,
155                                              <A
156 HREF=../glib/glib-basic-types.html#GSIZE
157 >gsize</A> in_size,
158                                              <A
159 HREF=../glib/glib-basic-types.html#GPOINTER
160 >gpointer</A> out,
161                                              <A
162 HREF=../glib/glib-basic-types.html#GSIZE
163 >gsize</A> out_size,
164                                              <A
165 HREF=../glib/glib-basic-types.html#GPOINTER
166 >gpointer</A> callback_data);
167 void        (<A
168 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACKRESPONSE"
169 >*GnomeVFSModuleCallbackResponse</A
170 >)
171                                             (<A
172 HREF=../glib/glib-basic-types.html#GPOINTER
173 >gpointer</A> response_data);
174 void        (<A
175 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
176 >*GnomeVFSAsyncModuleCallback</A
177 >)  (<A
178 HREF=../glib/glib-basic-types.html#GCONSTPOINTER
179 >gconstpointer</A> in,
180                                              <A
181 HREF=../glib/glib-basic-types.html#GSIZE
182 >gsize</A> in_size,
183                                              <A
184 HREF=../glib/glib-basic-types.html#GPOINTER
185 >gpointer</A> out,
186                                              <A
187 HREF=../glib/glib-basic-types.html#GSIZE
188 >gsize</A> out_size,
189                                              <A
190 HREF=../glib/glib-basic-types.html#GPOINTER
191 >gpointer</A> callback_data,
192                                              <A
193 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACKRESPONSE"
194 >GnomeVFSModuleCallbackResponse</A
195 > response,
196                                              <A
197 HREF=../glib/glib-basic-types.html#GPOINTER
198 >gpointer</A> response_data);
199 void        <A
200 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SET-DEFAULT"
201 >gnome_vfs_module_callback_set_default</A
202 >
203                                             (const char *callback_name,
204                                              <A
205 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
206 >GnomeVFSModuleCallback</A
207 > callback,
208                                              <A
209 HREF=../glib/glib-basic-types.html#GPOINTER
210 >gpointer</A> callback_data,
211                                              <A
212 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
213 >GDestroyNotify</A> destroy_notify);
214 void        <A
215 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-PUSH"
216 >gnome_vfs_module_callback_push</A
217 >  (const char *callback_name,
218                                              <A
219 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
220 >GnomeVFSModuleCallback</A
221 > callback,
222                                              <A
223 HREF=../glib/glib-basic-types.html#GPOINTER
224 >gpointer</A> callback_data,
225                                              <A
226 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
227 >GDestroyNotify</A> destroy_notify);
228 void        <A
229 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-POP"
230 >gnome_vfs_module_callback_pop</A
231 >   (const char *callback_name);
232 void        <A
233 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-SET-DEFAULT"
234 >gnome_vfs_async_module_callback_set_default</A
235 >
236                                             (const char *callback_name,
237                                              <A
238 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
239 >GnomeVFSAsyncModuleCallback</A
240 > callback,
241                                              <A
242 HREF=../glib/glib-basic-types.html#GPOINTER
243 >gpointer</A> callback_data,
244                                              <A
245 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
246 >GDestroyNotify</A> destroy_notify);
247 void        <A
248 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-PUSH"
249 >gnome_vfs_async_module_callback_push</A
250 >
251                                             (const char *callback_name,
252                                              <A
253 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
254 >GnomeVFSAsyncModuleCallback</A
255 > callback,
256                                              <A
257 HREF=../glib/glib-basic-types.html#GPOINTER
258 >gpointer</A> callback_data,
259                                              <A
260 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
261 >GDestroyNotify</A> destroy_notify);
262 void        <A
263 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-POP"
264 >gnome_vfs_async_module_callback_pop</A
265 >
266                                             (const char *callback_name);</PRE
267 ></TD
268 ></TR
269 ></TABLE
270 ></DIV
271 ><DIV
272 CLASS="REFSECT1"
273 ><A
274 NAME="AEN2795"
275 ></A
276 ><H2
277 >Description</H2
278 ><P
279 >Sometimes, a module operation will want to call back to the
280 application before completing. For example, it may want to request
281 that the application prompt the user for a username and password to
282 access a particular URI. Or it may want to provide a status message
283 that the application can display.</P
284 ><P
285 >Such callbacks are handled using the module callback mechanism.</P
286 ><P
287 >Module callbacks may be set globally for all threads, or they may be
288 temporarilly overridden using a per-thread stack. Normally the stack
289 is not inherited by new threads; however, async operations are run
290 with a set of callbacks that corresponds to when the operation was
291 tarted.</P
292 ><P
293 >There are also special async module callbacks. Async callbacks are
294 only invoked from async module operations, and take precedence over
295 sync callbacks in this case, if set. They are dispatched on the main
296 thread. Also, unlike regular callbacks, they do not need to provide
297 the answer right away. Instead, they can arrange to have a response
298 function called at any later time. This enables async callbacks to pop
299 up non-modal dialogs or schedule other async work before providing a
300 response.</P
301 ></DIV
302 ><DIV
303 CLASS="REFSECT1"
304 ><A
305 NAME="AEN2801"
306 ></A
307 ><H2
308 >Details</H2
309 ><DIV
310 CLASS="REFSECT2"
311 ><A
312 NAME="AEN2803"
313 ></A
314 ><H3
315 ><A
316 NAME="GNOMEVFSMODULECALLBACK"
317 ></A
318 >GnomeVFSModuleCallback ()</H3
319 ><TABLE
320 BORDER="0"
321 BGCOLOR="#D6E8FF"
322 WIDTH="100%"
323 CELLPADDING="6"
324 ><TR
325 ><TD
326 ><PRE
327 CLASS="PROGRAMLISTING"
328 >void        (*GnomeVFSModuleCallback)       (<A
329 HREF=../glib/glib-basic-types.html#GCONSTPOINTER
330 >gconstpointer</A> in,
331                                              <A
332 HREF=../glib/glib-basic-types.html#GSIZE
333 >gsize</A> in_size,
334                                              <A
335 HREF=../glib/glib-basic-types.html#GPOINTER
336 >gpointer</A> out,
337                                              <A
338 HREF=../glib/glib-basic-types.html#GSIZE
339 >gsize</A> out_size,
340                                              <A
341 HREF=../glib/glib-basic-types.html#GPOINTER
342 >gpointer</A> callback_data);</PRE
343 ></TD
344 ></TR
345 ></TABLE
346 ><P
347 >This is the type of a callback function that gets set for a module
348 callback. </P
349 ><P
350 >When the callback is invoked, the user function is called with an
351 <TT
352 CLASS="PARAMETER"
353 ><I
354 >in</I
355 ></TT
356 > argument, the exact type of which depends on the specific
357 callback. It is generally a pointer to a struct with several fields
358 that provide information to the callback.</P
359 ><P
360 >The <TT
361 CLASS="PARAMETER"
362 ><I
363 >out</I
364 ></TT
365 > argument is used to return a values from the
366 callback. Once again the exact type depends on the specific
367 callback. It is generally a pointer to a pre-allocated struct with
368 several fields that the callback function should fill in before
369 returning.</P
370 ><P
371 ></P
372 ><DIV
373 CLASS="INFORMALTABLE"
374 ><A
375 NAME="AEN2818"
376 ></A
377 ><P
378 ></P
379 ><TABLE
380 BORDER="0"
381 WIDTH="100%"
382 BGCOLOR="#FFD0D0"
383 CELLSPACING="0"
384 CELLPADDING="4"
385 CLASS="CALSTABLE"
386 ><TBODY
387 ><TR
388 ><TD
389 WIDTH="20%"
390 ALIGN="RIGHT"
391 VALIGN="TOP"
392 ><TT
393 CLASS="PARAMETER"
394 ><I
395 >in</I
396 ></TT
397 >&nbsp;:</TD
398 ><TD
399 WIDTH="80%"
400 ALIGN="LEFT"
401 VALIGN="TOP"
402 > The in argument for this callback; the exact type depends on the specific callback</TD
403 ></TR
404 ><TR
405 ><TD
406 WIDTH="20%"
407 ALIGN="RIGHT"
408 VALIGN="TOP"
409 ><TT
410 CLASS="PARAMETER"
411 ><I
412 >in_size</I
413 ></TT
414 >&nbsp;:</TD
415 ><TD
416 WIDTH="80%"
417 ALIGN="LEFT"
418 VALIGN="TOP"
419 > Size of the in argument; useful for sanity-checking</TD
420 ></TR
421 ><TR
422 ><TD
423 WIDTH="20%"
424 ALIGN="RIGHT"
425 VALIGN="TOP"
426 ><TT
427 CLASS="PARAMETER"
428 ><I
429 >out</I
430 ></TT
431 >&nbsp;:</TD
432 ><TD
433 WIDTH="80%"
434 ALIGN="LEFT"
435 VALIGN="TOP"
436 > The out argument for this callback; the exact type depends on the specific callback</TD
437 ></TR
438 ><TR
439 ><TD
440 WIDTH="20%"
441 ALIGN="RIGHT"
442 VALIGN="TOP"
443 ><TT
444 CLASS="PARAMETER"
445 ><I
446 >out_size</I
447 ></TT
448 >&nbsp;:</TD
449 ><TD
450 WIDTH="80%"
451 ALIGN="LEFT"
452 VALIGN="TOP"
453 > Size of the out argument; useful for sanity-checking</TD
454 ></TR
455 ><TR
456 ><TD
457 WIDTH="20%"
458 ALIGN="RIGHT"
459 VALIGN="TOP"
460 ><TT
461 CLASS="PARAMETER"
462 ><I
463 >callback_data</I
464 ></TT
465 >&nbsp;:</TD
466 ><TD
467 WIDTH="80%"
468 ALIGN="LEFT"
469 VALIGN="TOP"
470 > The <TT
471 CLASS="PARAMETER"
472 ><I
473 >callback_data</I
474 ></TT
475 > specified when this callback was set</TD
476 ></TR
477 ></TBODY
478 ></TABLE
479 ><P
480 ></P
481 ></DIV
482 ></DIV
483 ><HR><DIV
484 CLASS="REFSECT2"
485 ><A
486 NAME="AEN2844"
487 ></A
488 ><H3
489 ><A
490 NAME="GNOMEVFSMODULECALLBACKRESPONSE"
491 ></A
492 >GnomeVFSModuleCallbackResponse ()</H3
493 ><TABLE
494 BORDER="0"
495 BGCOLOR="#D6E8FF"
496 WIDTH="100%"
497 CELLPADDING="6"
498 ><TR
499 ><TD
500 ><PRE
501 CLASS="PROGRAMLISTING"
502 >void        (*GnomeVFSModuleCallbackResponse)
503                                             (<A
504 HREF=../glib/glib-basic-types.html#GPOINTER
505 >gpointer</A> response_data);</PRE
506 ></TD
507 ></TR
508 ></TABLE
509 ><P
510 >This is the type of the response function passed to a
511 <A
512 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
513 >GnomeVFSAsyncModuleCallback</A
514 >(). It should be called when the async
515 callback has completed.</P
516 ><P
517 ></P
518 ><DIV
519 CLASS="INFORMALTABLE"
520 ><A
521 NAME="AEN2852"
522 ></A
523 ><P
524 ></P
525 ><TABLE
526 BORDER="0"
527 WIDTH="100%"
528 BGCOLOR="#FFD0D0"
529 CELLSPACING="0"
530 CELLPADDING="4"
531 CLASS="CALSTABLE"
532 ><TBODY
533 ><TR
534 ><TD
535 WIDTH="20%"
536 ALIGN="RIGHT"
537 VALIGN="TOP"
538 ><TT
539 CLASS="PARAMETER"
540 ><I
541 >response_data</I
542 ></TT
543 >&nbsp;:</TD
544 ><TD
545 WIDTH="80%"
546 ALIGN="LEFT"
547 VALIGN="TOP"
548 > Pass the <TT
549 CLASS="PARAMETER"
550 ><I
551 >response_data</I
552 ></TT
553 > argument originally passed to the async callback</TD
554 ></TR
555 ></TBODY
556 ></TABLE
557 ><P
558 ></P
559 ></DIV
560 ></DIV
561 ><HR><DIV
562 CLASS="REFSECT2"
563 ><A
564 NAME="AEN2862"
565 ></A
566 ><H3
567 ><A
568 NAME="GNOMEVFSASYNCMODULECALLBACK"
569 ></A
570 >GnomeVFSAsyncModuleCallback ()</H3
571 ><TABLE
572 BORDER="0"
573 BGCOLOR="#D6E8FF"
574 WIDTH="100%"
575 CELLPADDING="6"
576 ><TR
577 ><TD
578 ><PRE
579 CLASS="PROGRAMLISTING"
580 >void        (*GnomeVFSAsyncModuleCallback)  (<A
581 HREF=../glib/glib-basic-types.html#GCONSTPOINTER
582 >gconstpointer</A> in,
583                                              <A
584 HREF=../glib/glib-basic-types.html#GSIZE
585 >gsize</A> in_size,
586                                              <A
587 HREF=../glib/glib-basic-types.html#GPOINTER
588 >gpointer</A> out,
589                                              <A
590 HREF=../glib/glib-basic-types.html#GSIZE
591 >gsize</A> out_size,
592                                              <A
593 HREF=../glib/glib-basic-types.html#GPOINTER
594 >gpointer</A> callback_data,
595                                              <A
596 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACKRESPONSE"
597 >GnomeVFSModuleCallbackResponse</A
598 > response,
599                                              <A
600 HREF=../glib/glib-basic-types.html#GPOINTER
601 >gpointer</A> response_data);</PRE
602 ></TD
603 ></TR
604 ></TABLE
605 ><P
606 >This is the type of a callback function that gets set for an async
607 module callback. </P
608 ><P
609 >Such callbacks are useful when you are using the API and want
610 callbacks to be handled from the main thread, for instance if they
611 need to put up a dialog.</P
612 ><P
613 >Like a <A
614 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
615 >GnomeVFSModuleCallback</A
616 >(), an async callback has <TT
617 CLASS="PARAMETER"
618 ><I
619 >in</I
620 ></TT
621 > and <TT
622 CLASS="PARAMETER"
623 ><I
624 >out</I
625 ></TT
626 >
627 arguments for passing data into and out of the callback. However,
628 an async callback does not need to fill in the <TT
629 CLASS="PARAMETER"
630 ><I
631 >out</I
632 ></TT
633 > argument before
634 returning. Instead, it can arrange to have the work done from a
635 callback on the main loop, from another thread, etc. The <TT
636 CLASS="PARAMETER"
637 ><I
638 >response</I
639 ></TT
640 >
641 function should be called by whatever code finishes the work of the
642 callback with <TT
643 CLASS="PARAMETER"
644 ><I
645 >response_data</I
646 ></TT
647 > as an argument once the <TT
648 CLASS="PARAMETER"
649 ><I
650 >out</I
651 ></TT
652 > argument
653 is filled in and the callback is done.</P
654 ><P
655 >The <TT
656 CLASS="PARAMETER"
657 ><I
658 >in</I
659 ></TT
660 > and <TT
661 CLASS="PARAMETER"
662 ><I
663 >out</I
664 ></TT
665 > arguments are guaranteed to remain valid until the
666 <TT
667 CLASS="PARAMETER"
668 ><I
669 >response</I
670 ></TT
671 > function is called.</P
672 ><P
673 ></P
674 ><DIV
675 CLASS="INFORMALTABLE"
676 ><A
677 NAME="AEN2888"
678 ></A
679 ><P
680 ></P
681 ><TABLE
682 BORDER="0"
683 WIDTH="100%"
684 BGCOLOR="#FFD0D0"
685 CELLSPACING="0"
686 CELLPADDING="4"
687 CLASS="CALSTABLE"
688 ><TBODY
689 ><TR
690 ><TD
691 WIDTH="20%"
692 ALIGN="RIGHT"
693 VALIGN="TOP"
694 ><TT
695 CLASS="PARAMETER"
696 ><I
697 >in</I
698 ></TT
699 >&nbsp;:</TD
700 ><TD
701 WIDTH="80%"
702 ALIGN="LEFT"
703 VALIGN="TOP"
704 > The in argument for this callback; the exact type depends on the specific callback</TD
705 ></TR
706 ><TR
707 ><TD
708 WIDTH="20%"
709 ALIGN="RIGHT"
710 VALIGN="TOP"
711 ><TT
712 CLASS="PARAMETER"
713 ><I
714 >in_size</I
715 ></TT
716 >&nbsp;:</TD
717 ><TD
718 WIDTH="80%"
719 ALIGN="LEFT"
720 VALIGN="TOP"
721 > Size of the in argument; useful for sanity-checking</TD
722 ></TR
723 ><TR
724 ><TD
725 WIDTH="20%"
726 ALIGN="RIGHT"
727 VALIGN="TOP"
728 ><TT
729 CLASS="PARAMETER"
730 ><I
731 >out</I
732 ></TT
733 >&nbsp;:</TD
734 ><TD
735 WIDTH="80%"
736 ALIGN="LEFT"
737 VALIGN="TOP"
738 > The out argument for this callback; the exact type depends on the specific callback</TD
739 ></TR
740 ><TR
741 ><TD
742 WIDTH="20%"
743 ALIGN="RIGHT"
744 VALIGN="TOP"
745 ><TT
746 CLASS="PARAMETER"
747 ><I
748 >out_size</I
749 ></TT
750 >&nbsp;:</TD
751 ><TD
752 WIDTH="80%"
753 ALIGN="LEFT"
754 VALIGN="TOP"
755 > Size of the out argument; useful for sanity-checking</TD
756 ></TR
757 ><TR
758 ><TD
759 WIDTH="20%"
760 ALIGN="RIGHT"
761 VALIGN="TOP"
762 ><TT
763 CLASS="PARAMETER"
764 ><I
765 >callback_data</I
766 ></TT
767 >&nbsp;:</TD
768 ><TD
769 WIDTH="80%"
770 ALIGN="LEFT"
771 VALIGN="TOP"
772 > The <TT
773 CLASS="PARAMETER"
774 ><I
775 >callback_data</I
776 ></TT
777 > specified when this callback was set</TD
778 ></TR
779 ><TR
780 ><TD
781 WIDTH="20%"
782 ALIGN="RIGHT"
783 VALIGN="TOP"
784 ><TT
785 CLASS="PARAMETER"
786 ><I
787 >response</I
788 ></TT
789 >&nbsp;:</TD
790 ><TD
791 WIDTH="80%"
792 ALIGN="LEFT"
793 VALIGN="TOP"
794 > Response function to call when the callback is completed</TD
795 ></TR
796 ><TR
797 ><TD
798 WIDTH="20%"
799 ALIGN="RIGHT"
800 VALIGN="TOP"
801 ><TT
802 CLASS="PARAMETER"
803 ><I
804 >response_data</I
805 ></TT
806 >&nbsp;:</TD
807 ><TD
808 WIDTH="80%"
809 ALIGN="LEFT"
810 VALIGN="TOP"
811 > Argument to pass to <TT
812 CLASS="PARAMETER"
813 ><I
814 >response</I
815 ></TT
816 ></TD
817 ></TR
818 ></TBODY
819 ></TABLE
820 ><P
821 ></P
822 ></DIV
823 ></DIV
824 ><HR><DIV
825 CLASS="REFSECT2"
826 ><A
827 NAME="AEN2923"
828 ></A
829 ><H3
830 ><A
831 NAME="GNOME-VFS-MODULE-CALLBACK-SET-DEFAULT"
832 ></A
833 >gnome_vfs_module_callback_set_default ()</H3
834 ><TABLE
835 BORDER="0"
836 BGCOLOR="#D6E8FF"
837 WIDTH="100%"
838 CELLPADDING="6"
839 ><TR
840 ><TD
841 ><PRE
842 CLASS="PROGRAMLISTING"
843 >void        gnome_vfs_module_callback_set_default
844                                             (const char *callback_name,
845                                              <A
846 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
847 >GnomeVFSModuleCallback</A
848 > callback,
849                                              <A
850 HREF=../glib/glib-basic-types.html#GPOINTER
851 >gpointer</A> callback_data,
852                                              <A
853 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
854 >GDestroyNotify</A> destroy_notify);</PRE
855 ></TD
856 ></TR
857 ></TABLE
858 ><P
859 >Set the default callback for <TT
860 CLASS="PARAMETER"
861 ><I
862 >callback_name</I
863 ></TT
864 > to
865 <TT
866 CLASS="PARAMETER"
867 ><I
868 >callback</I
869 ></TT
870 >. <TT
871 CLASS="PARAMETER"
872 ><I
873 >callback</I
874 ></TT
875 > will be called with <TT
876 CLASS="PARAMETER"
877 ><I
878 >callback_data</I
879 ></TT
880 > on the
881 same thread as the gnome-vfs operation that invokes it. The default
882 value is shared for all threads, but setting it is thread-safe.</P
883 ><P
884 >Use this function if you want to set a handler to be used by your
885 whole application. You can use <A
886 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-PUSH"
887 >gnome_vfs_module_callback_push</A
888 >() to
889 set a callback function that will temporarily override the default
890 on the current thread instead. Or you can also use
891 <A
892 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-SET-DEFAULT"
893 >gnome_vfs_async_module_callback_set_default</A
894 >() to set an async
895 callback function.</P
896 ><P
897 >Note: <TT
898 CLASS="PARAMETER"
899 ><I
900 >destroy_notify</I
901 ></TT
902 > may be called on any thread - it is not
903 guaranteed to be called on the main thread.</P
904 ><P
905 ></P
906 ><DIV
907 CLASS="INFORMALTABLE"
908 ><A
909 NAME="AEN2941"
910 ></A
911 ><P
912 ></P
913 ><TABLE
914 BORDER="0"
915 WIDTH="100%"
916 BGCOLOR="#FFD0D0"
917 CELLSPACING="0"
918 CELLPADDING="4"
919 CLASS="CALSTABLE"
920 ><TBODY
921 ><TR
922 ><TD
923 WIDTH="20%"
924 ALIGN="RIGHT"
925 VALIGN="TOP"
926 ><TT
927 CLASS="PARAMETER"
928 ><I
929 >callback_name</I
930 ></TT
931 >&nbsp;:</TD
932 ><TD
933 WIDTH="80%"
934 ALIGN="LEFT"
935 VALIGN="TOP"
936 > The name of the module callback to set</TD
937 ></TR
938 ><TR
939 ><TD
940 WIDTH="20%"
941 ALIGN="RIGHT"
942 VALIGN="TOP"
943 ><TT
944 CLASS="PARAMETER"
945 ><I
946 >callback</I
947 ></TT
948 >&nbsp;:</TD
949 ><TD
950 WIDTH="80%"
951 ALIGN="LEFT"
952 VALIGN="TOP"
953 > The function to call when the callback is invoked</TD
954 ></TR
955 ><TR
956 ><TD
957 WIDTH="20%"
958 ALIGN="RIGHT"
959 VALIGN="TOP"
960 ><TT
961 CLASS="PARAMETER"
962 ><I
963 >callback_data</I
964 ></TT
965 >&nbsp;:</TD
966 ><TD
967 WIDTH="80%"
968 ALIGN="LEFT"
969 VALIGN="TOP"
970 > Pointer to pass as the <TT
971 CLASS="PARAMETER"
972 ><I
973 >callback_data</I
974 ></TT
975 > argument to <TT
976 CLASS="PARAMETER"
977 ><I
978 >callback</I
979 ></TT
980 ></TD
981 ></TR
982 ><TR
983 ><TD
984 WIDTH="20%"
985 ALIGN="RIGHT"
986 VALIGN="TOP"
987 ><TT
988 CLASS="PARAMETER"
989 ><I
990 >destroy_notify</I
991 ></TT
992 >&nbsp;:</TD
993 ><TD
994 WIDTH="80%"
995 ALIGN="LEFT"
996 VALIGN="TOP"
997 > Function to call when <TT
998 CLASS="PARAMETER"
999 ><I
1000 >callback_data</I
1001 ></TT
1002 > is to be freed.</TD
1003 ></TR
1004 ></TBODY
1005 ></TABLE
1006 ><P
1007 ></P
1008 ></DIV
1009 ></DIV
1010 ><HR><DIV
1011 CLASS="REFSECT2"
1012 ><A
1013 NAME="AEN2965"
1014 ></A
1015 ><H3
1016 ><A
1017 NAME="GNOME-VFS-MODULE-CALLBACK-PUSH"
1018 ></A
1019 >gnome_vfs_module_callback_push ()</H3
1020 ><TABLE
1021 BORDER="0"
1022 BGCOLOR="#D6E8FF"
1023 WIDTH="100%"
1024 CELLPADDING="6"
1025 ><TR
1026 ><TD
1027 ><PRE
1028 CLASS="PROGRAMLISTING"
1029 >void        gnome_vfs_module_callback_push  (const char *callback_name,
1030                                              <A
1031 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSMODULECALLBACK"
1032 >GnomeVFSModuleCallback</A
1033 > callback,
1034                                              <A
1035 HREF=../glib/glib-basic-types.html#GPOINTER
1036 >gpointer</A> callback_data,
1037                                              <A
1038 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
1039 >GDestroyNotify</A> destroy_notify);</PRE
1040 ></TD
1041 ></TR
1042 ></TABLE
1043 ><P
1044 >Set <TT
1045 CLASS="PARAMETER"
1046 ><I
1047 >callback</I
1048 ></TT
1049 > as a temprary handler for <TT
1050 CLASS="PARAMETER"
1051 ><I
1052 >callback_name</I
1053 ></TT
1054 >. <TT
1055 CLASS="PARAMETER"
1056 ><I
1057 >callback</I
1058 ></TT
1059 >
1060 will be called with <TT
1061 CLASS="PARAMETER"
1062 ><I
1063 >callback_data</I
1064 ></TT
1065 > on the same thread as the
1066 gnome-vfs operation that invokes it. The temporary handler is set
1067 per-thread.</P
1068 ><P
1069 ><A
1070 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-POP"
1071 >gnome_vfs_module_callback_pop</A
1072 >() removes the most recently set
1073 temporary handler. The temporary handlers are treated as a first-in
1074 first-out stack.</P
1075 ><P
1076 >Use this function to set a temporary callback handler for a single
1077 call or a few calls. You can use
1078 <A
1079 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SET-DEFAULT"
1080 >gnome_vfs_module_callback_set_default</A
1081 >() to set a callback function
1082 that will establish a permanent global setting for all threads
1083 instead.</P
1084 ><P
1085 >Note: <TT
1086 CLASS="PARAMETER"
1087 ><I
1088 >destroy_notify</I
1089 ></TT
1090 > may be called on any thread - it is not
1091 guaranteed to be called on the main thread.</P
1092 ><P
1093 ></P
1094 ><DIV
1095 CLASS="INFORMALTABLE"
1096 ><A
1097 NAME="AEN2984"
1098 ></A
1099 ><P
1100 ></P
1101 ><TABLE
1102 BORDER="0"
1103 WIDTH="100%"
1104 BGCOLOR="#FFD0D0"
1105 CELLSPACING="0"
1106 CELLPADDING="4"
1107 CLASS="CALSTABLE"
1108 ><TBODY
1109 ><TR
1110 ><TD
1111 WIDTH="20%"
1112 ALIGN="RIGHT"
1113 VALIGN="TOP"
1114 ><TT
1115 CLASS="PARAMETER"
1116 ><I
1117 >callback_name</I
1118 ></TT
1119 >&nbsp;:</TD
1120 ><TD
1121 WIDTH="80%"
1122 ALIGN="LEFT"
1123 VALIGN="TOP"
1124 > The name of the module callback to set temporarily</TD
1125 ></TR
1126 ><TR
1127 ><TD
1128 WIDTH="20%"
1129 ALIGN="RIGHT"
1130 VALIGN="TOP"
1131 ><TT
1132 CLASS="PARAMETER"
1133 ><I
1134 >callback</I
1135 ></TT
1136 >&nbsp;:</TD
1137 ><TD
1138 WIDTH="80%"
1139 ALIGN="LEFT"
1140 VALIGN="TOP"
1141 > The function to call when the callback is invoked</TD
1142 ></TR
1143 ><TR
1144 ><TD
1145 WIDTH="20%"
1146 ALIGN="RIGHT"
1147 VALIGN="TOP"
1148 ><TT
1149 CLASS="PARAMETER"
1150 ><I
1151 >callback_data</I
1152 ></TT
1153 >&nbsp;:</TD
1154 ><TD
1155 WIDTH="80%"
1156 ALIGN="LEFT"
1157 VALIGN="TOP"
1158 > Pointer to pass as the <TT
1159 CLASS="PARAMETER"
1160 ><I
1161 >callback_data</I
1162 ></TT
1163 > argument to <TT
1164 CLASS="PARAMETER"
1165 ><I
1166 >callback</I
1167 ></TT
1168 ></TD
1169 ></TR
1170 ><TR
1171 ><TD
1172 WIDTH="20%"
1173 ALIGN="RIGHT"
1174 VALIGN="TOP"
1175 ><TT
1176 CLASS="PARAMETER"
1177 ><I
1178 >destroy_notify</I
1179 ></TT
1180 >&nbsp;:</TD
1181 ><TD
1182 WIDTH="80%"
1183 ALIGN="LEFT"
1184 VALIGN="TOP"
1185 > Function to call when <TT
1186 CLASS="PARAMETER"
1187 ><I
1188 >callback_data</I
1189 ></TT
1190 > is to be freed.</TD
1191 ></TR
1192 ></TBODY
1193 ></TABLE
1194 ><P
1195 ></P
1196 ></DIV
1197 ></DIV
1198 ><HR><DIV
1199 CLASS="REFSECT2"
1200 ><A
1201 NAME="AEN3008"
1202 ></A
1203 ><H3
1204 ><A
1205 NAME="GNOME-VFS-MODULE-CALLBACK-POP"
1206 ></A
1207 >gnome_vfs_module_callback_pop ()</H3
1208 ><TABLE
1209 BORDER="0"
1210 BGCOLOR="#D6E8FF"
1211 WIDTH="100%"
1212 CELLPADDING="6"
1213 ><TR
1214 ><TD
1215 ><PRE
1216 CLASS="PROGRAMLISTING"
1217 >void        gnome_vfs_module_callback_pop   (const char *callback_name);</PRE
1218 ></TD
1219 ></TR
1220 ></TABLE
1221 ><P
1222 >Remove the temporary handler for <TT
1223 CLASS="PARAMETER"
1224 ><I
1225 >callback_name</I
1226 ></TT
1227 > most recently set
1228 with <A
1229 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-PUSH"
1230 >gnome_vfs_module_callback_push</A
1231 >().  If another temporary
1232 handler was previously set on the same thread, it becomes the
1233 current handler. Otherwise, the default handler, if any, becomes
1234 current. </P
1235 ><P
1236 >The temporary handlers are treated as a first-in first-out
1237 stack.</P
1238 ><P
1239 ></P
1240 ><DIV
1241 CLASS="INFORMALTABLE"
1242 ><A
1243 NAME="AEN3017"
1244 ></A
1245 ><P
1246 ></P
1247 ><TABLE
1248 BORDER="0"
1249 WIDTH="100%"
1250 BGCOLOR="#FFD0D0"
1251 CELLSPACING="0"
1252 CELLPADDING="4"
1253 CLASS="CALSTABLE"
1254 ><TBODY
1255 ><TR
1256 ><TD
1257 WIDTH="20%"
1258 ALIGN="RIGHT"
1259 VALIGN="TOP"
1260 ><TT
1261 CLASS="PARAMETER"
1262 ><I
1263 >callback_name</I
1264 ></TT
1265 >&nbsp;:</TD
1266 ><TD
1267 WIDTH="80%"
1268 ALIGN="LEFT"
1269 VALIGN="TOP"
1270 > The name of the module callback to remove a temporary handler for</TD
1271 ></TR
1272 ></TBODY
1273 ></TABLE
1274 ><P
1275 ></P
1276 ></DIV
1277 ></DIV
1278 ><HR><DIV
1279 CLASS="REFSECT2"
1280 ><A
1281 NAME="AEN3026"
1282 ></A
1283 ><H3
1284 ><A
1285 NAME="GNOME-VFS-ASYNC-MODULE-CALLBACK-SET-DEFAULT"
1286 ></A
1287 >gnome_vfs_async_module_callback_set_default ()</H3
1288 ><TABLE
1289 BORDER="0"
1290 BGCOLOR="#D6E8FF"
1291 WIDTH="100%"
1292 CELLPADDING="6"
1293 ><TR
1294 ><TD
1295 ><PRE
1296 CLASS="PROGRAMLISTING"
1297 >void        gnome_vfs_async_module_callback_set_default
1298                                             (const char *callback_name,
1299                                              <A
1300 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
1301 >GnomeVFSAsyncModuleCallback</A
1302 > callback,
1303                                              <A
1304 HREF=../glib/glib-basic-types.html#GPOINTER
1305 >gpointer</A> callback_data,
1306                                              <A
1307 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
1308 >GDestroyNotify</A> destroy_notify);</PRE
1309 ></TD
1310 ></TR
1311 ></TABLE
1312 ><P
1313 >Set the default async callback for <TT
1314 CLASS="PARAMETER"
1315 ><I
1316 >callback_name</I
1317 ></TT
1318 > to
1319 <TT
1320 CLASS="PARAMETER"
1321 ><I
1322 >callback</I
1323 ></TT
1324 >. <TT
1325 CLASS="PARAMETER"
1326 ><I
1327 >callback</I
1328 ></TT
1329 > will be called with <TT
1330 CLASS="PARAMETER"
1331 ><I
1332 >callback_data</I
1333 ></TT
1334 >
1335 from a callback on the main thread. It will be passed a response
1336 function which should be called to signal completion of the callback.
1337 The callback function itself may return in the meantime.</P
1338 ><P
1339 >The default value is shared for all threads, but setting it is
1340 thread-safe.</P
1341 ><P
1342 >Use this function if you want to globally set a callback handler
1343 for use with async operations.</P
1344 ><P
1345 >You can use <A
1346 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-PUSH"
1347 >gnome_vfs_async_module_callback_push</A
1348 >() to set an async
1349 callback function that will temporarily override the default on the
1350 current thread instead. Or you can also use
1351 <A
1352 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SET-DEFAULT"
1353 >gnome_vfs_module_callback_set_default</A
1354 >() to set a regular callback
1355 function.</P
1356 ><P
1357 >Note: <TT
1358 CLASS="PARAMETER"
1359 ><I
1360 >destroy_notify</I
1361 ></TT
1362 > may be called on any thread - it is not
1363 guaranteed to be called on the main thread.</P
1364 ><P
1365 ></P
1366 ><DIV
1367 CLASS="INFORMALTABLE"
1368 ><A
1369 NAME="AEN3046"
1370 ></A
1371 ><P
1372 ></P
1373 ><TABLE
1374 BORDER="0"
1375 WIDTH="100%"
1376 BGCOLOR="#FFD0D0"
1377 CELLSPACING="0"
1378 CELLPADDING="4"
1379 CLASS="CALSTABLE"
1380 ><TBODY
1381 ><TR
1382 ><TD
1383 WIDTH="20%"
1384 ALIGN="RIGHT"
1385 VALIGN="TOP"
1386 ><TT
1387 CLASS="PARAMETER"
1388 ><I
1389 >callback_name</I
1390 ></TT
1391 >&nbsp;:</TD
1392 ><TD
1393 WIDTH="80%"
1394 ALIGN="LEFT"
1395 VALIGN="TOP"
1396 > The name of the async module callback to set</TD
1397 ></TR
1398 ><TR
1399 ><TD
1400 WIDTH="20%"
1401 ALIGN="RIGHT"
1402 VALIGN="TOP"
1403 ><TT
1404 CLASS="PARAMETER"
1405 ><I
1406 >callback</I
1407 ></TT
1408 >&nbsp;:</TD
1409 ><TD
1410 WIDTH="80%"
1411 ALIGN="LEFT"
1412 VALIGN="TOP"
1413 > The function to call when the callback is invoked</TD
1414 ></TR
1415 ><TR
1416 ><TD
1417 WIDTH="20%"
1418 ALIGN="RIGHT"
1419 VALIGN="TOP"
1420 ><TT
1421 CLASS="PARAMETER"
1422 ><I
1423 >callback_data</I
1424 ></TT
1425 >&nbsp;:</TD
1426 ><TD
1427 WIDTH="80%"
1428 ALIGN="LEFT"
1429 VALIGN="TOP"
1430 > Pointer to pass as the <TT
1431 CLASS="PARAMETER"
1432 ><I
1433 >callback_data</I
1434 ></TT
1435 > argument to <TT
1436 CLASS="PARAMETER"
1437 ><I
1438 >callback</I
1439 ></TT
1440 ></TD
1441 ></TR
1442 ><TR
1443 ><TD
1444 WIDTH="20%"
1445 ALIGN="RIGHT"
1446 VALIGN="TOP"
1447 ><TT
1448 CLASS="PARAMETER"
1449 ><I
1450 >destroy_notify</I
1451 ></TT
1452 >&nbsp;:</TD
1453 ><TD
1454 WIDTH="80%"
1455 ALIGN="LEFT"
1456 VALIGN="TOP"
1457 > Function to call when <TT
1458 CLASS="PARAMETER"
1459 ><I
1460 >callback_data</I
1461 ></TT
1462 > is to be freed.</TD
1463 ></TR
1464 ></TBODY
1465 ></TABLE
1466 ><P
1467 ></P
1468 ></DIV
1469 ></DIV
1470 ><HR><DIV
1471 CLASS="REFSECT2"
1472 ><A
1473 NAME="AEN3070"
1474 ></A
1475 ><H3
1476 ><A
1477 NAME="GNOME-VFS-ASYNC-MODULE-CALLBACK-PUSH"
1478 ></A
1479 >gnome_vfs_async_module_callback_push ()</H3
1480 ><TABLE
1481 BORDER="0"
1482 BGCOLOR="#D6E8FF"
1483 WIDTH="100%"
1484 CELLPADDING="6"
1485 ><TR
1486 ><TD
1487 ><PRE
1488 CLASS="PROGRAMLISTING"
1489 >void        gnome_vfs_async_module_callback_push
1490                                             (const char *callback_name,
1491                                              <A
1492 HREF="gnome-vfs-module-callbacks.html#GNOMEVFSASYNCMODULECALLBACK"
1493 >GnomeVFSAsyncModuleCallback</A
1494 > callback,
1495                                              <A
1496 HREF=../glib/glib-basic-types.html#GPOINTER
1497 >gpointer</A> callback_data,
1498                                              <A
1499 HREF=../glib/glib-datasets.html#GDESTROYNOTIFY
1500 >GDestroyNotify</A> destroy_notify);</PRE
1501 ></TD
1502 ></TR
1503 ></TABLE
1504 ><P
1505 >Set <TT
1506 CLASS="PARAMETER"
1507 ><I
1508 >callback_func</I
1509 ></TT
1510 > as a temprary async handler for
1511 <TT
1512 CLASS="PARAMETER"
1513 ><I
1514 >callback_name</I
1515 ></TT
1516 >. <TT
1517 CLASS="PARAMETER"
1518 ><I
1519 >callback</I
1520 ></TT
1521 > will be called with <TT
1522 CLASS="PARAMETER"
1523 ><I
1524 >callback_data</I
1525 ></TT
1526 >
1527 from a callback on the main thread. It will be passed a response
1528 function which should be called to signal completion of the
1529 callback. The callback function itself may return in the meantime.</P
1530 ><P
1531 >The temporary async handler is set per-thread.</P
1532 ><P
1533 ><A
1534 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-POP"
1535 >gnome_vfs_async_module_callback_pop</A
1536 >() removes the most recently set
1537 temporary temporary handler. The temporary async handlers are
1538 treated as a first-in first-out stack.</P
1539 ><P
1540 >Use this function to set a temporary async callback handler for a
1541 single call or a few calls. You can use
1542 <A
1543 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-SET-DEFAULT"
1544 >gnome_vfs_async_module_callback_set_default</A
1545 >() to set an async
1546 callback function that will establish a permanent global setting
1547 for all threads instead.</P
1548 ><P
1549 >Note: <TT
1550 CLASS="PARAMETER"
1551 ><I
1552 >destroy_notify</I
1553 ></TT
1554 > may be called on any thread - it is not
1555 guaranteed to be called on the main thread.</P
1556 ><P
1557 ></P
1558 ><DIV
1559 CLASS="INFORMALTABLE"
1560 ><A
1561 NAME="AEN3090"
1562 ></A
1563 ><P
1564 ></P
1565 ><TABLE
1566 BORDER="0"
1567 WIDTH="100%"
1568 BGCOLOR="#FFD0D0"
1569 CELLSPACING="0"
1570 CELLPADDING="4"
1571 CLASS="CALSTABLE"
1572 ><TBODY
1573 ><TR
1574 ><TD
1575 WIDTH="20%"
1576 ALIGN="RIGHT"
1577 VALIGN="TOP"
1578 ><TT
1579 CLASS="PARAMETER"
1580 ><I
1581 >callback_name</I
1582 ></TT
1583 >&nbsp;:</TD
1584 ><TD
1585 WIDTH="80%"
1586 ALIGN="LEFT"
1587 VALIGN="TOP"
1588 > The name of the module callback to set temporarily</TD
1589 ></TR
1590 ><TR
1591 ><TD
1592 WIDTH="20%"
1593 ALIGN="RIGHT"
1594 VALIGN="TOP"
1595 ><TT
1596 CLASS="PARAMETER"
1597 ><I
1598 >callback</I
1599 ></TT
1600 >&nbsp;:</TD
1601 ><TD
1602 WIDTH="80%"
1603 ALIGN="LEFT"
1604 VALIGN="TOP"
1605 > The function to call when the callback is invoked</TD
1606 ></TR
1607 ><TR
1608 ><TD
1609 WIDTH="20%"
1610 ALIGN="RIGHT"
1611 VALIGN="TOP"
1612 ><TT
1613 CLASS="PARAMETER"
1614 ><I
1615 >callback_data</I
1616 ></TT
1617 >&nbsp;:</TD
1618 ><TD
1619 WIDTH="80%"
1620 ALIGN="LEFT"
1621 VALIGN="TOP"
1622 > Pointer to pass as the <TT
1623 CLASS="PARAMETER"
1624 ><I
1625 >callback_data</I
1626 ></TT
1627 > argument to <TT
1628 CLASS="PARAMETER"
1629 ><I
1630 >callback</I
1631 ></TT
1632 ></TD
1633 ></TR
1634 ><TR
1635 ><TD
1636 WIDTH="20%"
1637 ALIGN="RIGHT"
1638 VALIGN="TOP"
1639 ><TT
1640 CLASS="PARAMETER"
1641 ><I
1642 >destroy_notify</I
1643 ></TT
1644 >&nbsp;:</TD
1645 ><TD
1646 WIDTH="80%"
1647 ALIGN="LEFT"
1648 VALIGN="TOP"
1649 > Function to call when <TT
1650 CLASS="PARAMETER"
1651 ><I
1652 >callback_data</I
1653 ></TT
1654 > is to be freed.</TD
1655 ></TR
1656 ></TBODY
1657 ></TABLE
1658 ><P
1659 ></P
1660 ></DIV
1661 ></DIV
1662 ><HR><DIV
1663 CLASS="REFSECT2"
1664 ><A
1665 NAME="AEN3114"
1666 ></A
1667 ><H3
1668 ><A
1669 NAME="GNOME-VFS-ASYNC-MODULE-CALLBACK-POP"
1670 ></A
1671 >gnome_vfs_async_module_callback_pop ()</H3
1672 ><TABLE
1673 BORDER="0"
1674 BGCOLOR="#D6E8FF"
1675 WIDTH="100%"
1676 CELLPADDING="6"
1677 ><TR
1678 ><TD
1679 ><PRE
1680 CLASS="PROGRAMLISTING"
1681 >void        gnome_vfs_async_module_callback_pop
1682                                             (const char *callback_name);</PRE
1683 ></TD
1684 ></TR
1685 ></TABLE
1686 ><P
1687 >Remove the temporary async handler for <TT
1688 CLASS="PARAMETER"
1689 ><I
1690 >callback_name</I
1691 ></TT
1692 > most recently
1693 set with <A
1694 HREF="gnome-vfs-module-callbacks.html#GNOME-VFS-ASYNC-MODULE-CALLBACK-PUSH"
1695 >gnome_vfs_async_module_callback_push</A
1696 >().  If another
1697 temporary async handler was previously set on the same thread, it
1698 becomes the current handler. Otherwise, the default async handler,
1699 if any, becomes current.</P
1700 ><P
1701 >The temporary async handlers are treated as a first-in first-out
1702 stack.</P
1703 ><P
1704 ></P
1705 ><DIV
1706 CLASS="INFORMALTABLE"
1707 ><A
1708 NAME="AEN3123"
1709 ></A
1710 ><P
1711 ></P
1712 ><TABLE
1713 BORDER="0"
1714 WIDTH="100%"
1715 BGCOLOR="#FFD0D0"
1716 CELLSPACING="0"
1717 CELLPADDING="4"
1718 CLASS="CALSTABLE"
1719 ><TBODY
1720 ><TR
1721 ><TD
1722 WIDTH="20%"
1723 ALIGN="RIGHT"
1724 VALIGN="TOP"
1725 ><TT
1726 CLASS="PARAMETER"
1727 ><I
1728 >callback_name</I
1729 ></TT
1730 >&nbsp;:</TD
1731 ><TD
1732 WIDTH="80%"
1733 ALIGN="LEFT"
1734 VALIGN="TOP"
1735 > The name of the module callback to remove a temporary handler for</TD
1736 ></TR
1737 ></TBODY
1738 ></TABLE
1739 ><P
1740 ></P
1741 ></DIV
1742 ></DIV
1743 ></DIV
1744 ><DIV
1745 CLASS="REFSECT1"
1746 ><A
1747 NAME="AEN3132"
1748 ></A
1749 ><H2
1750 >See Also</H2
1751 ><P
1752 ><A
1753 HREF="gnome-vfs-standard-callbacks.html"
1754 >Standard Callbacks</A
1755 ></P
1756 ></DIV
1757 ><DIV
1758 CLASS="NAVFOOTER"
1759 ><BR
1760 CLEAR="all"><BR><TABLE
1761 WIDTH="100%"
1762 BORDER="0"
1763 BGCOLOR="#000000"
1764 CELLPADDING="1"
1765 CELLSPACING="0"
1766 ><TR
1767 ><TD
1768 WIDTH="25%"
1769 BGCOLOR="#C00000"
1770 ALIGN="left"
1771 ><A
1772 HREF="gnome-vfs-xfer.html"
1773 ><FONT
1774 COLOR="#FFFFFF"
1775 SIZE="3"
1776 ><B
1777 >&#60;&#60;&#60; Previous Page</B
1778 ></FONT
1779 ></A
1780 ></TD
1781 ><TD
1782 WIDTH="25%"
1783 BGCOLOR="#0000C0"
1784 ALIGN="center"
1785 ><FONT
1786 COLOR="#FFFFFF"
1787 SIZE="3"
1788 ><B
1789 ><A
1790 HREF="index.html"
1791 ><FONT
1792 COLOR="#FFFFFF"
1793 SIZE="3"
1794 ><B
1795 >Home</B
1796 ></FONT
1797 ></A
1798 ></B
1799 ></FONT
1800 ></TD
1801 ><TD
1802 WIDTH="25%"
1803 BGCOLOR="#00C000"
1804 ALIGN="center"
1805 ><FONT
1806 COLOR="#FFFFFF"
1807 SIZE="3"
1808 ><B
1809 ><A
1810 HREF="file-operations.html"
1811 ><FONT
1812 COLOR="#FFFFFF"
1813 SIZE="3"
1814 ><B
1815 >Up</B
1816 ></FONT
1817 ></A
1818 ></B
1819 ></FONT
1820 ></TD
1821 ><TD
1822 WIDTH="25%"
1823 BGCOLOR="#C00000"
1824 ALIGN="right"
1825 ><A
1826 HREF="gnome-vfs-standard-callbacks.html"
1827 ><FONT
1828 COLOR="#FFFFFF"
1829 SIZE="3"
1830 ><B
1831 >Next Page &#62;&#62;&#62;</B
1832 ></FONT
1833 ></A
1834 ></TD
1835 ></TR
1836 ><TR
1837 ><TD
1838 COLSPAN="2"
1839 ALIGN="left"
1840 ><FONT
1841 COLOR="#FFFFFF"
1842 SIZE="3"
1843 ><B
1844 >Copy Engine</B
1845 ></FONT
1846 ></TD
1847 ><TD
1848 COLSPAN="2"
1849 ALIGN="right"
1850 ><FONT
1851 COLOR="#FFFFFF"
1852 SIZE="3"
1853 ><B
1854 >Standard Callbacks</B
1855 ></FONT
1856 ></TD
1857 ></TR
1858 ></TABLE
1859 ></DIV
1860 ></BODY
1861 ></HTML
1862 >