#pragma once

#include <string>
#include <map>

namespace usql {

class Settings {

public:
    static void set_setting(const std::string &name, const std::string &value);
    static std::string get_setting(const std::string &name);

    static long string_to_int(const std::string &intstr);
    static std::string int_to_string(long intval);

    static double string_to_double(const std::string &doublestr);
    static std::string double_to_string(double doubleval);

    static long string_to_date(const std::string &datestr);
    static std::string date_to_string(long dateval);

    static bool string_to_bool(const std::string &boolstr);
    static std::string bool_to_string(bool boolval);

private:
    static std::vector<std::pair<std::string, std::string>> m_settings;
};

}	// namespace