📄 monitorclient.hh
字号:
/* * Little Green BATS (2006) * * Authors: Martin Klomp (martin@ai.rug.nl) * Mart van de Sanden (vdsanden@ai.rug.nl) * Sander van Dijk (sgdijk@ai.rug.nl) * A. Bram Neijt (bneijt@gmail.com) * Matthijs Platje (mplatje@gmail.com) * * Date: September 14, 2006 * * Website: http://www.littlegreenbats.nl * * Comment: Please feel free to contact us if you have any * problems or questions about the code. * * * License: This program is free software; you can redistribute * it and/or modify it under the terms of the GNU General * Public License as published by the Free Software * Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will * be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU General Public * License for more details. * * You should have received a copy of the GNU General * Public License along with this program; if not, write * to the Free Software Foundation, Inc., 59 Temple Place - * Suite 330, Boston, MA 02111-1307, USA. * */#ifndef __INC_MVDS_MONITORCLIENT_HH_#define __INC_MVDS_MONITORCLIENT_HH_#include <queue>#include "client.hh"#include "gamemodel.hh"#include "monitorframe.hh"#include "parser.hh"//using namespace mvds;namespace bats { /** * The Monitor communicates with the socketserver through this class. * * The socketserver communicates with a monitor by sending it * lisp like structures which are parsed to predicates. * * @see textinsteadofmanual.txt (socketserver documentation). * */ class MonitorClient : public mvds::Client { MonitorClient(MonitorClient const &_); // NI MonitorClient &operator=(MonitorClient const &_); //NI GameModel &d_gameModel; char *d_buffer; unsigned d_bufferSize, d_bufferFill, d_bufferPos; std::string d_lineBuffer; unsigned d_pcount; Parser d_parser; MonitorFrame* d_frame; //long d_mouseDownX, d_mouseDownY; void parseMessage(std::string &message); public: /** * * @param socketAddress the address to connect to. * @param gameModel the gamemmodel. * @param frame the Monitor frame, to send update messages to. */ MonitorClient(mvds::SocketAddress const &socketAddress, GameModel &gameModel, MonitorFrame* frame) : Client(socketAddress), d_gameModel(gameModel), d_frame(frame) { d_bufferSize = 8192; d_buffer = new char[d_bufferSize]; d_bufferFill = 0; d_bufferPos = 0; d_lineBuffer = ""; d_pcount = 0; } virtual ~MonitorClient() { if (d_buffer) delete d_buffer; } virtual void initConnection(); virtual bool ready_to_read(); virtual bool ready_to_write(); virtual bool ready_to_read_oob() {return true;} };};#endif // __INC_MVDS_MONITORCLIENT_HH_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -