Added ability to save to ConfigFile

This commit is contained in:
2015-10-15 14:07:42 +02:00
parent e719a342f2
commit 2ddb1847c5
2 changed files with 31 additions and 9 deletions
+19 -7
View File
@@ -7,7 +7,6 @@
#include "ResourceManager.h" #include "ResourceManager.h"
namespace dd namespace dd
{ {
@@ -20,15 +19,28 @@ private:
public: public:
template <typename T> template <typename T>
T GetValue(std::string key, T defaultValue) T GetValue(std::string key, T defaultValue);
{ template <typename T>
return m_ptree.get<T>(key, defaultValue); void SetValue(std::string key, T value);
}
void SaveToDisk();
private: private:
boost::property_tree::ptree m_ptree; std::string m_Path;
boost::property_tree::ptree m_Ptree;
}; };
template <typename T>
T ConfigFile::GetValue(std::string key, T defaultValue)
{
return m_Ptree.get<T>(key, defaultValue);
}
template <typename T>
void ConfigFile::SetValue(std::string key, T value)
{
m_Ptree.put<T>(key, value);
}
}; };
#endif // ConfigFile_h__ #endif // ConfigFile_h__
+12 -2
View File
@@ -3,5 +3,15 @@
dd::ConfigFile::ConfigFile(std::string path) dd::ConfigFile::ConfigFile(std::string path)
{ {
boost::property_tree::ini_parser::read_ini(path, m_ptree); m_Path = path;
} try {
boost::property_tree::ini_parser::read_ini(path, m_Ptree);
} catch (boost::property_tree::ptree_error& e) {
LOG_ERROR("Failed to load %s", path.c_str());
}
}
void dd::ConfigFile::SaveToDisk()
{
boost::property_tree::ini_parser::write_ini(m_Path, m_Ptree);
}