X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetwork%2Fserver.h;h=402e55cd6ec1bf62507218f025fb61fbccbc45f7;hb=3b37ee041af581e47646c2487e7e302c55bd8cd7;hp=febd567598e0e71def517c7a9743bfdc77706994;hpb=64feb0c70888bfc7c11b05dcc71be495f255c039;p=r2c2.git diff --git a/source/network/server.h b/source/network/server.h index febd567..402e55c 100644 --- a/source/network/server.h +++ b/source/network/server.h @@ -6,7 +6,7 @@ #include #include #include "libr2c2/layout.h" -#include "libr2c2/trainstatus.h" +#include "libr2c2/trainai.h" #include "packets.h" #include "protocol.h" @@ -18,6 +18,7 @@ private: struct Connection: Msp::Net::PacketReceiver, Msp::Net::PacketReceiver, Msp::Net::PacketReceiver, + Msp::Net::PacketReceiver, Msp::Net::PacketReceiver { Server &server; @@ -33,7 +34,9 @@ private: virtual void receive(const DriverStatePacket &); virtual void receive(const TrainControlPacket &); virtual void receive(const TrainFunctionPacket &); + virtual void receive(const TrainAIControlPacket &); virtual void receive(const TrainRoutePacket &); + void comm_error(const std::exception &); void error(const std::string &); }; @@ -45,17 +48,18 @@ private: public: Server(Layout &); + ~Server(); + void use_event_dispatcher(Msp::IO::EventDispatcher &); private: void incoming_connection(); void driver_state_changed(); - void emergency(const std::string &); + void emergency(Block *, const std::string &); void train_added(Train &); void train_control_changed(const Train &, const std::string &, float); void train_function_changed(const Train &, unsigned, bool); - void train_route_changed(const Train &, const Route *); - void train_status_changed(const Train &, const std::string &); + void train_ai_event(const Train &, TrainAI &, const TrainAI::Message &); template void send(const P &);