X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Ftrafficmanager.h;fp=source%2Flibmarklin%2Ftrafficmanager.h;h=11ecc9551b3a013aff96e86d9ffc7cc614ec9336;hb=6c61179fe09af2f5366d50f10aadbf5f83438087;hp=0000000000000000000000000000000000000000;hpb=6028010256e4ce2c4fdd355e91e0cfef1573de64;p=r2c2.git diff --git a/source/libmarklin/trafficmanager.h b/source/libmarklin/trafficmanager.h new file mode 100644 index 0000000..11ecc95 --- /dev/null +++ b/source/libmarklin/trafficmanager.h @@ -0,0 +1,31 @@ +#ifndef LIBMARKLIN_TRAFFICMANAGER_H_ +#define LIBMARKLIN_TRAFFICMANAGER_H_ + +#include "section.h" +#include "train.h" + +namespace Marklin { + +class Control; +class Layout; +class Turnout; + +class TrafficManager +{ +public: + TrafficManager(Control &, Layout &); + Control &get_control() const { return control; } + Section *get_section_by_track(const Track *) const; + void add_train(Train *); +private: + Control &control; + Layout &layout; + SectionSeq sections; + TrainSeq trains; + + void turnout_route_changed(unsigned, Turnout *); +}; + +} // namespace Marklin + +#endif