]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/route.h
Major code refactoring:
[r2c2.git] / source / libmarklin / route.h
index f5b760265b5b30159fe44e2103ffe7691af81850..3fa82023117053e53dd275a613e240b5512b9d6b 100644 (file)
@@ -2,26 +2,29 @@
 #define LIBMARKLIN_ROUTE_H_
 
 #include <list>
+#include <map>
+#include <set>
 #include <string>
-#include "track.h"
 
 namespace Marklin {
 
+class Track;
+class Turnout;
+
 class Route
 {
 public:
        typedef std::map<unsigned, unsigned> TurnoutMap;
 
        Route();
-       const TurnoutMap &get_turnouts() const { return turnouts; }
+       const std::map<unsigned, Turnout *> &get_turnouts() const { return turnouts; }
        void add_track(Track *);
        ~Route();
 private:
        std::string name;
-       TrackSeq    tracks;
-       TurnoutMap  turnouts;
+       std::set<Track *> tracks;
+       std::map<unsigned, Turnout *> turnouts;
 };
-typedef std::list<Route *> RouteSeq;
 
 } // namespace Marklin