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

Last change on this file since 555 was 553, checked in by iritscen, 15 years ago

Fixes for incorrect AE version comparison and trashing of files during update.

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
[504]42//#pragma mark DEFINES
[553]43#define INSTALLER_VERSION "1.1" // only place in source we need to change this
[487]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
[506]52#define UPDATE_PKG_AVAIL 5
[504]53//#pragma mark STRUCTS
[487]54struct ModPackage
55{
56 bool isInstalled; // replace with function
[500]57 string installerVersion;
[487]58 string name;
59 string modStringName;
[504]60 float modStringVersion;
[502]61 string platform;
[487]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
[504]94//#pragma mark PROTOTYPES
[487]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 *);
[506]101void ProcessPackageUpdates(string, string);
[487]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.