Annotation of libwww/Library/Examples/LoadToFile.c, revision 1.1
1.1 ! frystyk 1:
! 2: #include "WWWLib.h" /* Global Library Include file */
! 3: #include "WWWMIME.h" /* MIME parser/generator */
! 4: #include "WWWNews.h" /* News access module */
! 5: #include "WWWHTTP.h" /* HTTP access module */
! 6: #include "WWWFTP.h"
! 7: #include "WWWFile.h"
! 8: #include "WWWGophe.h"
! 9: #include "WWWInit.h"
! 10:
! 11: #define APP_NAME "GETTOOL"
! 12: #define APP_VERSION "1.0"
! 13: #define DEFAULT_OUTPUT_FILE "get.out"
! 14:
! 15: /*
! 16: ** We get called here from the event loop when we are done
! 17: ** loading. Here we terminate the program as we have nothing
! 18: ** better to do.
! 19: */
! 20: int terminate_handler (HTRequest * request, HTResponse * response,
! 21: void * param, int status)
! 22: {
! 23: /* Delete our request again */
! 24: HTRequest_delete(request);
! 25:
! 26: /* Delete our profile */
! 27: HTProfile_delete();
! 28:
! 29: exit(status ? status : 0);
! 30: }
! 31:
! 32: int main (int argc, char ** argv)
! 33: {
! 34: int status = 0;
! 35: int arg = 0;
! 36: char * outputfile = NULL;
! 37: char * getme = NULL;
! 38: HTRequest * request = NULL;
! 39: HTChunk * chunk = NULL;
! 40:
! 41: /* Initiate W3C Reference Library with a client profile */
! 42: HTProfile_newNoCacheClient(APP_NAME, APP_VERSION);
! 43:
! 44: /* Add our own filter to terminate the application */
! 45: HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL, HT_FILTER_LAST);
! 46:
! 47: /* Turn off any interactions */
! 48: HTAlert_setInteractive(NO);
! 49:
! 50: /* Scan command line for parameters */
! 51: for (arg=1; arg<argc; arg++) {
! 52: if (!strcmp(argv[arg], "-o")) {
! 53: outputfile = (arg+1 < argc && *argv[arg+1] != '-') ?
! 54: argv[++arg] : DEFAULT_OUTPUT_FILE;
! 55:
! 56: } else {
! 57: getme = argv[arg];
! 58: }
! 59: }
! 60:
! 61: /* Make sure we have an output */
! 62: if (!outputfile) outputfile = DEFAULT_OUTPUT_FILE;
! 63:
! 64: if (getme && *getme) {
! 65: request = HTRequest_new();
! 66:
! 67: /* Start the load */
! 68: status = HTLoadToFile(getme, request, outputfile);
! 69:
! 70: /* Go into the event loop... */
! 71: HTEventList_loop(request);
! 72:
! 73: } else {
! 74:
! 75: /* Delete our profile if no load */
! 76: HTProfile_delete();
! 77: }
! 78:
! 79: return 0;
! 80: }
Webmaster