]> git.tdb.fi Git - r2c2.git/blobdiff - source/network/train.cpp
Export routes over network
[r2c2.git] / source / network / train.cpp
index 468b2200a0aa7d97dfd9e9724169a89e1b348da6..025dcf52a75268b1dcdaa6b40c3cdc41d2a84d9b 100644 (file)
@@ -58,6 +58,17 @@ void NetTrain::set_function(unsigned i, bool set)
        client.send(pkt);
 }
 
+void NetTrain::set_route(const string &r)
+{
+       if(r==route)
+               return;
+
+       TrainRoutePacket pkt;
+       pkt.address = address;
+       pkt.route = r;
+       client.send(pkt);
+}
+
 void NetTrain::process_packet(const TrainSpeedPacket &pkt)
 {
        if(pkt.speed!=speed)
@@ -87,4 +98,10 @@ void NetTrain::process_packet(const TrainStatusPacket &pkt)
        signal_status_changed.emit(status);
 }
 
+void NetTrain::process_packet(const TrainRoutePacket &pkt)
+{
+       route = pkt.route;
+       signal_route_changed.emit(route);
+}
+
 } // namespace Marklin