00001 /* speculativeModel.h 00002 */ 00003 #ifndef OSL_SPECULATIVEMODEL_H 00004 #define OSL_SPECULATIVEMODEL_H 00005 00006 #include "osl/game_playing/computerPlayer.h" 00007 #include "osl/search/searchTimer.h" 00008 #include <boost/shared_ptr.hpp> 00009 00010 namespace osl 00011 { 00012 namespace game_playing 00013 { 00014 class SearchPlayer; 00018 class SpeculativeModel 00019 { 00020 public: 00021 virtual ~SpeculativeModel(); 00022 00023 virtual void setMaxThreads(int); 00024 00025 virtual void startSpeculative(const boost::shared_ptr<GameState> state, 00026 const SearchPlayer& main_player)=0; 00027 virtual void stopOtherThan(Move)=0; 00028 virtual void stopAll()=0; 00029 virtual const HashKey searchState() const=0; 00030 00034 virtual const MoveWithComment waitResult(Move last_move, search::TimeAssigned, 00035 SearchPlayer& main_player, 00036 int byoyomi)=0; 00037 00038 virtual void selectBestMoveCleanUp()=0; 00039 void clearResource(); 00040 }; 00041 } // game_playing 00042 } // osl 00043 00044 #endif /* OSL_SPECULATIVEMODEL_H */ 00045 // ;;; Local Variables: 00046 // ;;; mode:c++ 00047 // ;;; c-basic-offset:2 00048 // ;;; End: