#define LIBMARKLIN_CATALOGUE_H_
#include <map>
-#include <msp/parser/loader.h>
+#include <msp/datafile/loader.h>
namespace Marklin {
-class Track;
+class TrackType;
class Catalogue
{
public:
- class Loader: public Msp::Parser::Loader
+ class Loader: public Msp::DataFile::Loader
{
public:
Loader(Catalogue &);
void track(unsigned);
};
- typedef std::map<unsigned, Track *> TrackMap;
+private:
+ std::map<unsigned, TrackType *> tracks;
- Track *get_track(unsigned);
- const TrackMap &get_tracks() const { return tracks; }
- void load(const std::string &);
+public:
~Catalogue();
-private:
- TrackMap tracks;
+
+ TrackType &get_track(unsigned);
+ const std::map<unsigned, TrackType *> &get_tracks() const { return tracks; }
+ void load(const std::string &);
};
} // namespace Marklin