]> cygwin.com Git - cygwin-apps/setup.git/blob - netio.h
Use solver to check for problems and produce a list of package transactions
[cygwin-apps/setup.git] / netio.h
1 /*
2 * Copyright (c) 2000, Red Hat, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * A copy of the GNU General Public License can be found at
10 * http://www.gnu.org/
11 *
12 * Written by DJ Delorie <dj@cygnus.com>
13 *
14 */
15
16 #ifndef SETUP_NETIO_H
17 #define SETUP_NETIO_H
18
19 #include "win32.h"
20
21 /* This is the parent class for all the access methods known to setup
22 (i.e. ways to download files from the internet or other sources */
23
24 class NetIO
25 {
26 protected:
27 NetIO (char const *url);
28 void set_url (char const *url);
29 BOOL ftp_auth;
30
31 static char *net_user;
32 static char *net_passwd;
33 static char *net_proxy_user;
34 static char *net_proxy_passwd;
35 static char *net_ftp_user;
36 static char *net_ftp_passwd;
37
38
39 public:
40 /* if nonzero, this is the estimated total file size */
41 int file_size;
42 /* broken down url FYI */
43 char *url;
44 char *proto;
45 char *host;
46 int port;
47 char *path;
48 virtual ~ NetIO ();
49
50 /* The user calls this function to create a suitable accessor for
51 the given URL. It uses the network setup state in state.h. If
52 anything fails, either the return values is NULL or the returned
53 object is !ok() */
54 static NetIO *open (char const *url, bool cachable);
55
56 /* If !ok() that means the transfer isn't happening. */
57 virtual int ok ();
58
59 /* Read `nbytes' bytes from the file. Returns zero when the file
60 is complete. */
61 virtual int read (char *buf, int nbytes);
62
63 static int net_method;
64 static char *net_proxy_host;
65 static int net_proxy_port;
66
67 static const char *net_method_name();
68
69 /* Helper functions for http/ftp protocols. Both return nonzero for
70 "cancel", zero for "ok". They set net_proxy_user, etc, in
71 state.h */
72 int get_auth (HWND owner);
73 int get_proxy_auth (HWND owner);
74 int get_ftp_auth (HWND owner);
75 };
76
77 #endif /* SETUP_NETIO_H */
This page took 0.040809 seconds and 5 git commands to generate.