diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-10-25 15:50:08 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-10-25 15:50:08 +0200 |
commit | b58831e5eec4d0595099b8e9c2979b157fe37041 (patch) | |
tree | f646c491f607ba8f959e02fae69d455ecce5e232 /src/Common/ConfigManager.cpp | |
parent | 63ce9414183fb094a4bc172750d46810c332e786 (diff) | |
download | mad-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.cpp | 20 |
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; +} + } } |