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_CONTROLMODEL_H_
9 #define LIBMARKLIN_CONTROLMODEL_H_
12 #include <sigc++/signal.h>
13 #include <msp/time/timedelta.h>
22 sigc::signal<void, const std::string &, float> signal_control_changed;
27 virtual ~ControlModel() { }
29 virtual void set_control(const std::string &, float) = 0;
30 virtual const TrainControl &get_control(const std::string &) const = 0;
32 virtual float get_speed() const = 0;
33 virtual float get_braking_distance() const = 0;
35 virtual void tick(const Msp::Time::TimeDelta &) = 0;
38 } // namespace Marklin