Manages configuration settings stored in a JSON file.
More...
#include <ConfigManager.hpp>
|
| ConfigManager (const std::string &configFile="config.json") |
| Constructs a ConfigManager object.
|
|
| ~ConfigManager () |
| Destructs the ConfigManager object.
|
|
bool | loadConfig () |
| Loads the configuration from the JSON file.
|
|
std::string | getString (const std::string &key, const std::string &defaultValue="") |
| Retrieves a string value from the configuration.
|
|
int | getInt (const std::string &key, int defaultValue=0) |
| Retrieves an integer value from the configuration.
|
|
bool | getBool (const std::string &key, bool defaultValue=false) |
| Retrieves a boolean value from the configuration.
|
|
std::string | getNestedString (const std::string &path, const std::string &defaultValue="") |
| Retrieves a nested string value from the configuration.
|
|
int | getNestedInt (const std::string &path, int defaultValue=0) |
| Retrieves a nested integer value from the configuration.
|
|
bool | getNestedBool (const std::string &path, bool defaultValue=false) |
| Retrieves a nested boolean value from the configuration.
|
|
bool | saveConfig () |
| Saves the current configuration to the JSON file.
|
|
void | setString (const std::string &key, const std::string &value) |
| Sets a string value in the configuration.
|
|
void | setInt (const std::string &key, int value) |
| Sets an integer value in the configuration.
|
|
void | setBool (const std::string &key, bool value) |
| Sets a boolean value in the configuration.
|
|
|
cJSON * | getNestedItem (const std::string &path) |
| Retrieves a nested JSON item from the configuration.
|
|
void | cleanupJSON () |
| Cleans up the JSON object.
|
|
|
std::string | configFilePath |
| The path to the configuration file.
|
|
cJSON * | root |
| The root JSON object representing the configuration.
|
|
Manages configuration settings stored in a JSON file.
◆ ConfigManager()
ConfigManager::ConfigManager |
( |
const std::string & |
configFile = "config.json" | ) |
|
Constructs a ConfigManager object.
- Parameters
-
configFile | The path to the configuration file. Defaults to "config.json". |
◆ ~ConfigManager()
ConfigManager::~ConfigManager |
( |
| ) |
|
◆ cleanupJSON()
void ConfigManager::cleanupJSON |
( |
| ) |
|
|
private |
Cleans up the JSON object.
◆ getBool()
bool ConfigManager::getBool |
( |
const std::string & |
key, |
|
|
bool |
defaultValue = false |
|
) |
| |
Retrieves a boolean value from the configuration.
- Parameters
-
key | The key of the configuration setting. |
defaultValue | The default value to return if the key is not found. Defaults to false. |
- Returns
- The boolean value associated with the key, or the default value if the key is not found.
◆ getInt()
int ConfigManager::getInt |
( |
const std::string & |
key, |
|
|
int |
defaultValue = 0 |
|
) |
| |
Retrieves an integer value from the configuration.
- Parameters
-
key | The key of the configuration setting. |
defaultValue | The default value to return if the key is not found. Defaults to 0. |
- Returns
- The integer value associated with the key, or the default value if the key is not found.
◆ getNestedBool()
bool ConfigManager::getNestedBool |
( |
const std::string & |
path, |
|
|
bool |
defaultValue = false |
|
) |
| |
Retrieves a nested boolean value from the configuration.
- Parameters
-
path | The path to the nested configuration setting. |
defaultValue | The default value to return if the path is not found. Defaults to false. |
- Returns
- The boolean value associated with the path, or the default value if the path is not found.
◆ getNestedInt()
int ConfigManager::getNestedInt |
( |
const std::string & |
path, |
|
|
int |
defaultValue = 0 |
|
) |
| |
Retrieves a nested integer value from the configuration.
- Parameters
-
path | The path to the nested configuration setting. |
defaultValue | The default value to return if the path is not found. Defaults to 0. |
- Returns
- The integer value associated with the path, or the default value if the path is not found.
◆ getNestedItem()
cJSON * ConfigManager::getNestedItem |
( |
const std::string & |
path | ) |
|
|
private |
Retrieves a nested JSON item from the configuration.
- Parameters
-
path | The path to the nested JSON item. |
- Returns
- A pointer to the nested JSON item, or nullptr if the item is not found.
◆ getNestedString()
std::string ConfigManager::getNestedString |
( |
const std::string & |
path, |
|
|
const std::string & |
defaultValue = "" |
|
) |
| |
Retrieves a nested string value from the configuration.
- Parameters
-
path | The path to the nested configuration setting. |
defaultValue | The default value to return if the path is not found. Defaults to an empty string. |
- Returns
- The string value associated with the path, or the default value if the path is not found.
◆ getString()
std::string ConfigManager::getString |
( |
const std::string & |
key, |
|
|
const std::string & |
defaultValue = "" |
|
) |
| |
Retrieves a string value from the configuration.
- Parameters
-
key | The key of the configuration setting. |
defaultValue | The default value to return if the key is not found. Defaults to an empty string. |
- Returns
- The string value associated with the key, or the default value if the key is not found.
◆ loadConfig()
bool ConfigManager::loadConfig |
( |
| ) |
|
Loads the configuration from the JSON file.
- Returns
- True if the configuration was successfully loaded, false otherwise.
◆ saveConfig()
bool ConfigManager::saveConfig |
( |
| ) |
|
Saves the current configuration to the JSON file.
- Returns
- True if the configuration was successfully saved, false otherwise.
◆ setBool()
void ConfigManager::setBool |
( |
const std::string & |
key, |
|
|
bool |
value |
|
) |
| |
Sets a boolean value in the configuration.
- Parameters
-
key | The key of the configuration setting. |
value | The boolean value to set. |
◆ setInt()
void ConfigManager::setInt |
( |
const std::string & |
key, |
|
|
int |
value |
|
) |
| |
Sets an integer value in the configuration.
- Parameters
-
key | The key of the configuration setting. |
value | The integer value to set. |
◆ setString()
void ConfigManager::setString |
( |
const std::string & |
key, |
|
|
const std::string & |
value |
|
) |
| |
Sets a string value in the configuration.
- Parameters
-
key | The key of the configuration setting. |
value | The string value to set. |
◆ configFilePath
std::string ConfigManager::configFilePath |
|
private |
The path to the configuration file.
◆ root
cJSON* ConfigManager::root |
|
private |
The root JSON object representing the configuration.
The documentation for this class was generated from the following files: