Add option to set config values.
This commit is contained in:
		
							parent
							
								
									28238ba041
								
							
						
					
					
						commit
						9a83cf6c08
					
				|  | @ -1,6 +1,6 @@ | ||||||
| cmake_minimum_required(VERSION 3.22) | cmake_minimum_required(VERSION 3.22) | ||||||
| project(scsl LANGUAGES CXX | project(scsl LANGUAGES CXX | ||||||
|         VERSION 1.0.2 |         VERSION 1.0.3 | ||||||
|         DESCRIPTION "Shimmering Clarity Standard Library") |         DESCRIPTION "Shimmering Clarity Standard Library") | ||||||
| 
 | 
 | ||||||
| set(CMAKE_CXX_STANDARD 14) | set(CMAKE_CXX_STANDARD 14) | ||||||
|  |  | ||||||
|  | @ -121,6 +121,10 @@ public: | ||||||
| 	/// \return The value stored under the key, or the default
 | 	/// \return The value stored under the key, or the default
 | ||||||
| 	///         value.
 | 	///         value.
 | ||||||
| 	static std::string	GetGlobal(std::string &key, const std::string &defaultValue); | 	static std::string	GetGlobal(std::string &key, const std::string &defaultValue); | ||||||
|  | 
 | ||||||
|  | 	/// \brief Set a configuration value. This will override any
 | ||||||
|  | 	///        value set.
 | ||||||
|  | 	static void	 	PutGlobal(std::string &key, const std::string &value); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 	/// \brief The constructor doesn't need any initialisation.
 | 	/// \brief The constructor doesn't need any initialisation.
 | ||||||
|  | @ -173,6 +177,15 @@ public: | ||||||
| 	///         value.
 | 	///         value.
 | ||||||
| 	std::string	Get(std::string &key, std::string defaultValue); | 	std::string	Get(std::string &key, std::string defaultValue); | ||||||
| 
 | 
 | ||||||
|  | 	/// \brief Set a configuration value. This will override any
 | ||||||
|  | 	///        value set.
 | ||||||
|  | 	///
 | ||||||
|  | 	/// \param key The key to look up. See the class documentation
 | ||||||
|  | 	///        for information on how this is used.
 | ||||||
|  | 	/// \param value The value to set.
 | ||||||
|  | 	/// \return
 | ||||||
|  | 	void 	Put(std::string &key, const std::string value); | ||||||
|  | 
 | ||||||
| private: | private: | ||||||
| 	std::string 				envPrefix; | 	std::string 				envPrefix; | ||||||
| 	std::map<std::string, std::string>	vars; | 	std::map<std::string, std::string>	vars; | ||||||
|  |  | ||||||
|  | @ -90,6 +90,13 @@ SimpleConfig::GetGlobal(std::string &key, const std::string &defaultValue) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | SimpleConfig::PutGlobal(std::string &key, const std::string &value) | ||||||
|  | { | ||||||
|  | 	return globalConfig.Put(key, value); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| SimpleConfig::SimpleConfig() | SimpleConfig::SimpleConfig() | ||||||
| { | { | ||||||
| } | } | ||||||
|  | @ -173,6 +180,13 @@ SimpleConfig::Get(std::string &key, std::string defaultValue) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | void | ||||||
|  | SimpleConfig::Put(std::string &key, const std::string value) | ||||||
|  | { | ||||||
|  | 	this->vars[key] = std::move(key); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| std::vector<std::string> | std::vector<std::string> | ||||||
| SimpleConfig::KeyList() | SimpleConfig::KeyList() | ||||||
| { | { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue