diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-07-08 04:54:10 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-07-08 04:54:10 +0200 |
commit | e000cdf9d31433c4e90a8b59415de5ac8377005d (patch) | |
tree | 7cf035fec531837c2ca6fc27c2accdee8e346fe7 /src/Core/ConfigManager.cpp | |
parent | 30f0cb9154306938250bd77ce2f0a9471065732a (diff) | |
download | mad-e000cdf9d31433c4e90a8b59415de5ac8377005d.tar mad-e000cdf9d31433c4e90a8b59415de5ac8377005d.zip |
Verschachtelte Konfigurationen (D?mon-Liste)
Diffstat (limited to 'src/Core/ConfigManager.cpp')
-rw-r--r-- | src/Core/ConfigManager.cpp | 50 |
1 files changed, 35 insertions, 15 deletions
diff --git a/src/Core/ConfigManager.cpp b/src/Core/ConfigManager.cpp index b358671..e1e5021 100644 --- a/src/Core/ConfigManager.cpp +++ b/src/Core/ConfigManager.cpp @@ -25,28 +25,48 @@ namespace Mad { namespace Core { -bool ConfigManager::parseLine(const std::string &key, const std::string &value) { - if(Common::Util::tolower(key) == "configmethod") { - if(Common::Util::tolower(value) == "mysql") - methods |= (unsigned short)MYSQL; - else - return false; - } - else if(Common::Util::tolower(key) == "listen") { - try { - listeners.push_back(Net::IPAddress(value)); +bool ConfigManager::parseLine(const std::vector<std::string> §ion, const std::string &key, const std::string &value) { + if(section.empty()) { + if(Common::Util::tolower(key) == "configmethod") { + if(Common::Util::tolower(value) == "mysql") + methods |= (unsigned short)MYSQL; + else + return false; + } + else if(Common::Util::tolower(key) == "daemon") { + daemons.push_back(DaemonInfo(value)); } - catch(Net::InvalidAddressException &e) { + else if(Common::Util::tolower(key) == "listen") { + try { + listeners.push_back(Net::IPAddress(value)); + } + catch(Net::InvalidAddressException &e) { + // TODO Logging + } + } + else { // TODO Logging + + return false; } + + return true; } - else { - // TODO Logging + else if(section.size() == 1 && Common::Util::tolower(section[0]) == "daemon") { + if(Common::Util::tolower(key) == "ip") + daemons.back().setIP(value); + else { + // TODO Logging + + return false; + } - return false; + return true; } - return true; + // TODO Logging + + return false; } ConfigManager::ConfigManager() { |