source: AE/Installer/trunk/source/globals.h@ 545

Last change on this file since 545 was 506, checked in by iritscen, 15 years ago

1/4: fixed superfluous BSL2.log
2/4: fixed slightly dubious package updating code
3/4: Mac AEI now trashes old pkgs instead of deleting them, after a pkg update
4/4: added AEI version check to update code so pkgs requiring newer AEI are skipped

File size: 2.9 KB
Line 
1/***************************************************************************\
2| Project: AE Installer |
3| By: Gumby & Iritscen |
4| File: Globals.h |
5| Function: Contains most of the includes needed by the source, and some |
6| defines, structs, and prototypes that help bridge certain |
7| source files that need to talk to each other. |
8| Created: 04/11/2009 21:05:00 |
9\***************************************************************************/
10
11
12//#pragma mark INCLUDES
13#include <fstream>
14#include <string>
15#include <stdio.h>
16#include <iostream>
17#include <cctype>
18#include <vector>
19#include <errno.h>
20#include <sstream>
21#ifdef WIN32
22#include <windows.h>
23#else // assume we're on Mac
24#include <stdlib.h>
25#include <dirent.h>
26#endif
27#include "wx/wxprec.h"
28#ifdef __BORLANDC__
29#pragma hdrstop
30#endif
31#ifndef WX_PRECOMP
32#include "wx/wx.h"
33#endif
34#include "boost/thread.hpp"
35#include "boost/tokenizer.hpp"
36#include "boost/lexical_cast.hpp" // int -> string
37#include "boost/algorithm/string.hpp"
38#include "boost/filesystem.hpp" // includes all needed Boost.Filesystem declarations
39using namespace boost::filesystem;
40using namespace std;
41
42//#pragma mark DEFINES
43#define INSTALLER_VERSION "1.1" // only place we need to change this
44#define UPDATE_LOG_READ_ERR -1
45#define UPDATE_INST_REPL_ERR -2
46#define UPDATE_MNTH_REQD_ERR -3
47#define UPDATE_NO_UPD_AVAIL 0
48#define UPDATE_SIMP_AVAIL 1
49#define UPDATE_GLOB_AVAIL 2
50#define UPDATE_INST_AVAIL 3
51#define UPDATE_CONT_UPD 4
52#define UPDATE_PKG_AVAIL 5
53//#pragma mark STRUCTS
54struct ModPackage
55{
56 bool isInstalled; // replace with function
57 string installerVersion;
58 string name;
59 string modStringName;
60 float modStringVersion;
61 string platform;
62 bool hasOnis;
63 bool hasDeltas;
64 bool hasBSL;
65 bool hasAddon;
66 bool hasDats;
67 string category;
68 string creator;
69 bool isEngine;
70 string readme;
71 bool globalNeeded;
72 ModPackage();
73
74 bool operator < (const ModPackage &fs) const
75 { return (name < fs.name);}
76
77 bool operator > (const ModPackage &fs) const
78 { return (name > fs.name);}
79
80 bool operator == (const ModPackage &fs) const
81 { return (name == fs.name);}
82};
83
84struct Install_info_cfg
85{
86 string AEVersion, InstallerVersion, DaodanVersion, OniSplitVersion, WinGUIVersion, MacGUIVersion;
87 bool patch, globalizationRequired;
88 vector<string> deleteList;
89
90 Install_info_cfg();
91};
92
93
94//#pragma mark PROTOTYPES
95void recompileAll(vector<string>);
96int globalizeData(void);
97bool CheckForGlobalization(bool);
98int GetUpdateStatus(Install_info_cfg *, Install_info_cfg *, bool *);
99bool ProcessInstallerUpdate(Install_info_cfg *, Install_info_cfg *);
100bool ProcessAEUpdate(Install_info_cfg *, Install_info_cfg *, bool *);
101void ProcessPackageUpdates(string, string);
102void callRefreshMods(void);
103string escapePath(string input);
104void setStatusArea(string);
105void setProgressBar(int);
106void copy_directory(const path &from_dir_ph, const path &to_dir_ph);
107void copy(const path &from_file_ph, const path &to_file_ph);
Note: See TracBrowser for help on using the repository browser.