00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00029 #include "Types.h"
00030 class Database;
00031
00041 class Initializer
00042 {
00043 public:
00045 explicit Initializer(Database* db) : m_db(db) {};
00046
00048 ~Initializer() {};
00049
00050
00052 bool VerifyDatabaseVersion();
00053
00055 bool VerifyTables(TableImplVector::const_iterator begin, TableImplVector::const_iterator end);
00056
00057
00059 void InitTables(TableImplVector::const_iterator begin, TableImplVector::const_iterator end);
00060
00062 void InitDatabase();
00063
00065 void InitColours();
00066
00068 void InitCommands();
00069
00070 private:
00072 Initializer(const Initializer& rhs);
00073
00075 Initializer operator=(const Initializer& rhs);
00076
00077 Database* m_db;
00080 struct colour
00081 {
00082 std::string name;
00083 std::string code;
00084 std::string cstr;
00085 };
00086
00088 struct command
00089 {
00090 std::string name;
00091 value_type grantgroup;
00092 int highforce;
00093 int force;
00094 int lowforce;
00095 std::string help;
00096 };
00097 };