1 ////////////////////////////////////////////////////////////////////////////////
2 //    Scorched3D (c) 2000-2011
3 //
4 //    This file is part of Scorched3D.
5 //
6 //    Scorched3D is free software; you can redistribute it and/or modify
7 //    it under the terms of the GNU General Public License as published by
8 //    the Free Software Foundation; either version 2 of the License, or
9 //    (at your option) any later version.
10 //
11 //    Scorched3D is distributed in the hope that it will be useful,
12 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 //    GNU General Public License for more details.
15 //
16 //    You should have received a copy of the GNU General Public License along
17 //    with this program; if not, write to the Free Software Foundation, Inc.,
18 //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 ////////////////////////////////////////////////////////////////////////////////
20 
21 #if !defined(__INCLUDE_ScorchedServerSettingsh_INCLUDE__)
22 #define __INCLUDE_ScorchedServerSettingsh_INCLUDE__
23 
24 #include <string>
25 
26 class ScorchedServerSettings
27 {
28 public:
ScorchedServerSettings(const std::string & type)29 	ScorchedServerSettings(const std::string &type) :
30 		type_(type)
31 	{
32 	}
~ScorchedServerSettings()33 	virtual ~ScorchedServerSettings()
34 	{
35 	}
36 
type()37 	const std::string &type() { return type_; }
38 
39 private:
40 	std::string type_;
41 };
42 
43 class ScorchedServerSettingsOptions : public ScorchedServerSettings
44 {
45 public:
ScorchedServerSettingsOptions(const std::string & settingsFile,bool rewriteOptions,bool writeFullOptions)46 	ScorchedServerSettingsOptions(const std::string &settingsFile,
47 		bool rewriteOptions, bool writeFullOptions) :
48 		ScorchedServerSettings("FILE"),
49 		settingsFile_(settingsFile),
50 		rewriteOptions_(rewriteOptions),
51 		writeFullOptions_(writeFullOptions)
52 	{
53 	}
~ScorchedServerSettingsOptions()54 	virtual ~ScorchedServerSettingsOptions()
55 	{
56 	}
57 
58 	std::string settingsFile_;
59 	bool rewriteOptions_;
60 	bool writeFullOptions_;
61 };
62 
63 class ScorchedServerSettingsSave : public ScorchedServerSettings
64 {
65 public:
ScorchedServerSettingsSave(const std::string & saveFile)66 	ScorchedServerSettingsSave(const std::string &saveFile) :
67 		ScorchedServerSettings("SAVE"),
68 		saveFile_(saveFile)
69 	{
70 	}
~ScorchedServerSettingsSave()71 	virtual ~ScorchedServerSettingsSave()
72 	{
73 	}
74 
75 	std::string saveFile_;
76 };
77 
78 #endif // __INCLUDE_ScorchedServerSettingsh_INCLUDE__
79