00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef __GAME_RUNNER_STRUCTS_H_
00024 #define __GAME_RUNNER_STRUCTS_H_
00025 
00026 #include "global.h"
00027 #include "serverstructs.h"
00028 #include <QDir>
00029 #include <QFileInfo>
00030 #include <QString>
00031 #include <QStringList>
00032 
00041 struct MAIN_EXPORT HostInfo
00042 {
00043         QString                 executablePath; 
00044         QString                 demoPath; 
00045         QString                 iwadPath;
00046         QStringList     pwadsPaths;
00047         QStringList     customParameters;
00048         DMFlags                 dmFlags;
00049 
00054         QList<GameCVar> cvars;
00055 
00056         ~HostInfo()
00057         {
00058                 foreach(DMFlagsSection* sec, dmFlags)
00059                         delete sec;
00060         }
00061 };
00062 
00070 struct JoinError
00071 {
00072         enum JoinErrorType
00073         {
00074                 NoError = 0,
00075                 MissingWads = 1,
00076                 Critical = 2,
00077 
00078                 Terminate = 3, 
00079         };
00080 
00081         JoinErrorType           type;
00082         QString                         error;
00083 
00087         QString                         missingIwad;
00088 
00092         QStringList             missingWads;
00093 
00094         bool                            isMissingIwadOnly() const
00095         {
00096                 return type == MissingWads
00097                         && !missingIwad.isEmpty() 
00098                         && missingWads.isEmpty();
00099         }
00100 };
00101 
00102 #endif