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

Last change on this file since 847 was 565, checked in by iritscen, 15 years ago

Fixing (hopefully) update bug stemming from extra return characters (\r) messing up string comparisons.
Converting #defined installer version global to static string just to be safe (what was I thinking?).

File size: 2.9 KB
RevLine 
[487]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
[504]12//#pragma mark INCLUDES
[487]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
[504]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;
[487]41
42#define UPDATE_LOG_READ_ERR -1
43#define UPDATE_INST_REPL_ERR -2
44#define UPDATE_MNTH_REQD_ERR -3
45#define UPDATE_NO_UPD_AVAIL 0
46#define UPDATE_SIMP_AVAIL 1
47#define UPDATE_GLOB_AVAIL 2
48#define UPDATE_INST_AVAIL 3
49#define UPDATE_CONT_UPD 4
[506]50#define UPDATE_PKG_AVAIL 5
[565]51
[487]52struct ModPackage
53{
54 bool isInstalled; // replace with function
[500]55 string installerVersion;
[487]56 string name;
57 string modStringName;
[504]58 float modStringVersion;
[502]59 string platform;
[487]60 bool hasOnis;
61 bool hasDeltas;
62 bool hasBSL;
63 bool hasAddon;
64 bool hasDats;
65 string category;
66 string creator;
67 bool isEngine;
68 string readme;
69 bool globalNeeded;
70 ModPackage();
71
72 bool operator < (const ModPackage &fs) const
73 { return (name < fs.name);}
74
75 bool operator > (const ModPackage &fs) const
76 { return (name > fs.name);}
77
78 bool operator == (const ModPackage &fs) const
79 { return (name == fs.name);}
80};
81
82struct Install_info_cfg
83{
84 string AEVersion, InstallerVersion, DaodanVersion, OniSplitVersion, WinGUIVersion, MacGUIVersion;
85 bool patch, globalizationRequired;
86 vector<string> deleteList;
87
88 Install_info_cfg();
89};
90
91void recompileAll(vector<string>);
92int globalizeData(void);
93bool CheckForGlobalization(bool);
94int GetUpdateStatus(Install_info_cfg *, Install_info_cfg *, bool *);
95bool ProcessInstallerUpdate(Install_info_cfg *, Install_info_cfg *);
96bool ProcessAEUpdate(Install_info_cfg *, Install_info_cfg *, bool *);
[506]97void ProcessPackageUpdates(string, string);
[487]98void callRefreshMods(void);
99string escapePath(string input);
100void setStatusArea(string);
101void setProgressBar(int);
102void copy_directory(const path &from_dir_ph, const path &to_dir_ph);
103void copy(const path &from_file_ph, const path &to_file_ph);
[565]104
105static string gInstallerVersion = "1.11"; // only place in source we need to change this
Note: See TracBrowser for help on using the repository browser.