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 "controller.h"
18 class AIControl: public Controller, public sigc::trackable
22 Controller *next_ctrl;
28 AIControl(Train &, Controller *);
31 virtual void set_control(const std::string &, float);
32 virtual const Control &get_control(const std::string &) const;
34 virtual float get_speed() const;
35 virtual bool get_reverse() const;
36 virtual float get_braking_distance() const;
38 virtual void tick(const Msp::Time::TimeDelta &);
41 void control_changed(const Control &);
45 } // namespace Marklin