From b58831e5eec4d0595099b8e9c2979b157fe37041 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 25 Oct 2008 15:50:08 +0200 Subject: ConsoleLogger kann jetzt ?ber Konfigurationsdateien aktiviert werden --- src/Common/ConfigManager.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/Common/ConfigManager.cpp') 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::iterator c = configurables.begin(); c != configurables.end(); ++c) - (*c)->configFinished(); - } - return true; } +void ConfigManager::finish() { + if(finished) + return; + + for(std::set::iterator c = configurables.begin(); c != configurables.end(); ++c) + (*c)->configFinished(); + + finished = true; +} + } } -- cgit v1.2.3