/* * ConfigManager.cpp * * Copyright (C) 2008 Matthias Schiffer * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include "ConfigManager.h" #include namespace Mad { namespace Core { bool ConfigManager::parseLine(const std::vector §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)); } else if(Common::Util::tolower(key) == "listen") { try { listeners.push_back(Net::IPAddress(value)); } catch(Net::InvalidAddressException &e) { // TODO Logging } } else if(Common::Util::tolower(key) == "x509trustfile") { x509TrustFile = value; } else if(Common::Util::tolower(key) == "x509crlfile") { x509CrlFile = value; } else if(Common::Util::tolower(key) == "x509certfile") { x509CertFile = value; } else if(Common::Util::tolower(key) == "x509keyfile") { x509KeyFile = value; } else { // TODO Logging return false; } return true; } 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 true; } // TODO Logging return false; } ConfigManager::ConfigManager() { loadFile("mad-core.conf"); } } }