]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/trafficmanager.h
Code reformatting: add spaces around assignment operators
[r2c2.git] / source / libmarklin / trafficmanager.h
index 293783f112d8f914dcc027c903c16c4b8d1ae841..d75bf3ae50b48cecca640c87cb4ac354e5e6867a 100644 (file)
@@ -1,7 +1,7 @@
 /* $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
 */
 
@@ -19,15 +19,25 @@ class Turnout;
 
 class TrafficManager
 {
+public:
+       class Loader: public Msp::DataFile::BasicLoader<TrafficManager>
+       {
+       public:
+               Loader(TrafficManager &);
+       private:
+               void train(unsigned, unsigned);
+       };
+
+       sigc::signal<void, const Block &, const Train *> signal_block_reserved;
+
 private:
        Control &control;
        Layout &layout;
        std::list<Block *> blocks;
        std::list<Train *> trains;
+       Msp::Time::TimeStamp last_tick;
 
 public:
-       sigc::signal<void, const Block &, const Train *> signal_block_reserved;
-
        TrafficManager(Control &, Layout &);
        ~TrafficManager();
 
@@ -37,6 +47,7 @@ public:
        const std::list<Train *> &get_trains() const { return trains; }
        void add_train(Train *);
        void tick();
+       void save(const std::string &) const;
 private:
        void turnout_route_changed(unsigned, Turnout *);
 };