/* $Id$
-This file is part of the MSP Märklin suite
+This file is part of R²C²
Copyright © 2009 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
using namespace std;
using namespace Msp;
-namespace Marklin {
+namespace R2C2 {
Client::Client(const Catalogue &c):
catalogue(c),
comm = new Net::Communicator(*socket, proto, *this);
}
-NetTrain &Client::get_train(unsigned addr)
+NetTrain &Client::get_train(unsigned addr) const
{
- map<unsigned, NetTrain *>::iterator i = trains.find(addr);
+ map<unsigned, NetTrain *>::const_iterator i = trains.find(addr);
if(i==trains.end())
throw KeyError("Unknown train");
return *i->second;
signal_train_added.emit(*train);
}
-void Client::receive(const TrainSpeedPacket &pkt)
+void Client::receive(const TrainControlPacket &pkt)
{
get_train(pkt.address).process_packet(pkt);
}
get_train(pkt.address).process_packet(pkt);
}
-} // namespace Marklin
+void Client::receive(const ErrorPacket &pkt)
+{
+ signal_error.emit(pkt.message);
+}
+
+} // namespace R2C2