All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
csaLogger.h
Go to the documentation of this file.
1 /* csaLogger.h
2  */
3 #ifndef GAME_PLAYING_CSALOGGER_H
4 #define GAME_PLAYING_CSALOGGER_H
5 
6 #include "osl/player.h"
7 #include <iosfwd>
8 namespace osl
9 {
10  class Move;
11  class Sennichite;
12  namespace state
13  {
14  class SimpleState;
15  }
16  namespace search
17  {
18  struct MoveWithComment;
19  }
20  namespace game_playing
21  {
22  class TimeKeeper;
26  class CsaLogger
27  {
28  std::ostream& output;
29  public:
30  explicit CsaLogger(std::ostream& os);
31  ~CsaLogger();
32 
33  void init(const char *black, const char *white,
34  const state::SimpleState& state);
35 
36  void pushMove(const Move& move, int seconds);
37  void pushMove(const search::MoveWithComment& move, int seconds);
38  void popMove();
39  void showTimeLeft(const TimeKeeper&);
40  void writeComment(const char *comment);
41  void resign(Player resigned);
42  void inputError(const char *);
43  void breakGame();
44  void endByRepetition(const Sennichite&);
45  void endByDeclaration(Player declarer);
46  private:
47  void writeLine(const char *line);
48  void writeWinner(Player winner);
49  void writeCurrentDate();
50  };
51 
52  } // namespace game_playing
53 } // namespace osl
54 
55 #endif /* GAME_PLAYING_CSALOGGER_H */
56 // ;;; Local Variables:
57 // ;;; mode:c++
58 // ;;; c-basic-offset:2
59 // ;;; coding:utf-8
60 // ;;; End: