#ifndef ConfigFile_h__ #define ConfigFile_h__ #include #include #include #include "ResourceManager.h" namespace dd { class ConfigFile : public Resource { friend class ResourceManager; private: ConfigFile(std::string path); public: template T GetValue(std::string key, T defaultValue); template void SetValue(std::string key, T value); void SaveToDisk(); private: std::string m_Path; boost::property_tree::ptree m_Ptree; }; template T ConfigFile::GetValue(std::string key, T defaultValue) { return m_Ptree.get(key, defaultValue); } template void ConfigFile::SetValue(std::string key, T value) { m_Ptree.put(key, value); } }; #endif // ConfigFile_h__