eqemu-server/common/json_config.h

27 lines
808 B
C++

#pragma once
#include "json/json.h"
namespace EQ
{
class JsonConfigFile
{
public:
JsonConfigFile();
JsonConfigFile(const Json::Value &value);
~JsonConfigFile();
static JsonConfigFile Load(const std::string &file_name);
void Save(const std::string &file_name);
std::string GetVariableString(const std::string &title, const std::string &parameter, const std::string &default_value);
int GetVariableInt(const std::string &title, const std::string &parameter, const int default_value);
bool GetVariableBool(const std::string &title, const std::string &parameter, const bool default_value);
double GetVariableDouble(const std::string &title, const std::string &parameter, const double default_value);
Json::Value& RawHandle() { return m_root; }
private:
Json::Value m_root;
};
}