X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Froute.h;h=0b036371e2cf29bb922249015e8dad9f6f265440;hb=8e3009751ee81e0e5312cae53ee844bdd9e49628;hp=901383a50d8e7727807fac14b0ed2727eee8fb08;hpb=f79b3fd58999a73a4a28663b46fdd96c58167a18;p=r2c2.git diff --git a/source/libmarklin/route.h b/source/libmarklin/route.h index 901383a..0b03637 100644 --- a/source/libmarklin/route.h +++ b/source/libmarklin/route.h @@ -18,6 +18,7 @@ namespace Marklin { class Layout; class Track; +class TrackIter; class Route: public sigc::trackable { @@ -56,20 +57,22 @@ public: void set_turnout(unsigned, unsigned); void update_turnouts(); int get_turnout(unsigned) const; + unsigned get_path(Track &) const; const std::map &get_turnouts() const { return turnouts; } void add_track(Track &); void add_tracks(const std::set &); void add_track_chain(Track &, unsigned, const TurnoutMap &); const std::set &get_tracks() const { return tracks; } + bool has_track(Track &) const; void save(std::list &) const; private: unsigned check_validity(Track &) const; 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 &); + static Route *find(const TrackIter &, Track &); + static Route *find(const TrackIter &, const Route &); + static Route *find(const TrackIter &, const std::set &); }; } // namespace Marklin