/* * Copyright (c) 2020, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include class ChessEngine : public Chess::UCI::Endpoint { C_OBJECT(ChessEngine) public: virtual ~ChessEngine() override { } ChessEngine() { } ChessEngine(NonnullRefPtr in, NonnullRefPtr out) : Endpoint(in, out) { } virtual void handle_uci(); virtual void handle_position(const Chess::UCI::PositionCommand&); virtual void handle_go(const Chess::UCI::GoCommand&); private: Chess::Board m_board; };