aboutsummaryrefslogtreecommitdiff
path: root/src/base_tab/gamebase/PGNGameBase.hpp
blob: 507a29a8a74111ba1b43e5d03f00fcd4f0718819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "GameBase.hpp"
#include "pgnp.hpp"

class PGNGameBase : public GameBase {
  pgnp::PGN *pgn;
  bool hasNextGame;
  std::string file;

public:
  PGNGameBase(std::string pgn_file);
  ~PGNGameBase();
  std::shared_ptr<Game> GetGame(std::uint32_t id);
  bool NextGame();
  std::shared_ptr<Game> GetCurrentGame();
  std::string GetTag(std::string tag);
  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);
  void Reset();
  void Export(std::shared_ptr<GameBase> base);
};