X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flayout.h;h=4ec4277fcd60d909851f3937b457e40e40c27a01;hb=025c23f199c411cc2ec1a6d2e85bf24460150ceb;hp=f603d39f2f0b8ad3e4262e9b583254c4e13dc6eb;hpb=3df8cb5c78fbb0b919bcb79677c6c788b8028482;p=r2c2.git diff --git a/source/libmarklin/layout.h b/source/libmarklin/layout.h index f603d39..4ec4277 100644 --- a/source/libmarklin/layout.h +++ b/source/libmarklin/layout.h @@ -26,29 +26,39 @@ public: Loader(Layout &); private: virtual void finish(); + void route(const std::string &); void track(unsigned); }; +public: + sigc::signal signal_track_added; + sigc::signal signal_track_removed; + sigc::signal signal_route_added; + sigc::signal signal_route_removed; + private: const Catalogue &catalogue; std::string base; std::set tracks; - //RouteSeq routes; + std::map routes; public: - sigc::signal signal_track_added; - sigc::signal signal_track_removed; - Layout(const Catalogue &); ~Layout(); const Catalogue &get_catalogue() const { return catalogue; } const std::string &get_base() const { return base; } const std::set &get_tracks() const { return tracks; } - void add_track(Track &); - void remove_track(Track &); - void check_links(); - void save(const std::string &); + void add_track(Track &); + void remove_track(Track &); + void add_route(Route &); + const std::map &get_routes() const { return routes; } + Route &get_route(const std::string &) const; + void remove_route(Route &); + void save(const std::string &); +private: + void check_links(); + void check_routes(); }; } // namespace Marklin