]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/layout.cpp
Export routes over network
[r2c2.git] / source / libmarklin / layout.cpp
index 3a6b6302d56ebf806c442ce8f8c808fb903a5091..67d646b1d5f542b1e5b156713c7ef79156660ba0 100644 (file)
@@ -45,6 +45,14 @@ void Layout::add_route(Route &r)
                signal_route_added.emit(r);
 }
 
+Route &Layout::get_route(const string &name) const
+{
+       for(set<Route *>::const_iterator i=routes.begin(); i!=routes.end(); ++i)
+               if((*i)->get_name()==name)
+                       return **i;
+       throw KeyError("Unknown route", name);
+}
+
 void Layout::remove_route(Route &r)
 {
        if(routes.erase(&r))
@@ -120,6 +128,9 @@ void Layout::check_routes()
                        }
                }
 
+               if(!track)
+                       continue;
+
                (*i)->add_track(*track);
 
                const vector<Endpoint> &eps = track->get_type().get_endpoints();