]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/route.h
Make LCD output selectable at runtime through an extra I/O pin
[r2c2.git] / source / libmarklin / route.h
index 75241d8b604bea37c278e30f45e9894f2f867476..0b036371e2cf29bb922249015e8dad9f6f265440 100644 (file)
@@ -18,6 +18,7 @@ namespace Marklin {
 
 class Layout;
 class Track;
+class TrackIter;
 
 class Route: public sigc::trackable
 {
@@ -56,6 +57,7 @@ public:
        void set_turnout(unsigned, unsigned);
        void update_turnouts();
        int get_turnout(unsigned) const;
+       unsigned get_path(Track &) const;
        const std::map<unsigned, int> &get_turnouts() const { return turnouts; }
        void add_track(Track &);
        void add_tracks(const std::set<Track *> &);
@@ -68,9 +70,9 @@ private:
        void track_removed(Track &);
 
 public:
-       static Route *find(Track &, unsigned, Track &);
-       static Route *find(Track &, unsigned, const Route &);
-       static Route *find(Track &, unsigned, const std::set<Track *> &);
+       static Route *find(const TrackIter &, Track &);
+       static Route *find(const TrackIter &, const Route &);
+       static Route *find(const TrackIter &, const std::set<Track *> &);
 };
 
 } // namespace Marklin