3 This file is part of the MSP Märklin suite
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef LIBMARKLIN_AICONTROL_H_
9 #define LIBMARKLIN_AICONTROL_H_
11 #include <sigc++/trackable.h>
12 #include "controlmodel.h"
13 #include "traincontrol.h"
19 class AIControl: public ControlModel, public sigc::trackable
23 ControlModel *next_model;
24 TrainControl target_speed;
28 AIControl(Train &, ControlModel *);
31 virtual void set_control(const std::string &, float);
32 virtual const TrainControl &get_control(const std::string &) const;
34 virtual float get_speed() const;
35 virtual float get_braking_distance() const;
37 virtual void tick(const Msp::Time::TimeDelta &);
43 } // namespace Marklin