]> git.tdb.fi Git - r2c2.git/blobdiff - source/network/server.h
Add an SVG exporter to Designer
[r2c2.git] / source / network / server.h
index 7c3dce959c300e9fbb1226e3797b0bd02b60cdd2..056b0dd089d0c5b2b285136167834f8f81c0947a 100644 (file)
@@ -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 <msp/net/communicator.h>
 #include <msp/net/streamsocket.h>
 #include <msp/net/streamlistensocket.h>
-#include "libmarklin/trafficmanager.h"
+#include "libmarklin/layout.h"
 #include "packets.h"
 #include "protocol.h"
 
@@ -21,7 +21,7 @@ namespace Marklin {
 class Server
 {
 private:
-       struct Connection: private Msp::Net::PacketReceiver<TrainSpeedPacket>,
+       struct Connection: private Msp::Net::PacketReceiver<TrainControlPacket>,
                private Msp::Net::PacketReceiver<TrainFunctionPacket>,
                private Msp::Net::PacketReceiver<TrainRoutePacket>
        {
@@ -35,27 +35,26 @@ private:
 
                void handshake_done();
                void end_of_file();
-               virtual void receive(const TrainSpeedPacket &);
+               virtual void receive(const TrainControlPacket &);
                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<Connection *> 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_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 &);