X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Froute.h;h=75241d8b604bea37c278e30f45e9894f2f867476;hb=2029c5e4220e0809a39744a28ca9e2ff22e8ad28;hp=6b36f46ec3ed5a68fbad407aef800f2d76f64eb1;hpb=f409cd39a687900724d987c9db629cbff0dd49be;p=r2c2.git diff --git a/source/libmarklin/route.h b/source/libmarklin/route.h index 6b36f46..75241d8 100644 --- a/source/libmarklin/route.h +++ b/source/libmarklin/route.h @@ -36,35 +36,41 @@ public: void turnout(unsigned, unsigned); }; + sigc::signal signal_name_changed; + private: Layout &layout; std::string name; bool temporary; - std::set tracks; + std::set tracks; TurnoutMap turnouts; public: - Route(Layout &, const std::string &); + Route(Layout &); ~Route(); + void set_name(const std::string &); const std::string &get_name() const { return name; } void set_temporary(bool); bool is_temporary() const { return temporary; } + void set_turnout(unsigned, unsigned); void update_turnouts(); int get_turnout(unsigned) const; const std::map &get_turnouts() const { return turnouts; } - void add_track(const Track &); - void add_tracks(const std::set &); - void add_track_chain(const Track &, unsigned, const TurnoutMap &); - const std::set &get_tracks() const { return tracks; } + 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(const Track &) const; + unsigned check_validity(Track &) const; void track_removed(Track &); public: - static Route *find(const Track &, unsigned, const Track &); - static Route *find(const Track &, unsigned, const Route &); + static Route *find(Track &, unsigned, Track &); + static Route *find(Track &, unsigned, const Route &); + static Route *find(Track &, unsigned, const std::set &); }; } // namespace Marklin