X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flayout.h;h=4ec4277fcd60d909851f3937b457e40e40c27a01;hb=02c9a9779954d993cb73fe5f7a72b0847e87f633;hp=dd139250cbc8b9b18feb9f7b872fad53f7559510;hpb=449fb5de95ddb2ac9da4bd72a1c12150505d5549;p=r2c2.git diff --git a/source/libmarklin/layout.h b/source/libmarklin/layout.h index dd13925..4ec4277 100644 --- a/source/libmarklin/layout.h +++ b/source/libmarklin/layout.h @@ -26,18 +26,21 @@ 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; - //std::set routes; + std::map routes; public: Layout(const Catalogue &); @@ -48,8 +51,14 @@ public: const std::set &get_tracks() const { return tracks; } void add_track(Track &); void remove_track(Track &); - void check_links(); + 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