00001 //---------------------------------------------------------------------------- 00002 /** @file FuegoTestEngine.h 00003 */ 00004 //---------------------------------------------------------------------------- 00005 00006 #ifndef FUEGOTEST_ENGINE_H 00007 #define FUEGOTEST_ENGINE_H 00008 00009 #include "GoGtpEngine.h" 00010 #include "GoGtpExtraCommands.h" 00011 #include "GoSafetyCommands.h" 00012 00013 //---------------------------------------------------------------------------- 00014 00015 /** GTP interface with commands for testing functionality of the Fuego 00016 libraries. 00017 @see @ref fuegotestoverview 00018 */ 00019 class FuegoTestEngine 00020 : public GoGtpEngine 00021 { 00022 public: 00023 /** Constructor. 00024 @param in 00025 @param out 00026 @param fixedBoardSize 00027 @param programPath 00028 @param player Player ID as in CreatePlayer() 00029 */ 00030 FuegoTestEngine(GtpInputStream& in, GtpOutputStream& out, 00031 int fixedBoardSize, const char* programPath = 0, 00032 const std::string& player = ""); 00033 00034 ~FuegoTestEngine(); 00035 00036 /** @page fuegotestenginecommands FuegoTestEngine Commands 00037 - @link CmdParam() @c fuegotest_param @endlink 00038 */ 00039 void CmdAnalyzeCommands(GtpCommand& cmd); 00040 void CmdName(GtpCommand& cmd); 00041 void CmdParam(GtpCommand& cmd); 00042 void CmdVersion(GtpCommand& cmd); 00043 00044 private: 00045 GoGtpExtraCommands m_extraCommands; 00046 00047 GoSafetyCommands m_safetyCommands; 00048 00049 /** Player ID as in CreatePlayer() */ 00050 std::string m_playerId; 00051 00052 GoPlayer* CreatePlayer(const std::string& name); 00053 00054 void SetPlayer(const std::string& playerId); 00055 }; 00056 00057 //---------------------------------------------------------------------------- 00058 00059 #endif // FUEGOTEST_ENGINE_H 00060