X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flayout.h;h=86836b87f16e01fe7cbcba495fd08ab514ae553d;hb=bc8ac89bbe774bb133b758416182aa18e5e0a5a5;hp=dd139250cbc8b9b18feb9f7b872fad53f7559510;hpb=449fb5de95ddb2ac9da4bd72a1c12150505d5549;p=r2c2.git diff --git a/source/libmarklin/layout.h b/source/libmarklin/layout.h index dd13925..86836b8 100644 --- a/source/libmarklin/layout.h +++ b/source/libmarklin/layout.h @@ -26,30 +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; + Catalogue &catalogue; std::string base; std::set tracks; - //std::set routes; + std::map routes; public: - Layout(const Catalogue &); + Layout(Catalogue &); ~Layout(); - const Catalogue &get_catalogue() const { return catalogue; } + 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 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