X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrafficmanager.h;h=2707e098fb6caad5f339cfa57f805c8caeec9d3e;hb=aead7f2da831199fbb8f6950b067656b2965c2fa;hp=6e210bcf1f8a75430cfea680cd7f774bf8bd0b07;hpb=78bc40c2d1a5fcc5715143bd2326716fbb143730;p=r2c2.git diff --git a/source/libmarklin/trafficmanager.h b/source/libmarklin/trafficmanager.h index 6e210bc..2707e09 100644 --- a/source/libmarklin/trafficmanager.h +++ b/source/libmarklin/trafficmanager.h @@ -13,15 +13,21 @@ class Turnout; class TrafficManager { public: + sigc::signal signal_block_reserved; + TrafficManager(Control &, Layout &); + ~TrafficManager(); + Control &get_control() const { return control; } - Block *get_block_by_track(const Track *) const; + Block &get_block_by_track(const Track &) const; + const TrainSeq &get_trains() const { return trains; } void add_train(Train *); + void tick(); private: Control &control; Layout &layout; - BlockSeq blocks; - TrainSeq trains; + std::list blocks; + std::list trains; void turnout_route_changed(unsigned, Turnout *); };