mirror of
https://gitlab.com/manzerbredes/ochess.git
synced 2025-04-07 02:26:29 +02:00
23 lines
No EOL
703 B
C++
23 lines
No EOL
703 B
C++
#pragma once
|
|
#include "game_tab/Game.hpp"
|
|
#include <algorithm>
|
|
#include <vector>
|
|
|
|
class GameBase {
|
|
|
|
public:
|
|
virtual std::shared_ptr<Game> GetGame(std::uint32_t id) = 0;
|
|
virtual void Save(std::vector<std::uint32_t> to_ignore,
|
|
std::vector<std::shared_ptr<GameBase>> new_games_bases,
|
|
std::vector<std::shared_ptr<Game>> new_games) = 0;
|
|
virtual std::shared_ptr<Game> 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<GameBase> base) = 0;
|
|
}; |