Mercurial > hg > xemacs-beta
comparison netinstall/main.cc @ 448:3078fd1074e8 r21-2-39
Import from CVS: tag r21-2-39
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:38:25 +0200 |
parents | |
children | ce0b3f2eff35 |
comparison
equal
deleted
inserted
replaced
447:4fc5f13f3bd3 | 448:3078fd1074e8 |
---|---|
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 /* OK, here's how this works. Each of the steps needed for install - | |
17 dialogs, downloads, installs - are in their own files and have some | |
18 "do_*" function (prototype in dialog.h) and a resource id (IDD_* or | |
19 IDD_S_* in resource.h) for that step. Each step is responsible for | |
20 selecting the next step! See the NEXT macro in dialog.h. Note | |
21 that the IDD_S_* ids are fake; those are for steps that don't | |
22 really have a controlling dialog (some have progress dialogs, but | |
23 those don't count, although they could). Replace the IDD_S_* with | |
24 IDD_* if you create a real dialog for those steps. */ | |
25 | |
26 #include "win32.h" | |
27 | |
28 #include <stdio.h> | |
29 #include <stdlib.h> | |
30 #include "resource.h" | |
31 #include "dialog.h" | |
32 #include "state.h" | |
33 #include "msg.h" | |
34 #include "netio.h" | |
35 #include "find.h" | |
36 #include "log.h" | |
37 | |
38 #include "port.h" | |
39 | |
40 void netio_test (char *); | |
41 | |
42 int next_dialog; | |
43 int exit_msg = 0; | |
44 | |
45 HINSTANCE hinstance; | |
46 | |
47 int WINAPI | |
48 WinMain (HINSTANCE h, | |
49 HINSTANCE hPrevInstance, | |
50 LPSTR command_line, | |
51 int cmd_show) | |
52 { | |
53 hinstance = h; | |
54 | |
55 next_dialog = IDD_SPLASH; | |
56 | |
57 log (LOG_TIMESTAMP, "Starting XEmacs install"); | |
58 | |
59 char cwd[_MAX_PATH]; | |
60 GetCurrentDirectory (sizeof (cwd), cwd); | |
61 local_dir = strdup (cwd); | |
62 log (0, "Current Directory: %s", cwd); | |
63 | |
64 while (next_dialog) | |
65 { | |
66 switch (next_dialog) | |
67 { | |
68 case IDD_SPLASH: do_splash (h); break; | |
69 case IDD_SOURCE: do_source (h); break; | |
70 case IDD_LOCAL_DIR: do_local_dir (h); break; | |
71 case IDD_ROOT: do_root (h); break; | |
72 case IDD_NET: do_net (h); break; | |
73 case IDD_SITE: do_site (h); break; | |
74 case IDD_OTHER_URL: do_other (h); break; | |
75 case IDD_S_LOAD_INI: do_ini (h); break; | |
76 case IDD_S_FROM_CWD: do_fromcwd (h); break; | |
77 case IDD_CHOOSE: do_choose (h); break; | |
78 case IDD_S_DOWNLOAD: do_download (h); break; | |
79 case IDD_S_INSTALL: do_install (h); break; | |
80 case IDD_DESKTOP: do_desktop (h); break; | |
81 case IDD_S_POSTINSTALL: do_postinstall (h); break; | |
82 | |
83 default: | |
84 next_dialog = 0; | |
85 break; | |
86 } | |
87 } | |
88 | |
89 exit_setup (0); | |
90 | |
91 return EXIT_SUCCESS; | |
92 } |