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-standard-callbacks.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Standard 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="Module Callbacks"
17 HREF="gnome-vfs-module-callbacks.html"><LINK
18 REL="NEXT"
19 TITLE="Common Data Types"
20 HREF="data-types.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-module-callbacks.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="data-types.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-STANDARD-CALLBACKS"
121 >Standard Callbacks</A
122 ></H1
123 ><DIV
124 CLASS="REFNAMEDIV"
125 ><A
126 NAME="AEN3141"
127 ></A
128 ><H2
129 >Name</H2
130 >Standard Callbacks&nbsp;--&nbsp;module callbacks pre-defined by gnome-vfs</DIV
131 ><DIV
132 CLASS="REFSYNOPSISDIV"
133 ><A
134 NAME="AEN3144"
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 #define     <A
150 HREF="gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION-CAPS"
151 >GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</A
152 >
153 #define     <A
154 HREF="gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION-CAPS"
155 >GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</A
156 >
157 typedef     <A
158 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONIN"
159 >GnomeVFSModuleCallbackAuthenticationIn</A
160 >;
161 typedef     <A
162 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONOUT"
163 >GnomeVFSModuleCallbackAuthenticationOut</A
164 >;
165 #define     <A
166 HREF="gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE-CAPS"
167 >GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</A
168 >
169 typedef     <A
170 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKSTATUSMESSAGEIN"
171 >GnomeVFSModuleCallbackStatusMessageIn</A
172 >;
173 typedef     <A
174 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKSTATUSMESSAGEOUT"
175 >GnomeVFSModuleCallbackStatusMessageOut</A
176 >;</PRE
177 ></TD
178 ></TR
179 ></TABLE
180 ></DIV
181 ><DIV
182 CLASS="REFSECT1"
183 ><A
184 NAME="AEN3154"
185 ></A
186 ><H2
187 >Description</H2
188 ><P
189 >Some standard module callbacks are predefined. They include callbacks
190 for authentication, http proxy authentication, and status
191 messages. For each standard callback, a macro provides the name, and
192 structures are defined for the in and out argument.</P
193 ></DIV
194 ><DIV
195 CLASS="REFSECT1"
196 ><A
197 NAME="AEN3157"
198 ></A
199 ><H2
200 >Details</H2
201 ><DIV
202 CLASS="REFSECT2"
203 ><A
204 NAME="AEN3159"
205 ></A
206 ><H3
207 ><A
208 NAME="GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION-CAPS"
209 ></A
210 >GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</H3
211 ><TABLE
212 BORDER="0"
213 BGCOLOR="#D6E8FF"
214 WIDTH="100%"
215 CELLPADDING="6"
216 ><TR
217 ><TD
218 ><PRE
219 CLASS="PROGRAMLISTING"
220 >#define GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION "simple-authentication"</PRE
221 ></TD
222 ></TR
223 ></TABLE
224 ><P
225 >This callback is called when access to a URI requires a username and
226 password.</P
227 ><DIV
228 CLASS="INFORMALTABLE"
229 ><A
230 NAME="AEN3164"
231 ></A
232 ><P
233 ></P
234 ><TABLE
235 BORDER="0"
236 WIDTH="100%"
237 BGCOLOR="#FFD0D0"
238 CELLSPACING="0"
239 CELLPADDING="4"
240 CLASS="CALSTABLE"
241 ><TBODY
242 ><TR
243 ><TD
244 WIDTH="20%"
245 ALIGN="RIGHT"
246 VALIGN="TOP"
247 ><TT
248 CLASS="PARAMETER"
249 ><I
250 >in</I
251 ></TT
252 >&nbsp;:</TD
253 ><TD
254 WIDTH="80%"
255 ALIGN="LEFT"
256 VALIGN="TOP"
257 > <A
258 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONIN"
259 >GnomeVFSModuleCallbackAuthenticationIn</A
260 ></TD
261 ></TR
262 ><TR
263 ><TD
264 WIDTH="20%"
265 ALIGN="RIGHT"
266 VALIGN="TOP"
267 ><TT
268 CLASS="PARAMETER"
269 ><I
270 >out</I
271 ></TT
272 >&nbsp;:</TD
273 ><TD
274 WIDTH="80%"
275 ALIGN="LEFT"
276 VALIGN="TOP"
277 ><A
278 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONOUT"
279 >GnomeVFSModuleCallbackAuthenticationOut</A
280 ></TD
281 ></TR
282 ></TBODY
283 ></TABLE
284 ><P
285 ></P
286 ></DIV
287 ></DIV
288 ><HR><DIV
289 CLASS="REFSECT2"
290 ><A
291 NAME="AEN3179"
292 ></A
293 ><H3
294 ><A
295 NAME="GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION-CAPS"
296 ></A
297 >GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</H3
298 ><TABLE
299 BORDER="0"
300 BGCOLOR="#D6E8FF"
301 WIDTH="100%"
302 CELLPADDING="6"
303 ><TR
304 ><TD
305 ><PRE
306 CLASS="PROGRAMLISTING"
307 >#define GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION "http:proxy-authentication"</PRE
308 ></TD
309 ></TR
310 ></TABLE
311 ><P
312 >This callback is called when access to an HTTP proxy requires a
313 username and password.</P
314 ><DIV
315 CLASS="INFORMALTABLE"
316 ><A
317 NAME="AEN3184"
318 ></A
319 ><P
320 ></P
321 ><TABLE
322 BORDER="0"
323 WIDTH="100%"
324 BGCOLOR="#FFD0D0"
325 CELLSPACING="0"
326 CELLPADDING="4"
327 CLASS="CALSTABLE"
328 ><TBODY
329 ><TR
330 ><TD
331 WIDTH="20%"
332 ALIGN="RIGHT"
333 VALIGN="TOP"
334 ><TT
335 CLASS="PARAMETER"
336 ><I
337 >in</I
338 ></TT
339 >&nbsp;:</TD
340 ><TD
341 WIDTH="80%"
342 ALIGN="LEFT"
343 VALIGN="TOP"
344 > <A
345 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONIN"
346 >GnomeVFSModuleCallbackAuthenticationIn</A
347 ></TD
348 ></TR
349 ><TR
350 ><TD
351 WIDTH="20%"
352 ALIGN="RIGHT"
353 VALIGN="TOP"
354 ><TT
355 CLASS="PARAMETER"
356 ><I
357 >out</I
358 ></TT
359 >&nbsp;:</TD
360 ><TD
361 WIDTH="80%"
362 ALIGN="LEFT"
363 VALIGN="TOP"
364 ><A
365 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKAUTHENTICATIONOUT"
366 >GnomeVFSModuleCallbackAuthenticationOut</A
367 ></TD
368 ></TR
369 ></TBODY
370 ></TABLE
371 ><P
372 ></P
373 ></DIV
374 ></DIV
375 ><HR><DIV
376 CLASS="REFSECT2"
377 ><A
378 NAME="AEN3199"
379 ></A
380 ><H3
381 ><A
382 NAME="GNOMEVFSMODULECALLBACKAUTHENTICATIONIN"
383 ></A
384 >GnomeVFSModuleCallbackAuthenticationIn</H3
385 ><TABLE
386 BORDER="0"
387 BGCOLOR="#D6E8FF"
388 WIDTH="100%"
389 CELLPADDING="6"
390 ><TR
391 ><TD
392 ><PRE
393 CLASS="PROGRAMLISTING"
394 >typedef struct {
395         char *uri;              /* Full URI of operation */
396         char *realm;            /* for HTTP auth, NULL for others */
397         gboolean previous_attempt_failed;
398                                 /* TRUE if there were credentials specified
399                                  * for this request, but they resulted in
400                                  * an authorization error. 
401                                  * ("you gave me the wrong pw!")
402                                  * 
403                                  * FALSE if there were no credentials specified
404                                  * but they are required to continue
405                                  * 
406                                  */
407         enum {
408                 AuthTypeBasic,  /* Password will be transmitted unencrypted */
409                 AuthTypeDigest  /* Digest is transferred, not plaintext credentials */          
410         } auth_type;
411 } GnomeVFSModuleCallbackAuthenticationIn;</PRE
412 ></TD
413 ></TR
414 ></TABLE
415 ><P
416 ></P
417 ></DIV
418 ><HR><DIV
419 CLASS="REFSECT2"
420 ><A
421 NAME="AEN3204"
422 ></A
423 ><H3
424 ><A
425 NAME="GNOMEVFSMODULECALLBACKAUTHENTICATIONOUT"
426 ></A
427 >GnomeVFSModuleCallbackAuthenticationOut</H3
428 ><TABLE
429 BORDER="0"
430 BGCOLOR="#D6E8FF"
431 WIDTH="100%"
432 CELLPADDING="6"
433 ><TR
434 ><TD
435 ><PRE
436 CLASS="PROGRAMLISTING"
437 >typedef struct {
438         char *username;         /* will be freed by g_free,
439                                  * NULL indicates no auth should be provided;
440                                  * if the request requires authn, the operation
441                                  * will fail with a GNOME_VFS_ERROR_ACCESS_DENIED
442                                  * code
443                                  */
444         char *password;         /* will be freed by g_free */
445 } GnomeVFSModuleCallbackAuthenticationOut;</PRE
446 ></TD
447 ></TR
448 ></TABLE
449 ><P
450 ></P
451 ></DIV
452 ><HR><DIV
453 CLASS="REFSECT2"
454 ><A
455 NAME="AEN3209"
456 ></A
457 ><H3
458 ><A
459 NAME="GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE-CAPS"
460 ></A
461 >GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</H3
462 ><TABLE
463 BORDER="0"
464 BGCOLOR="#D6E8FF"
465 WIDTH="100%"
466 CELLPADDING="6"
467 ><TR
468 ><TD
469 ><PRE
470 CLASS="PROGRAMLISTING"
471 >#define GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE "status-message"</PRE
472 ></TD
473 ></TR
474 ></TABLE
475 ><P
476 >This callback is called when a GnomeVFS module operation has a status
477 message to return to the application.</P
478 ><DIV
479 CLASS="INFORMALTABLE"
480 ><A
481 NAME="AEN3214"
482 ></A
483 ><P
484 ></P
485 ><TABLE
486 BORDER="0"
487 WIDTH="100%"
488 BGCOLOR="#FFD0D0"
489 CELLSPACING="0"
490 CELLPADDING="4"
491 CLASS="CALSTABLE"
492 ><TBODY
493 ><TR
494 ><TD
495 WIDTH="20%"
496 ALIGN="RIGHT"
497 VALIGN="TOP"
498 ><TT
499 CLASS="PARAMETER"
500 ><I
501 >in</I
502 ></TT
503 >&nbsp;:</TD
504 ><TD
505 WIDTH="80%"
506 ALIGN="LEFT"
507 VALIGN="TOP"
508 > <A
509 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKSTATUSMESSAGEIN"
510 >GnomeVFSModuleCallbackStatusMessageIn</A
511 ></TD
512 ></TR
513 ><TR
514 ><TD
515 WIDTH="20%"
516 ALIGN="RIGHT"
517 VALIGN="TOP"
518 ><TT
519 CLASS="PARAMETER"
520 ><I
521 >out</I
522 ></TT
523 >&nbsp;:</TD
524 ><TD
525 WIDTH="80%"
526 ALIGN="LEFT"
527 VALIGN="TOP"
528 ><A
529 HREF="gnome-vfs-standard-callbacks.html#GNOMEVFSMODULECALLBACKSTATUSMESSAGEOUT"
530 >GnomeVFSModuleCallbackStatusMessageOut</A
531 ></TD
532 ></TR
533 ></TBODY
534 ></TABLE
535 ><P
536 ></P
537 ></DIV
538 ></DIV
539 ><HR><DIV
540 CLASS="REFSECT2"
541 ><A
542 NAME="AEN3229"
543 ></A
544 ><H3
545 ><A
546 NAME="GNOMEVFSMODULECALLBACKSTATUSMESSAGEIN"
547 ></A
548 >GnomeVFSModuleCallbackStatusMessageIn</H3
549 ><TABLE
550 BORDER="0"
551 BGCOLOR="#D6E8FF"
552 WIDTH="100%"
553 CELLPADDING="6"
554 ><TR
555 ><TD
556 ><PRE
557 CLASS="PROGRAMLISTING"
558 >typedef struct {
559         char *uri;              /* Full URI of operation */
560         char *message;          /* A message indicating the current state or
561                                  * NULL if there is no message */
562         int percentage;         /* Percentage indicating completeness 0-100 or
563                                  * -1 if there is no progress percentage to
564                                  * report */
565 } GnomeVFSModuleCallbackStatusMessageIn;</PRE
566 ></TD
567 ></TR
568 ></TABLE
569 ><P
570 ></P
571 ></DIV
572 ><HR><DIV
573 CLASS="REFSECT2"
574 ><A
575 NAME="AEN3234"
576 ></A
577 ><H3
578 ><A
579 NAME="GNOMEVFSMODULECALLBACKSTATUSMESSAGEOUT"
580 ></A
581 >GnomeVFSModuleCallbackStatusMessageOut</H3
582 ><TABLE
583 BORDER="0"
584 BGCOLOR="#D6E8FF"
585 WIDTH="100%"
586 CELLPADDING="6"
587 ><TR
588 ><TD
589 ><PRE
590 CLASS="PROGRAMLISTING"
591 >typedef struct {
592         int dummy; /* empty structs not allowed */
593 } GnomeVFSModuleCallbackStatusMessageOut;</PRE
594 ></TD
595 ></TR
596 ></TABLE
597 ><P
598 ></P
599 ></DIV
600 ></DIV
601 ><DIV
602 CLASS="REFSECT1"
603 ><A
604 NAME="AEN3239"
605 ></A
606 ><H2
607 >See Also</H2
608 ><P
609 ><A
610 HREF="gnome-vfs-module-callbacks.html"
611 >Module Callbacks</A
612 ></P
613 ></DIV
614 ><DIV
615 CLASS="NAVFOOTER"
616 ><BR
617 CLEAR="all"><BR><TABLE
618 WIDTH="100%"
619 BORDER="0"
620 BGCOLOR="#000000"
621 CELLPADDING="1"
622 CELLSPACING="0"
623 ><TR
624 ><TD
625 WIDTH="25%"
626 BGCOLOR="#C00000"
627 ALIGN="left"
628 ><A
629 HREF="gnome-vfs-module-callbacks.html"
630 ><FONT
631 COLOR="#FFFFFF"
632 SIZE="3"
633 ><B
634 >&#60;&#60;&#60; Previous Page</B
635 ></FONT
636 ></A
637 ></TD
638 ><TD
639 WIDTH="25%"
640 BGCOLOR="#0000C0"
641 ALIGN="center"
642 ><FONT
643 COLOR="#FFFFFF"
644 SIZE="3"
645 ><B
646 ><A
647 HREF="index.html"
648 ><FONT
649 COLOR="#FFFFFF"
650 SIZE="3"
651 ><B
652 >Home</B
653 ></FONT
654 ></A
655 ></B
656 ></FONT
657 ></TD
658 ><TD
659 WIDTH="25%"
660 BGCOLOR="#00C000"
661 ALIGN="center"
662 ><FONT
663 COLOR="#FFFFFF"
664 SIZE="3"
665 ><B
666 ><A
667 HREF="file-operations.html"
668 ><FONT
669 COLOR="#FFFFFF"
670 SIZE="3"
671 ><B
672 >Up</B
673 ></FONT
674 ></A
675 ></B
676 ></FONT
677 ></TD
678 ><TD
679 WIDTH="25%"
680 BGCOLOR="#C00000"
681 ALIGN="right"
682 ><A
683 HREF="data-types.html"
684 ><FONT
685 COLOR="#FFFFFF"
686 SIZE="3"
687 ><B
688 >Next Page &#62;&#62;&#62;</B
689 ></FONT
690 ></A
691 ></TD
692 ></TR
693 ><TR
694 ><TD
695 COLSPAN="2"
696 ALIGN="left"
697 ><FONT
698 COLOR="#FFFFFF"
699 SIZE="3"
700 ><B
701 >Module Callbacks</B
702 ></FONT
703 ></TD
704 ><TD
705 COLSPAN="2"
706 ALIGN="right"
707 ><FONT
708 COLOR="#FFFFFF"
709 SIZE="3"
710 ><B
711 >Common Data Types</B
712 ></FONT
713 ></TD
714 ></TR
715 ></TABLE
716 ></DIV
717 ></BODY
718 ></HTML
719 >