Bot.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BOT_H_
00020 #define BOT_H_
00021
00022 #include "forward.h"
00023
00024 #include "Entity.h"
00025
00026 namespace adchpp {
00027
00028 struct BotRemover;
00029
00030 class ADCHPP_VISIBLE Bot : public Entity {
00031 public:
00032 typedef std::function<void (Bot& bot, const BufferPtr& cmd)> SendHandler;
00033
00034 ADCHPP_DLL Bot(uint32_t sid, const SendHandler& handler_);
00035
00036 virtual void send(const BufferPtr& cmd) { if(handler) handler(*this, cmd); }
00037
00038 ADCHPP_DLL virtual void disconnect(Util::Reason reason) throw();
00039
00040 using Entity::send;
00041 private:
00042 friend struct BotRemover;
00043
00044 SendHandler handler;
00045 bool disconnecting;
00046
00047 void die();
00048 };
00049
00050 }
00051
00052 #endif