#pragma once #include "game_tab/Game.hpp" #include #include class GameBase { public: virtual std::shared_ptr GetGame(std::uint32_t id) = 0; virtual void Save(std::vector to_ignore, std::vector> new_games_bases, std::vector> new_games) = 0; virtual std::shared_ptr GetCurrentGame() = 0; virtual bool NextGame() = 0; virtual std::string GetTag(std::string tag) = 0; virtual void Reset() = 0; /** * @brief Save the given base into current base format (export) * * @param base */ virtual void Export(std::shared_ptr base) = 0; };