21 #include "chessplayer.h" 23 #include <QStringList> 24 #include "engineconfiguration.h" 93 void ping(
bool sendCommand =
true);
96 virtual QString protocol()
const = 0;
104 void write(
const QString& data, WriteMode mode = Buffered);
139 bool readToEnd =
false);
153 bool readToEnd =
false);
162 virtual void startProtocol() = 0;
165 virtual void parseLine(
const QString& line) = 0;
171 virtual bool sendPing() = 0;
174 virtual void sendStop() = 0;
177 virtual void sendQuit() = 0;
195 virtual void sendOption(
const QString& name,
const QVariant& value) = 0;
198 void addVariant(
const QString& variant);
200 void clearVariants();
211 virtual bool restartsBetweenGames()
const;
216 virtual bool isPondering()
const;
219 bool whiteEvalPov()
const;
227 bool pondering()
const;
237 void onPingTimeout();
240 void onIdleTimeout();
250 void pong(
bool emitReady =
true);
256 void onProtocolStart();
263 void flushWriteBuffer();
266 void clearWriteBuffer();
269 void onQuitTimeout();
270 void onProtocolStartTimeout();
283 QTimer* m_protocolStartTimer;
292 #endif // CHESSENGINE_H
virtual void go()
Definition: chessplayer.cpp:85
Use the write buffer.
Definition: chessengine.h:52
virtual void quit()
Definition: chessplayer.cpp:105
The EngineConfiguration class defines a chess engine configuration.
Definition: engineconfiguration.h:32
virtual bool isReady() const
Definition: chessplayer.cpp:40
A chess player, human or AI.
Definition: chessplayer.h:37
virtual bool supportsVariant(const QString &variant) const =0
virtual void kill()
Definition: chessplayer.cpp:262
An artificial intelligence chess player.
Definition: chessengine.h:40
WriteMode
Definition: chessengine.h:50
The result of a chess game.
Definition: result.h:33
Definition: engineoption.h:24
virtual void endGame(const Chess::Result &result)
Definition: chessplayer.cpp:72
RestartMode
Definition: engineconfiguration.h:39
virtual bool isHuman() const =0
virtual void onTimeout()
Definition: chessplayer.cpp:274
virtual void startGame()=0