From 86e5f80837ad55932f2469d79d9e6b6bb07cf5ed Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 28 Sep 2009 19:09:22 +0200 Subject: Implemented new ConfigManager --- .../UserDBBackendMysql/UserDBBackendMysql.cpp | 146 ++++----------------- 1 file changed, 25 insertions(+), 121 deletions(-) (limited to 'src/modules/UserDBBackendMysql/UserDBBackendMysql.cpp') diff --git a/src/modules/UserDBBackendMysql/UserDBBackendMysql.cpp b/src/modules/UserDBBackendMysql/UserDBBackendMysql.cpp index 1d213a8..be5426d 100644 --- a/src/modules/UserDBBackendMysql/UserDBBackendMysql.cpp +++ b/src/modules/UserDBBackendMysql/UserDBBackendMysql.cpp @@ -37,128 +37,32 @@ namespace UserDBBackendMysql { const Core::String UserDBBackendMysql::name("UserDBBackendMysql"); -bool UserDBBackendMysql::handleConfigEntry(const Core::ConfigEntry &entry, bool /*handled*/) { - if(!entry[0].getKey().matches("UserManager")) - return false; +void UserDBBackendMysql::configure() { + host = application->getConfigManager()->get("UserManager.Mysql.Host"); + username = application->getConfigManager()->get("UserManager.Mysql.Username"); + passwd = application->getConfigManager()->get("UserManager.Mysql.Password"); + db = application->getConfigManager()->get("UserManager.Mysql.Database"); + port = std::strtol(application->getConfigManager()->get("UserManager.Mysql.Port").toString().c_str(), 0, 10); + unixSocket = application->getConfigManager()->get("UserManager.Mysql.UnixSocket"); + + queryListUsers = application->getConfigManager()->get("UserManager.Mysql.Queries.ListUsers"); + queryListGroups = application->getConfigManager()->get("UserManager.Mysql.Queries.ListGroups"); + queryListUserGroups = application->getConfigManager()->get("UserManager.Mysql.Queries.ListUserGroups"); + queryListGroupUsers = application->getConfigManager()->get("UserManager.Mysql.Queries.ListGroupUsers"); + queryUserById = application->getConfigManager()->get("UserManager.Mysql.Queries.UserById"); + queryUserByName = application->getConfigManager()->get("UserManager.Mysql.Queries.UserByName"); + queryGroupById = application->getConfigManager()->get("UserManager.Mysql.Queries.GroupById"); + queryGroupByName = application->getConfigManager()->get("UserManager.Mysql.Queries.GroupByName"); + queryUserGroupTable = application->getConfigManager()->get("UserManager.Mysql.Queries.UserGroupTable"); + queryAddUser = application->getConfigManager()->get("UserManager.Mysql.Queries.AddUser"); + queryUpdateUser = application->getConfigManager()->get("UserManager.Mysql.Queries.UpdateUser"); + queryDeleteUser = application->getConfigManager()->get("UserManager.Mysql.Queries.DeleteUser"); + queryAddGroup = application->getConfigManager()->get("UserManager.Mysql.Queries.AddGroup"); + queryUpdateGroup = application->getConfigManager()->get("UserManager.Mysql.Queries.UpdateGroup"); + queryDeleteGroup = application->getConfigManager()->get("UserManager.Mysql.Queries.DeleteGroup"); + queryAddUserToGroup = application->getConfigManager()->get("UserManager.Mysql.Queries.AddUserToGroup"); + queryDeleteUserFromGroup = application->getConfigManager()->get("UserManager.Mysql.Queries.DeleteUserFromGroup"); - if(entry[1].isEmpty()) - return true; - - if(!entry[1].getKey().matches("Mysql")) - return false; - - if(entry[2].getKey().matches("Host")) { - if(entry[3].isEmpty()) - host = entry[2][0]; - } - else if(entry[2].getKey().matches("Username")) { - if(entry[3].isEmpty()) - username = entry[2][0]; - } - else if(entry[2].getKey().matches("Password")) { - if(entry[3].isEmpty()) - passwd = entry[2][0]; - } - else if(entry[2].getKey().matches("Database")) { - if(entry[3].isEmpty()) - db = entry[2][0]; - } - else if(entry[2].getKey().matches("Port")) { - if(entry[3].isEmpty()) { - char *endptr; - long val; - - val = strtol(entry[2][0].toString().c_str(), &endptr, 10); - - if(endptr != 0 || val < 0 || val > 65535) - application->log(Core::Logger::LOG_WARNING, "UserDBBackendMysql: Invalid port"); - else - port = val; - } - } - else if(entry[2].getKey().matches("UnixSocket")) { - if(entry[3].isEmpty()) - unixSocket = entry[2][0]; - } - else if(entry[2].getKey().matches("Queries")) { - if(entry[3].getKey().matches("ListUsers")) { - if(entry[4].isEmpty()) - queryListUsers = entry[3][0]; - } - else if(entry[3].getKey().matches("ListGroups")) { - if(entry[4].isEmpty()) - queryListGroups = entry[3][0]; - } - else if(entry[3].getKey().matches("ListUserGroups")) { - if(entry[4].isEmpty()) - queryListUserGroups = entry[3][0]; - } - else if(entry[3].getKey().matches("ListGroupUsers")) { - if(entry[4].isEmpty()) - queryListGroupUsers = entry[3][0]; - } - else if(entry[3].getKey().matches("UserById")) { - if(entry[4].isEmpty()) - queryUserById = entry[3][0]; - } - else if(entry[3].getKey().matches("UserByName")) { - if(entry[4].isEmpty()) - queryUserByName = entry[3][0]; - } - else if(entry[3].getKey().matches("GroupById")) { - if(entry[4].isEmpty()) - queryGroupById = entry[3][0]; - } - else if(entry[3].getKey().matches("GroupByName")) { - if(entry[4].isEmpty()) - queryGroupByName = entry[3][0]; - } - else if(entry[3].getKey().matches("UserGroupTable")) { - if(entry[4].isEmpty()) - queryUserGroupTable = entry[3][0]; - } - else if(entry[3].getKey().matches("AddUser")) { - if(entry[4].isEmpty()) - queryAddUser = entry[3][0]; - } - else if(entry[3].getKey().matches("UpdateUser")) { - if(entry[4].isEmpty()) - queryUpdateUser = entry[3][0]; - } - else if(entry[3].getKey().matches("DeleteUser")) { - if(entry[4].isEmpty()) - queryDeleteUser = entry[3][0]; - } - else if(entry[3].getKey().matches("AddGroup")) { - if(entry[4].isEmpty()) - queryAddGroup = entry[3][0]; - } - else if(entry[3].getKey().matches("UpdateGroup")) { - if(entry[4].isEmpty()) - queryUpdateGroup = entry[3][0]; - } - else if(entry[3].getKey().matches("DeleteGroup")) { - if(entry[4].isEmpty()) - queryDeleteGroup = entry[3][0]; - } - else if(entry[3].getKey().matches("AddUserToGroup")) { - if(entry[4].isEmpty()) - queryAddUserToGroup = entry[3][0]; - } - else if(entry[3].getKey().matches("DeleteUserFromGroup")) { - if(entry[4].isEmpty()) - queryDeleteUserFromGroup = entry[3][0]; - } - else if(!entry[3].isEmpty()) - return false; - } - else if(!entry[2].isEmpty()) - return false; - - return true; -} - -void UserDBBackendMysql::configFinished() { if(db.isEmpty()) { application->log(Core::Logger::LOG_ERROR, "UserDBBackendMysql: No database name given"); return; -- cgit v1.2.3