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

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

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

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 in source 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.