22 #include "chessplayer.h" 24 #include <QStringList> 26 #include "engineconfiguration.h" 95 void ping(
bool sendCommand =
true);
98 virtual QString protocol()
const = 0;
106 void write(
const QString& data, WriteMode mode = Buffered);
141 bool readToEnd =
false);
155 bool readToEnd =
false);
164 virtual void startProtocol() = 0;
167 virtual void parseLine(
const QString& line) = 0;
173 virtual bool sendPing() = 0;
176 virtual void sendStop() = 0;
179 virtual void sendQuit() = 0;
197 virtual void sendOption(
const QString& name,
const QVariant& value) = 0;
200 void addVariant(
const QString& variant);
202 void clearVariants();
213 virtual bool restartsBetweenGames()
const;
218 virtual bool isPondering()
const;
221 bool whiteEvalPov()
const;
229 bool pondering()
const;
243 void onPingTimeout();
246 void onIdleTimeout();
256 void pong(
bool emitReady =
true);
262 void onProtocolStart();
269 void flushWriteBuffer();
272 void clearWriteBuffer();
277 void onQuitTimeout();
282 void onProtocolStartTimeout();
295 QTimer* m_protocolStartTimer;
304 #endif // CHESSENGINE_H
virtual void go()
Definition: chessplayer.cpp:87
Use the write buffer.
Definition: chessengine.h:54
virtual void quit()
Definition: chessplayer.cpp:107
The EngineConfiguration class defines a chess engine configuration.
Definition: engineconfiguration.h:33
virtual bool isReady() const
Definition: chessplayer.cpp:42
A chess player, human or AI.
Definition: chessplayer.h:38
virtual bool supportsVariant(const QString &variant) const =0
virtual void kill()
Definition: chessplayer.cpp:291
An artificial intelligence chess player.
Definition: chessengine.h:42
WriteMode
Definition: chessengine.h:52
The result of a chess game.
Definition: result.h:34
Definition: engineoption.h:25
virtual void endGame(const Chess::Result &result)
Definition: chessplayer.cpp:74
RestartMode
Definition: engineconfiguration.h:40
virtual bool isHuman() const =0
virtual void onTimeout()
Definition: chessplayer.cpp:303
virtual void startGame()=0