/* $Id$
This file is part of the MSP Märklin suite
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
class Layout
{
public:
- class Loader: public Msp::DataFile::Loader
+ class Loader: public Msp::DataFile::BasicLoader<Layout>
{
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<Track *> tracks;
//RouteSeq routes;
sigc::signal<void, Track &> signal_track_added;
sigc::signal<void, Track &> 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<Track *> &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