]> git.tdb.fi Git - r2c2.git/blobdiff - source/network/client.h
Add a new remote control program with GLtk-based UI
[r2c2.git] / source / network / client.h
index a9ced6fc4f02e7cbb6cd17fcd283f754c32ed0ee..94fa78545da9ef52b977acac9084b694256f7636 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2009-2011  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef R2C2_NET_CLIENT_H_
 #define R2C2_NET_CLIENT_H_
 
@@ -22,6 +15,7 @@ class Client: Msp::Net::PacketReceiver<DriverStatePacket>,
        Msp::Net::PacketReceiver<TrainInfoPacket>,
        Msp::Net::PacketReceiver<TrainFunctionPacket>,
        Msp::Net::PacketReceiver<TrainControlPacket>,
+       Msp::Net::PacketReceiver<TrainAIControlPacket>,
        Msp::Net::PacketReceiver<TrainStatusPacket>,
        Msp::Net::PacketReceiver<RouteInfoPacket>,
        Msp::Net::PacketReceiver<TrainRoutePacket>,
@@ -35,7 +29,7 @@ public:
        sigc::signal<void, const std::string &> signal_error;
 
 private:
-       const Catalogue &catalogue;
+       Catalogue &catalogue;
        Protocol proto;
        Msp::Net::StreamSocket *socket;
        Msp::Net::Communicator *comm;
@@ -46,7 +40,7 @@ private:
        std::map<unsigned, NetTrain *> trains;
 
 public:
-       Client(const Catalogue &);
+       Client(Catalogue &);
        ~Client();
 
        void use_event_dispatcher(Msp::IO::EventDispatcher &);
@@ -56,10 +50,12 @@ public:
        void send(const P &pkt)
        { if(comm) comm->send(pkt); }
 
-       const Catalogue &get_catalogue() const { return catalogue; }
+       Catalogue &get_catalogue() const { return catalogue; }
        const std::list<std::string> &get_routes() const { return routes; }
        void set_power(bool);
        void set_halt(bool);
+       bool get_power() const { return power; }
+       bool get_halt() const { return halt; }
        NetTrain &get_train(unsigned) const;
        const std::map<unsigned, NetTrain *> &get_trains() const { return trains; }
 
@@ -69,6 +65,7 @@ private:
        virtual void receive(const TrainInfoPacket &);
        virtual void receive(const TrainControlPacket &);
        virtual void receive(const TrainFunctionPacket &);
+       virtual void receive(const TrainAIControlPacket &);
        virtual void receive(const TrainStatusPacket &);
        virtual void receive(const RouteInfoPacket &);
        virtual void receive(const TrainRoutePacket &);