X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flayout.h;h=f603d39f2f0b8ad3e4262e9b583254c4e13dc6eb;hb=3df8cb5c78fbb0b919bcb79677c6c788b8028482;hp=d984e1020398111cbe84ebbaff4dae137e2b3ede;hpb=1d735b80482317fd930eb47ca255ab9f1f120a7d;p=r2c2.git diff --git a/source/libmarklin/layout.h b/source/libmarklin/layout.h index d984e10..f603d39 100644 --- a/source/libmarklin/layout.h +++ b/source/libmarklin/layout.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef LIBMARKLIN_LAYOUT_H_ #define LIBMARKLIN_LAYOUT_H_ @@ -13,20 +20,17 @@ class Catalogue; class Layout { public: - class Loader: public Msp::DataFile::Loader + class Loader: public Msp::DataFile::BasicLoader { public: Loader(Layout &); - Layout &get_object() { return layout; } private: - Layout &layout; - + virtual void finish(); void track(unsigned); }; private: - Catalogue &catalogue; - std::string filename; + const Catalogue &catalogue; std::string base; std::set tracks; //RouteSeq routes; @@ -35,15 +39,16 @@ public: sigc::signal signal_track_added; sigc::signal signal_track_removed; - Layout(Catalogue &); + 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 load(const std::string &); - int save(const std::string &); + void save(const std::string &); }; } // namespace Marklin