X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetwork%2Fclient.h;h=02931e553d69a9efc1a8afed0d4714da924654f2;hb=7b4155fa0581d7c5fe198e4fb1dea61fa0846eec;hp=02295dfa32690aeb9a2d2610269fd4132ce83254;hpb=1ff06c5bc46a677fa389ef86c6b26664368f1653;p=r2c2.git diff --git a/source/network/client.h b/source/network/client.h index 02295df..02931e5 100644 --- a/source/network/client.h +++ b/source/network/client.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2009 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - #ifndef R2C2_NET_CLIENT_H_ #define R2C2_NET_CLIENT_H_ @@ -17,7 +10,9 @@ Distributed under the GPL namespace R2C2 { -class Client: public Msp::Net::PacketReceiver, +class Client: Msp::Net::PacketReceiver, + Msp::Net::PacketReceiver, + Msp::Net::PacketReceiver, Msp::Net::PacketReceiver, Msp::Net::PacketReceiver, Msp::Net::PacketReceiver, @@ -26,20 +21,25 @@ class Client: public Msp::Net::PacketReceiver, Msp::Net::PacketReceiver { public: + sigc::signal signal_power_changed; + sigc::signal signal_halt_changed; + sigc::signal signal_emergency; sigc::signal signal_train_added; sigc::signal signal_error; private: - const Catalogue &catalogue; + Catalogue &catalogue; Protocol proto; Msp::Net::StreamSocket *socket; Msp::Net::Communicator *comm; Msp::IO::EventDispatcher *event_disp; + bool power; + bool halt; std::list routes; std::map trains; public: - Client(const Catalogue &); + Client(Catalogue &); ~Client(); void use_event_dispatcher(Msp::IO::EventDispatcher &); @@ -49,12 +49,16 @@ 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 &get_routes() const { return routes; } + void set_power(bool); + void set_halt(bool); NetTrain &get_train(unsigned) const; const std::map &get_trains() const { return trains; } private: + virtual void receive(const DriverStatePacket &); + virtual void receive(const EmergencyPacket &); virtual void receive(const TrainInfoPacket &); virtual void receive(const TrainControlPacket &); virtual void receive(const TrainFunctionPacket &);