]> git.tdb.fi Git - r2c2.git/blobdiff - source/network/client.cpp
Add a program for serial port control and associated Arduino firmware
[r2c2.git] / source / network / client.cpp
index 8e31cfe54c59b9cfe5e501722b31c112e36ea3c7..2e003842e9c007e9c75334bd80e4765fb0ba143a 100644 (file)
@@ -43,9 +43,9 @@ void Client::connect(const Net::SockAddr &addr)
        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;
@@ -83,4 +83,9 @@ void Client::receive(const TrainRoutePacket &pkt)
        get_train(pkt.address).process_packet(pkt);
 }
 
+void Client::receive(const ErrorPacket &pkt)
+{
+       signal_error.emit(pkt.message);
+}
+
 } // namespace Marklin