Annotation of libwww/Library/src/WWWApp.html, revision 2.15

2.1       frystyk     1: <HTML>
                      2: <HEAD>
2.14      frystyk     3:   <TITLE>W3C Reference Library libwww Application Interface</TITLE>
2.1       frystyk     4: </HEAD>
                      5: <BODY>
2.12      eric        6: <H1>
2.14      frystyk     7:   Application Interface
2.12      eric        8: </H1>
2.1       frystyk     9: <PRE>
                     10: /*
                     11: **     (c) COPYRIGHT MIT 1995.
                     12: **     Please first read the full copyright statement in the file COPYRIGH.
                     13: */
                     14: </PRE>
2.12      eric       15: <P>
                     16: In addition top the basic W3C Reference Library include file called
                     17: <A HREF="WWWLib.html">WWWLib.h</A> you <EM>can</EM> also include this file
                     18: called WWWApp.h depending on the needs of your application. However, it is
                     19: not required and none of the files included below are ever used in the core
                     20: part of the Library itself. Only if this file is included, the extra modules
                     21: will get included in the linked object code. It is also possible to include
                     22: only a subset of the files below if the functionality you are after is covered
                     23: by them.
2.1       frystyk    24: <PRE>
                     25: #ifndef WWWAPP_H
                     26: #define WWWAPP_H
                     27: </PRE>
                     28: <PRE>
                     29: #ifdef __cplusplus
                     30: extern "C" { 
                     31: #endif
                     32: </PRE>
2.12      eric       33: <H2>
                     34:   System dependencies
                     35: </H2>
                     36: <P>
2.11      frystyk    37: The <A HREF="sysdep.html">sysdep.h</A> file includes system-specific include
2.12      eric       38: files and flags for I/O to network and disk. The only reason for this file
                     39: is that the Internet world is more complicated than Posix and ANSI.
2.14      frystyk    40: <PRE>#include "<A HREF="sysdep.html">sysdep.h</A>"
2.11      frystyk    41: </PRE>
2.12      eric       42: <H2>
2.13      frystyk    43:   Event Manager
                     44: </H2>
                     45: <P>
                     46: The core part of libwww only provides the hooks for the event manager. There
                     47: is no event loop internal to the core part. Instead the application must
                     48: provide the event loop in order to use either pseudo threads or real threads.
                     49: If the application only uses blocking sockets without threads then it is
                     50: not required to register any event loop at all. We provide a default
                     51: implementation of an event loop which you can either take or get some ideas
                     52: from.
                     53: <PRE>#include "<A HREF="HTEvntrg.html">HTEvntrg.h</A>"
                     54: </PRE>
                     55: <H2>
2.14      frystyk    56:   Managing the Home Anchor
2.12      eric       57: </H2>
                     58: <P>
                     59: This module provides some "make life easier" functions in order to get the
                     60: application going. They help you generate the first anchor, also called the
                     61: <EM>home anchor</EM>. It also contains a nice set of default WWW addresses.
2.2       frystyk    62: <PRE>
                     63: #include "<A HREF="HTHome.html">HTHome.h</A>"
2.1       frystyk    64: </PRE>
2.12      eric       65: <H2>
                     66:   User Dialogs and Messages
                     67: </H2>
                     68: <P>
                     69: You can register a set of callback functions to handle user prompting, error
                     70: messages, confimations etc. Here we give a set of functions that can be used
                     71: on almost anu thinkable platform. If you want to provide your own platform
                     72: dependent implementation then fine :-)
2.8       frystyk    73: <PRE>
                     74: #include "<A HREF="HTDialog.html">HTDialog.h</A>"
                     75: </PRE>
2.12      eric       76: <H2>
2.14      frystyk    77:   Load, Upload, and Search URLs
                     78: </H2>
                     79: <P>
                     80: Even though you may use the API for the HTRequest object directly in order
                     81: to issue a request, you will probably find that in real life it is easier
                     82: to use a higher level abstraction API. This API is provided by the
                     83: <A HREF="HTAccess.html">HTAccess module</A> where you will find all kind
                     84: of functions for down loading a URL etc.
                     85: <PRE>
                     86: #include "<A HREF="HTAccess.html">HTAccess.h</A>"
                     87: </PRE>
                     88: <H2>
2.12      eric       89:   After Terminating a Request
                     90: </H2>
                     91: <P>
                     92: When a request is terminated, the application often has to do some action
                     93: as a result of the request (and of the result of the request). The Application
                     94: part of the Library provides two following modules to handle <EM>logging</EM>
                     95: and <EM>history management</EM>. You can register a <EM>POST request
                     96: handler</EM> in the <A HREF="HTNet.html">Net Manager</A> as described in
                     97: the <A HREF="../User/Using/Overview.html">User's Guide</A>.
                     98: <P>
                     99: You can find a function called <CODE>HTLoadTerminate</CODE> in the
                    100: <A HREF="HTHome.html">HTHome module</A> that enables all the functionality
2.4       frystyk   101: for handling a request result.
2.12      eric      102: <H3>
                    103:   Logging
                    104: </H3>
                    105: <P>
                    106: Often it is required to log the requests issued to the Library. This can
                    107: either be the case if the application is a server or it can also be useful
                    108: in a client application. This module provides a simple logging mechanism
                    109: which can be enabled if needed.
2.1       frystyk   110: <PRE>
2.2       frystyk   111: #include "<A HREF="HTLog.html">HTLog.h</A>"
2.1       frystyk   112: </PRE>
2.12      eric      113: <H3>
                    114:   History Management
                    115: </H3>
                    116: <P>
                    117: Another type of logging is keeping track of which documents a user has visited
                    118: when browsing along on the Web. The Library history manager provides a basic
                    119: set of functionality to keep track of a linear history list.
2.1       frystyk   120: <PRE>
2.2       frystyk   121: #include "<A HREF="HTHist.html">HTHist.h</A>"
2.1       frystyk   122: </PRE>
2.12      eric      123: <P>
2.1       frystyk   124: End of application specific modules
                    125: <PRE>
                    126: #ifdef __cplusplus
                    127: } /* end extern C definitions */
                    128: #endif
                    129: 
                    130: #endif
                    131: </PRE>
2.12      eric      132: <P>
                    133:   <HR>
2.10      frystyk   134: <ADDRESS>
2.15    ! frystyk   135:   @(#) $Id: WWWApp.html,v 2.14 1996/06/28 16:31:32 frystyk Exp $
2.10      frystyk   136: </ADDRESS>
2.12      eric      137: </BODY></HTML>

Webmaster