X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetwork%2Fserver.h;h=41bb8e9b50bc9765767efa7ae5a1c09868e66d13;hb=47bff0c8939de3ae20b5ced1ee2f6a264397dcee;hp=6ce965e555d05009c66fbd35c9b89e886c859d67;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/network/server.h b/source/network/server.h index 6ce965e..41bb8e9 100644 --- a/source/network/server.h +++ b/source/network/server.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of the MSP Märklin suite -Copyright © 2009 Mikkosoft Productions, Mikko Rasa +Copyright © 2009-2010 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -12,7 +12,7 @@ Distributed under the GPL #include #include #include -#include "libmarklin/trafficmanager.h" +#include "libmarklin/layout.h" #include "packets.h" #include "protocol.h" @@ -22,7 +22,8 @@ class Server { private: struct Connection: private Msp::Net::PacketReceiver, - private Msp::Net::PacketReceiver + private Msp::Net::PacketReceiver, + private Msp::Net::PacketReceiver { Server &server; Msp::Net::StreamSocket *socket; @@ -36,23 +37,27 @@ private: void end_of_file(); virtual void receive(const TrainSpeedPacket &); virtual void receive(const TrainFunctionPacket &); + virtual void receive(const TrainRoutePacket &); + void error(const std::string &); }; Protocol proto; - TrafficManager &trfc_mgr; + Layout &layout; Msp::Net::StreamListenSocket listen_sock; Msp::IO::EventDispatcher *event_disp; std::vector connections; public: - Server(TrafficManager &); + Server(Layout &); void use_event_dispatcher(Msp::IO::EventDispatcher &); private: void incoming_connection(); void train_added(Train &); void train_speed_changed(const Train &, unsigned); + void train_reverse_changed(const Train &, bool); 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 &); template