]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/trafficmanager.h
Add state loading and saving to engineer
[r2c2.git] / source / libmarklin / trafficmanager.h
index a73e57c99950c44081637ed9513a18c0099309d0..b09c500ff39fabf0ed18d7f0ac2e154ffdd4e5d5 100644 (file)
@@ -1,3 +1,10 @@
+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
 #ifndef LIBMARKLIN_TRAFFICMANAGER_H_
 #define LIBMARKLIN_TRAFFICMANAGER_H_
 
@@ -12,11 +19,21 @@ class Turnout;
 
 class TrafficManager
 {
+public:
+       class Loader: public Msp::DataFile::BasicLoader<TrafficManager>
+       {
+       public:
+               Loader(TrafficManager &);
+       private:
+               void train(unsigned, unsigned);
+       };
+
 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;
@@ -30,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 *);
 };