annotate netinstall/netio.cc @ 1346:01c57eb70ae9

[xemacs-hg @ 2003-03-09 02:27:27 by ben] To: xemacs-patches@xemacs.org i.c: Sleep between calls to check for I/O, since these calls are non-blocking. behavior.el: Allow other keywords for forward compatibility. cl-macs.el: Rewrite to eliminate byte-compiler warning when `return' is used without `finally'. cmdloop.el: Avoid truncated error messages for `end-of-file' and the like. cmdloop.el: Avoid char-int error after syncing. files.el: Eliminate byte-compile warnings. printer.el: Fix line-width calculations. #### This used to work. Someone's changes (perhaps by Michael Sperber?) seem to have messed something up. simple.el: Use new clear-left-side functions to avoid messages ending up on the same line as other output. xemacs.mak: Add override for info/ as well when separate source/build dirs. xemacs.mak: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. Makefile.in.in: Order sections in main build process and add comments. Add additional dependencies to try and prevent later steps from happening when failures in earlier steps have occurred. alloc.c: Don't arbitrarily clear Vconfigure_info_directory since it messes up separate build/source dirs. console.c, console.h, device-msw.c, device.c: Add accidentally omitted msprinter console and data descriptions. print.c, console-msw.c: Add clear-left-side functionality to help keep stdio/stderr output from separate sources on separate lines. Generalize the different kinds of debugging output. Add dpa(). profile.c: Add better docs on Unix/Windows differences. regex.c: Fix problems with rel-alloc compilation caused by previous patch. emacs.c: Seg fault rather than abort on Cygwin, since gdb doesn't trap aborts properly. console-gtk-impl.h, console-gtk.h, console-msw.h, console-x-impl.h, console-x.h, dialog-gtk.c, dialog-x.c, event-msw.c, frame-gtk.c, frame-x.c, frameslots.h, glyphs-gtk.c, glyphs-x.c, gui-gtk.c, gui-x.c, inline.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, scrollbar-gtk.c, scrollbar-x.c, ui-gtk.c: Delete popup-data object. Delete menubar_data field from frames, since its usage is frame-specific. Delete menubar-msw.h, gui-x.h, gui-gtk.h. Clean up handling of lwlib callback data GCPRO'ing and add missing GCPRO recomputation in widget code.
author ben
date Sun, 09 Mar 2003 02:27:46 +0000
parents 3078fd1074e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
1 /*
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
2 * Copyright (c) 2000, Red Hat, Inc.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
3 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
4 * This program is free software; you can redistribute it and/or modify
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
7 * (at your option) any later version.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
8 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
9 * A copy of the GNU General Public License can be found at
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
10 * http://www.gnu.org/
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
11 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
12 * Written by DJ Delorie <dj@cygnus.com>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
13 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
14 */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
15
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
16 /* The purpose of this file is to coordinate the various access
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
17 methods known to setup. To add a new method, create a pair of
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
18 nio-*.[ch] files and add the logic to NetIO::open here */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
19
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
20 #include "win32.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
21 #include <stdio.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
22 #include <stdlib.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
23 #include <string.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
24
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
25 #include "resource.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
26 #include "state.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
27 #include "msg.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
28 #include "netio.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
29 #include "nio-file.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
30 #include "nio-ie5.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
31 #include "nio-http.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
32 #include "nio-ftp.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
33 #include "dialog.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
34 #include "log.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
35
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
36 #include "port.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
37
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
38 NetIO::NetIO (char *Purl)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
39 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
40 set_url (Purl);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
41 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
42
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
43 NetIO::~NetIO ()
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
44 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
45 if (url)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
46 free (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
47 if (proto)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
48 free (proto);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
49 if (host)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
50 free (host);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
51 if (path)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
52 free (path);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
53 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
54
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
55 void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
56 NetIO::set_url (char *Purl)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
57 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
58 char *bp, *ep, c;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
59
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
60 file_size = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
61 url = _strdup (Purl);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
62 proto = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
63 host = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
64 port = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
65 path = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
66
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
67 bp = url;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
68 ep = strstr (bp, "://");
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
69 if (!ep)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
70 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
71 path = url;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
72 return;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
73 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
74
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
75 *ep = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
76 proto = _strdup (bp);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
77 *ep = ':';
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
78 bp = ep+3;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
79
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
80 ep = bp + strcspn (bp, ":/");
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
81 c = *ep;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
82 *ep = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
83 host = _strdup (bp);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
84 *ep = c;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
85
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
86 if (*ep == ':')
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
87 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
88 port = atoi (ep+1);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
89 ep = strchr (ep, '/');
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
90 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
91
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
92 if (*ep)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
93 path = _strdup (ep);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
94 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
95
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
96 int
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
97 NetIO::ok ()
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
98 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
99 return 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
100 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
101
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
102 int
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
103 NetIO::read (char *buf, int nbytes)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
104 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
105 return 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
106 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
107
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
108 NetIO *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
109 NetIO::open (char *url)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
110 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
111 NetIO *rv = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
112 enum {http, ftp, file} proto;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
113 if (strncmp (url, "http://", 7) == 0)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
114 proto = http;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
115 else if (strncmp (url, "ftp://", 6) == 0)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
116 proto = ftp;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
117 else
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
118 proto = file;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
119
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
120 if (proto == file)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
121 rv = new NetIO_File (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
122 else if (net_method == IDC_NET_IE5)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
123 rv = new NetIO_IE5 (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
124 else if (net_method == IDC_NET_PROXY)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
125 rv = new NetIO_HTTP (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
126 else if (net_method == IDC_NET_DIRECT)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
127 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
128 switch (proto)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
129 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
130 case http:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
131 rv = new NetIO_HTTP (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
132 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
133 case ftp:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
134 rv = new NetIO_FTP (url);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
135 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
136 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
137 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
138
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
139 if (!rv->ok ())
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
140 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
141 delete rv;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
142 return 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
143 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
144
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
145 return rv;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
146 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
147
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
148
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
149 static char **user, **passwd;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
150 static int loading = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
151
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
152 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
153 check_if_enable_ok (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
154 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
155 int e = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
156 if (*user && *passwd)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
157 e = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
158 EnableWindow (GetDlgItem (h, IDOK), e);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
159 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
160
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
161 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
162 load_dialog (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
163 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
164 loading = 1;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
165 eset (h, IDC_NET_USER, *user);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
166 eset (h, IDC_NET_PASSWD, *passwd);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
167 check_if_enable_ok (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
168 loading = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
169 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
170
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
171 static void
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
172 save_dialog (HWND h)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
173 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
174 *user = eget (h, IDC_NET_USER, *user);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
175 *passwd = eget (h, IDC_NET_PASSWD, *passwd);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
176 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
177
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
178 static BOOL
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
179 auth_cmd (HWND h, int id, HWND hwndctl, UINT code)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
180 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
181 switch (id)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
182 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
183
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
184 case IDC_NET_USER:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
185 case IDC_NET_PASSWD:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
186 if (code == EN_CHANGE && !loading)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
187 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
188 save_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
189 check_if_enable_ok (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
190 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
191 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
192
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
193 case IDOK:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
194 save_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
195 EndDialog (h, 0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
196 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
197
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
198 case IDCANCEL:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
199 EndDialog (h, 1);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
200 exit_setup (1);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
201 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
202 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
203 return FALSE;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
204 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
205
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
206 static BOOL CALLBACK
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
207 auth_proc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
208 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
209 switch (message)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
210 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
211 case WM_INITDIALOG:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
212 load_dialog (h);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
213 return FALSE;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
214 case WM_COMMAND:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
215 return HANDLE_WM_COMMAND (h, wParam, lParam, auth_cmd);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
216 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
217 return FALSE;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
218 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
219
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
220 static int
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
221 auth_common (HINSTANCE h, int id)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
222 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
223 return DialogBox (h, MAKEINTRESOURCE (id), 0, auth_proc);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
224 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
225
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
226 int
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
227 NetIO::get_auth ()
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
228 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
229 user = &net_user;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
230 passwd = &net_passwd;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
231 return auth_common (hinstance, IDD_NET_AUTH);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
232 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
233
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
234 int
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
235 NetIO::get_proxy_auth ()
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
236 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
237 user = &net_proxy_user;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
238 passwd = &net_proxy_passwd;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
239 return auth_common (hinstance, IDD_PROXY_AUTH);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
240 }