2 * $Logfile: /Freespace2/code/Inetfile/inetgetfile.h $
7 * InternetGetFile Class header
10 * Revision 1.1 2002/05/03 03:28:12 root
14 * 2 4/20/99 6:39p Dave
15 * Almost done with artillery targeting. Added support for downloading
16 * images on the PXO screen.
18 * 1 4/20/99 4:37p Dave
24 #ifndef _INET_GETFILE_HEADER_
25 #define _INET_GETFILE_HEADER_
27 //At the end of this file is an example of usage
32 #define INET_ERROR_NO_ERROR 0
33 #define INET_ERROR_BADPARMS 1
34 #define INET_ERROR_CANT_WRITE_FILE 2
35 #define INET_ERROR_CANT_PARSE_URL 3
36 #define INET_ERROR_BAD_FILE_OR_DIR 4
37 #define INET_ERROR_HOST_NOT_FOUND 5
38 #define INET_ERROR_UNKNOWN_ERROR 6
39 #define INET_ERROR_NO_MEMORY 7
44 InetGetFile(char *URL,char *localfile);
46 BOOL IsFileReceived();
74 #include "inetgetfile.h"
76 int main(int argc,char **argv)
78 unsigned int LastPrintbytes = time(NULL);
79 InetGetFile *inetfile;
81 WORD ver=MAKEWORD(1,1);
83 int error=WSAStartup(ver,&ws_data);
84 inetfile = new InetGetFile("http://www.volition-inc.com/images/download/freespace/fsdemo1x-12u.exe","e:\\fsdemo1x-12u.exe");
87 if(inetfile->IsFileReceived())
89 printf("File received\n");
92 if(inetfile->IsFileError())
94 printf("File not received. Error code: %d\n",inetfile->GetErrorCode());
97 if(time(NULL)-LastPrintbytes>=1)
100 if(inetfile->GetTotalBytes())
102 ipct = 100*(float)((float)inetfile->GetBytesIn()/(float)inetfile->GetTotalBytes());
104 printf("Received %d Bytes out of %d (%d%%).\n",inetfile->GetBytesIn(),inetfile->GetTotalBytes(),ipct);
105 LastPrintbytes = time(NULL);