summaryrefslogtreecommitdiffstats
path: root/src/Common/ConfigManager.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-10-25 15:50:08 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-10-25 15:50:08 +0200
commitb58831e5eec4d0595099b8e9c2979b157fe37041 (patch)
treef646c491f607ba8f959e02fae69d455ecce5e232 /src/Common/ConfigManager.cpp
parent63ce9414183fb094a4bc172750d46810c332e786 (diff)
downloadmad-b58831e5eec4d0595099b8e9c2979b157fe37041.tar
mad-b58831e5eec4d0595099b8e9c2979b157fe37041.zip
ConsoleLogger kann jetzt ?ber Konfigurationsdateien aktiviert werden
Diffstat (limited to 'src/Common/ConfigManager.cpp')
-rw-r--r--src/Common/ConfigManager.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/Common/ConfigManager.cpp b/src/Common/ConfigManager.cpp
index c119cf7..6727cc3 100644
--- a/src/Common/ConfigManager.cpp
+++ b/src/Common/ConfigManager.cpp
@@ -52,7 +52,10 @@ void ConfigManager::handleConfigEntry(const ConfigEntry &entry) {
Logger::logf(Logger::WARNING, "Invalid config option '%s'.", entry[entry.getSize()-1].getKey().c_str());
}
-bool ConfigManager::loadFile(const std::string &filename, bool finish) {
+bool ConfigManager::loadFile(const std::string &filename) {
+ if(finished)
+ return false;
+
std::ifstream file(filename.c_str());
ConfigEntry entry;
std::string line, input;
@@ -112,13 +115,18 @@ bool ConfigManager::loadFile(const std::string &filename, bool finish) {
// TODO Depth check
- if(finish) {
- for(std::set<Configurable*>::iterator c = configurables.begin(); c != configurables.end(); ++c)
- (*c)->configFinished();
- }
-
return true;
}
+void ConfigManager::finish() {
+ if(finished)
+ return;
+
+ for(std::set<Configurable*>::iterator c = configurables.begin(); c != configurables.end(); ++c)
+ (*c)->configFinished();
+
+ finished = true;
+}
+
}
}