diff options
Diffstat (limited to 'src/common/profile.h')
-rw-r--r-- | src/common/profile.h | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/src/common/profile.h b/src/common/profile.h index ae67e52..0886522 100644 --- a/src/common/profile.h +++ b/src/common/profile.h @@ -19,31 +19,96 @@ #pragma once #include <cstdlib> +#include <vector> +#include <utility> #include <lib/simpleini/SimpleIni.h> #include <common/singleton.h> +/** + * @file common/profile.h + * @brief Class for loading profile (currently for loading ini config file) + */ + +/** +* @class CProfile +* +* @brief Class for loading profile (currently for loading ini config file) +* +*/ class CProfile : public CSingleton<CProfile> { public: CProfile(); ~CProfile(); + /** Loads colobot.ini from current directory + * @return return true on success + */ bool InitCurrentDirectory(); + + /** Sets string value in section under specified key + * @param std::string section + * @param std::string key + * @param std::string value + * @return return true on success + */ bool SetLocalProfileString(std::string section, std::string key, std::string value); + + /** Gets string value in section under specified key + * @param std::string section + * @param std::string key + * @param std::string& buffer + * @return return true on success + */ bool GetLocalProfileString(std::string section, std::string key, std::string& buffer); + /** Sets int value in section under specified key + * @param std::string section + * @param std::string key + * @param int value + * @return return true on success + */ bool SetLocalProfileInt(std::string section, std::string key, int value); + + /** Gets int value in section under specified key + * @param std::string section + * @param std::string key + * @param int& value + * @return return true on success + */ bool GetLocalProfileInt(std::string section, std::string key, int &value); + /** Sets float value in section under specified key + * @param std::string section + * @param std::string key + * @param float value + * @return return true on success + */ bool SetLocalProfileFloat(std::string section, std::string key, float value); + + /** Gets float value in section under specified key + * @param std::string section + * @param std::string key + * @param float& value + * @return return true on success + */ bool GetLocalProfileFloat(std::string section, std::string key, float &value); - static CProfile& GetInstance(); - static CProfile* GetInstancePointer(); + /** Gets all values in section under specified key + * @param std::string section + * @param std::string key + * @return vector of values + */ + std::vector< std::string > GetLocalProfileSection(std::string section, std::string key); private: CSimpleIniA *m_ini; }; + +//! Global function to get profile instance +inline CProfile* GetProfile() { + return CProfile::GetInstancePointer(); +} |