LunaHook-mirror/LunaHost/GUI/confighelper.h
恍兮惚兮 3e66a81e40 font
2024-07-21 20:57:04 +08:00

35 lines
713 B
C++

#ifndef LUNA_CONFIG_HELPER
#define LUNA_CONFIG_HELPER
#include <nlohmann/json.hpp>
class confighelper
{
std::wstring configpath;
public:
nlohmann::json configs;
confighelper();
~confighelper();
template <class T>
T get(const std::string &key, T default1)
{
if (configs.find(key) == configs.end())
return default1;
return configs[key];
}
template <class T>
void set(const std::string &key, T v)
{
configs[key] = v;
}
};
template <typename T>
T safequeryjson(const nlohmann::json &js, const std::string &key, const T &defaultv)
{
if (js.find(key) == js.end())
{
return defaultv;
}
return js[key];
}
#endif