29 lines
626 B
C
29 lines
626 B
C
|
#ifndef SETTINGS_H
|
||
|
#define SETTINGS_H
|
||
|
|
||
|
#include <nlohmann/json.hpp>
|
||
|
#include <string>
|
||
|
|
||
|
class Settings {
|
||
|
|
||
|
std::string settings_file_path;
|
||
|
nlohmann::json settings;
|
||
|
|
||
|
public:
|
||
|
Settings(std::string path);
|
||
|
//Immediately saves to a file
|
||
|
void write_setting(std::string setting, std::string value);
|
||
|
//Waits for a flush
|
||
|
void alter_setting(std::string setting, std::string value);
|
||
|
std::string get_setting(std::string setting);
|
||
|
|
||
|
void set_settings_file_path(std::string path);
|
||
|
std::string get_settings_file_path();
|
||
|
|
||
|
nlohmann::json& get_all_settings();
|
||
|
|
||
|
void flush();
|
||
|
};
|
||
|
|
||
|
#endif // SETTINGS_H
|