8#if !defined(ENGINEINTERFACE_H)
9#define ENGINEINTERFACE_H
15 const char * what ()
const noexcept override
16 {
return "Quit command"; }
25#pragma GCC diagnostic push
26#pragma GCC diagnostic ignored "-Wunused-parameter"
34 explicit engineInterface(std::string
const& s, std::string
const& h =
"");
43 void execute(std::string
const& command, std::string
const& params);
55 virtual void sendError(std::string
const& error, std::string
const& description);
56 virtual void sendHelp(std::string
const& args);
59 virtual void sendDebug(
int const l, std::string
const& info)
67 int64_t nodes,
int nps)
71 bScore const sc, int64_t
const t, int64_t
const nodes)
const
74 depth_t const nMaxDepth, std::string
const& comment,
75 bScore const sc, int64_t
const t, int64_t
const nodes)
const
80 int64_t
const nodes)
const
86 operator std::string() const&
87 {
return const_cast<std::string const&
>(m_name); }
95 bool const published =
true);
105 void initCommand(std::vector<engineUserCommand *> cmds);
110 bool m_running =
false;
131 explicit UCIMode(std::string
const& s =
"uci");
139 void sendInfo(std::string
const& info)
override;
140 void sendDebug(
int const l, std::string
const& info)
override;
147 bScore const sc, int64_t
const t,
148 int64_t
const nodes)
const override;
150 depth_t const nMaxDepth, std::string
const& comment,
151 bScore const sc, int64_t
const t,
152 int64_t
const nodes)
const override;
156 int64_t
const nodes)
const override;
163#pragma GCC diagnostic pop
170 explicit XboardMode(std::string
const& s =
"xboard");
174 void sendInfo(std::string
const& info)
override;
175 void sendDebug(
int const l, std::string
const& info)
override;
178 std::string
const& reason)
override;
181 bScore const sc, int64_t
const t,
182 int64_t
const nodes)
const override;
std::map< std::string, bool > commandList_t
std::map< std::string, engineUserCommand * > engineCommands_t
void sendPrompt() override
void sendDebug(int const l, std::string const &info) override
void sendResult(bBoard const &b, gameResult_t const gr) const override
void sendInfoCurrMove(bBoard const &b, depth_t const nCurDepth, bMove const &m, movenum_t const moveid, int64_t const nodes) const override
bool isRunning() const override
void sendInfoDepth(int depth, int seldepth, int64_t nodes, int nps) override
void sendMove(bBoard &b, bMove const &m) override
void sendInfoSearching(bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, bScore const sc, int64_t const t, int64_t const nodes) const override
std::string scoreString(bScore const score) const override
UCIMode(std::string const &s="uci")
void sendInfo(std::string const &info) override
std::string engineGameResultString(gameResult_t const gr) const override
void sendDebug(int const l, std::string const &info) override
void sendInvalidMove(std::string const &info, std::string const &reason) override
void sendResult(bBoard const &b, gameResult_t const gr) const override
void sendInfoSearching(bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, bScore const sc, int64_t const t, int64_t const nodes) const override
std::string scoreString(bScore const score) const override
void sendInfo(std::string const &info) override
XboardMode(std::string const &s="xboard")
virtual void sendResult(bBoard const &b, gameResult_t const gr) const
virtual ~engineInterface()
virtual void sendInfoSearching(bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, std::string const &comment, bScore const sc, int64_t const t, int64_t const nodes) const
engineInterface & operator=(engineInterface const &)=delete
void attachCommand(belofte::stringList const &sCommands, bool const published=true)
virtual void sendResponse(std::string const &response)
engineInterface(std::string const &s, std::string const &h="")
Common commands to all modes this ctor is called for each iface.
engineInterface & operator=(engineInterface &&)=delete
virtual void sendDebug(int const l, std::string const &info)
engineInterface(engineInterface const &)=delete
virtual void sendInvalidMove(std::string const &info, std::string const &reason)
virtual void sendInfoSearching(bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, bScore const sc, int64_t const t, int64_t const nodes) const
static engineCommands_t & getEngineCommands()
virtual void setRunning(bool const r)
virtual void sendMove(bBoard &b, bMove const &m)
virtual void sendHelp(std::string const &args)
Send help on command or all commands.
virtual std::string engineGameResultString(gameResult_t const gr) const
virtual void sendInfoCurrMove(bBoard const &b, depth_t const nCurDepth, bMove const &m, movenum_t const moveid, int64_t const nodes) const
engineInterface(engineInterface &&)=delete
void execute(std::string const &command, std::string const ¶ms)
virtual void sendInfo(std::string const &info)
virtual bool isRunning() const
std::string const & getHint() const
virtual void sendInfoSearchStart(std::string const &info)
virtual std::string scoreString(bScore const score) const
virtual void sendError(std::string const &error, std::string const &description)
static std::string scoreAsString(bScore const score)
virtual void sendInfoDepth(int depth, int seldepth, int64_t nodes, int nps)
virtual void sendPrompt()
std::map< std::string, engineUserCommand * > engineCommands_t
std::map< std::string, engineInterface * > engineInterfaces_t
enum gameResult gameResult_t
std::vector< std::string > stringList