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