Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Core/ConfigManager.hpp"
- #include <iostream>
- #include <algorithm>
- #include <sstream>
- int ConfigManager::GetInt(std::string key) const
- {
- std::stringstream ss;
- std::stringstream keyStream;
- int val = -1;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::const_iterator iter = m_properties.begin();
- keyStream << key << ".INT";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- ss << iter->second;
- ss >> val;
- return val;
- }
- }
- std::cerr << "Key not found!!!";
- return val;
- }
- void ConfigManager::SetInt(std::string key, int val)
- {
- std::stringstream ss;
- std::stringstream keyStream;
- ss << val;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::iterator iter = m_properties.begin();
- keyStream << key << ".INT";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- iter->second = ss.str();
- return;
- }
- }
- m_properties.insert(std::pair<std::string, std::string>(keyStream.str(), ss.str()));
- }
- bool ConfigManager::GetBool(std::string key) const
- {
- std::stringstream ss;
- std::stringstream keyStream;
- int val = false;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::const_iterator iter = m_properties.begin();
- keyStream << key << ".BOOL";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- ss << iter->second;
- ss >> val;
- return val != 0;
- }
- }
- return false;
- }
- void ConfigManager::SetBool(std::string key, bool val)
- {
- std::stringstream ss;
- std::stringstream keyStream;
- ss << val;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::iterator iter = m_properties.begin();
- keyStream << key << ".BOOL";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- iter->second = ss.str();
- return;
- }
- }
- m_properties.insert(std::pair<std::string, std::string>(keyStream.str(), ss.str()));
- }
- float ConfigManager::GetFloat(std::string key) const
- {
- std::stringstream ss;
- std::stringstream keyStream;
- float val;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::const_iterator iter = m_properties.begin();
- keyStream << key << ".FLOAT";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- ss << iter->second;
- ss >> val;
- return val;
- }
- }
- return -1.f;
- }
- void ConfigManager::SetFloat(std::string key, float val)
- {
- std::stringstream ss;
- std::stringstream keyStream;
- ss << val;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::iterator iter = m_properties.begin();
- keyStream << key << ".FLOAT";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- iter->second = ss.str();
- return;
- }
- }
- m_properties.insert(std::pair<std::string, std::string>(keyStream.str(), ss.str()));
- }
- std::string ConfigManager::GetString(std::string key) const
- {
- std::stringstream keyStream;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::const_iterator iter = m_properties.begin();
- keyStream << key << ".STRING";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- return iter->second;
- }
- return std::string("");
- }
- void ConfigManager::SetString(std::string key, std::string val)
- {
- std::stringstream keyStream;
- std::transform(key.begin(), key.end(), key.begin(), ::toupper);
- std::map<std::string, std::string>::iterator iter = m_properties.begin();
- keyStream << key << ".STRING";
- for (; iter != m_properties.end(); ++iter)
- {
- if (iter->first == keyStream.str())
- {
- iter->second = val;
- return;
- }
- }
- m_properties.insert(std::pair<std::string, std::string>(keyStream.str(), val));
- }
Add Comment
Please, Sign In to add comment