#ifndef CLRSYNC_CORE_IO_FILE_HPP #define CLRSYNC_CORE_IO_FILE_HPP #include #include #include #include using value_type = std::variant; namespace clrsync::core::io { class file { public: file() = default; file(std::string path) {}; virtual bool parse() { return false; }; virtual const std::string get_string_value(const std::string §ion, const std::string &key) const { return {}; } virtual uint32_t get_uint_value(const std::string §ion, const std::string &key) const { return {}; } virtual uint32_t get_bool_value(const std::string §ion, const std::string &key) const { return {}; } virtual std::map get_table(const std::string §ion_path) const { return {}; } virtual void set_value(const std::string §ion, const std::string &key, const value_type &value) { insert_or_update_value(section, key, value); } virtual void insert_or_update_value(const std::string §ion, const std::string &key, const value_type &value) {}; virtual void save_file() {}; }; } // namespace clrsync::core::io #endif