X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrafficmanager.h;h=d75bf3ae50b48cecca640c87cb4ac354e5e6867a;hb=38fb8d56efde037a71c46a58bda314655e68ab6c;hp=293783f112d8f914dcc027c903c16c4b8d1ae841;hpb=3e9c210ddc036cd015228504cc0803c909e27f84;p=r2c2.git diff --git a/source/libmarklin/trafficmanager.h b/source/libmarklin/trafficmanager.h index 293783f..d75bf3a 100644 --- a/source/libmarklin/trafficmanager.h +++ b/source/libmarklin/trafficmanager.h @@ -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 + { + public: + Loader(TrafficManager &); + private: + void train(unsigned, unsigned); + }; + + sigc::signal signal_block_reserved; + private: Control &control; Layout &layout; std::list blocks; std::list trains; + Msp::Time::TimeStamp last_tick; public: - sigc::signal signal_block_reserved; - TrafficManager(Control &, Layout &); ~TrafficManager(); @@ -37,6 +47,7 @@ public: const std::list &get_trains() const { return trains; } void add_train(Train *); void tick(); + void save(const std::string &) const; private: void turnout_route_changed(unsigned, Turnout *); };