]> git.tdb.fi Git - r2c2.git/blob - source/libmarklin/catalogue.h
Style fixes, including:
[r2c2.git] / source / libmarklin / catalogue.h
1 #ifndef LIBMARKLIN_CATALOGUE_H_
2 #define LIBMARKLIN_CATALOGUE_H_
3
4 #include <map>
5 #include <msp/datafile/loader.h>
6
7 namespace Marklin {
8
9 class TrackType;
10
11 class Catalogue
12 {
13 public:
14         class Loader: public Msp::DataFile::Loader
15         {
16         public:
17                 Loader(Catalogue &);
18         private:
19                 Catalogue &cat;
20
21                 void track(unsigned);
22         };
23
24 private:
25         std::map<unsigned, TrackType *> tracks;
26
27 public:
28         ~Catalogue();
29
30         TrackType &get_track(unsigned);
31         const std::map<unsigned, TrackType *> &get_tracks() const { return tracks; }
32         void  load(const std::string &);
33 };
34
35 } // namespace Marklin
36
37 #endif