1 | /***************************************************************************\
|
---|
2 | | Project: AE Installer |
|
---|
3 | | By: Gumby & Iritscen |
|
---|
4 | | File: Installer.h |
|
---|
5 | | Function: Contains the real meat of the installation process. |
|
---|
6 | | Created: 24/05/2009 19:39:00 |
|
---|
7 | \***************************************************************************/
|
---|
8 |
|
---|
9 | #ifndef DOUBLE_HEADER
|
---|
10 | #define DOUBLE_HEADER
|
---|
11 |
|
---|
12 | #include <string>
|
---|
13 | #include <vector>
|
---|
14 | #include <iostream>
|
---|
15 | #include "globals.h"
|
---|
16 | #ifdef WIN32
|
---|
17 | #ifndef __GUICON_H__
|
---|
18 | #define __GUICON_H__
|
---|
19 | #endif
|
---|
20 | #include <fstream>
|
---|
21 | #include <windows.h>
|
---|
22 | #include <stdio.h>
|
---|
23 | #include <fcntl.h>
|
---|
24 | #include <io.h>
|
---|
25 |
|
---|
26 | void RedirectIOToConsole();
|
---|
27 | // maximum mumber of lines the output console should have
|
---|
28 | static const WORD MAX_CONSOLE_LINES = 500;
|
---|
29 | #endif
|
---|
30 |
|
---|
31 |
|
---|
32 | #pragma mark GLOBALS
|
---|
33 | static string SLASHSLASH = "//";
|
---|
34 | static string DIRSLASH = "\\";
|
---|
35 | extern bool busy;
|
---|
36 | extern string strInstallCfg;// = "../GameDataFolder/Add.cfg";
|
---|
37 | extern Install_info_cfg currentAE, updateAE;
|
---|
38 | extern bool splitInstances;
|
---|
39 | extern string strImportOption;
|
---|
40 | extern string strOniSplit;
|
---|
41 | extern vector<ModPackage> globalPackages;
|
---|
42 | extern string strEUFN; // I don't mind long variable names, but even I think strEditionUpdateFolderName is a bit much
|
---|
43 | #ifndef WIN32
|
---|
44 | void Sleep(int ms); // crudely converts the Windows sleep() call, which operates in ms, to the Mac sleep() call that operates in seconds
|
---|
45 | #endif
|
---|
46 |
|
---|
47 |
|
---|
48 | #pragma mark PROTOTYPES
|
---|
49 | int mainMenu(void);
|
---|
50 | vector<string> getInstallString(string = strInstallCfg);
|
---|
51 | int installPackages(void);
|
---|
52 | int uninstallPackages(void);
|
---|
53 | int listInstalledPackages(void);
|
---|
54 | int printInstallerInfo(void);
|
---|
55 | ModPackage fileToModPackage(fstream&);
|
---|
56 | bool StringIsLegalPathForDeletion(string);
|
---|
57 | vector<ModPackage> getPackages(string packageDir = "./packages");
|
---|
58 | void MakePathLocalToGlobalize(string*);
|
---|
59 | bool SortBySize(string, string);
|
---|
60 | void tokenize(const string&, vector<string>&, const string& delimiters = " ");
|
---|
61 | void clearOldDats(void);
|
---|
62 | void writeInstalledMods( vector<string> );
|
---|
63 | void copyBSL( string, vector<string>&, ModPackage );
|
---|
64 | bool ReadInstallInfoCfg(fstream *, Install_info_cfg *);
|
---|
65 |
|
---|
66 | /* End of File */
|
---|
67 |
|
---|
68 | //End of File
|
---|
69 |
|
---|
70 | #endif
|
---|