AppleWin/source/frontends/common2/ptreeregistry.h
Andrea Odetti dd683e8e48 ImGui: display all current registry settings.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2021-04-04 14:33:04 +01:00

42 lines
1.4 KiB
C++

#pragma once
#include "linux/registry.h"
#include <boost/property_tree/ptree.hpp>
#include <string>
namespace common2
{
class PTreeRegistry : public Registry
{
public:
struct KeyQtEncodedLess
{
// this function is used to make the Qt registry compatible with sa2 and napple
// it is here, in the base class PTreeRegistry simply because it makes things easier
// KeyQtEncodedLess goes in the typedef init_t below
bool operator()(const std::string & lhs, const std::string & rhs) const;
};
typedef boost::property_tree::basic_ptree<std::string, std::string, KeyQtEncodedLess> ini_t;
std::string getString(const std::string & section, const std::string & key) const override;
DWORD getDWord(const std::string & section, const std::string & key) const override;
bool getBool(const std::string & section, const std::string & key) const override;
void putString(const std::string & section, const std::string & key, const std::string & value) override;
void putDWord(const std::string & section, const std::string & key, const DWORD value) override;
template<typename T>
T getValue(const std::string & section, const std::string & key) const;
template<typename T>
void putValue(const std::string & section, const std::string & key, const T & value);
std::map<std::string, std::map<std::string, std::string>> getAllValues() const override;
protected:
ini_t myINI;
};
}