]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/controlmodel.h
Implement train priority system
[r2c2.git] / source / libmarklin / controlmodel.h
index d37ef634eee03aa5fa9619d1d7fbce4f58dfeaaf..17bb72ba94253db0b82b73d6d85bbd22d00aa516 100644 (file)
@@ -9,6 +9,7 @@ Distributed under the GPL
 #define LIBMARKLIN_CONTROLMODEL_H_
 
 #include <string>
+#include <sigc++/signal.h>
 #include <msp/time/timedelta.h>
 
 namespace Marklin {
@@ -17,6 +18,9 @@ class TrainControl;
 
 class ControlModel
 {
+public:
+       sigc::signal<void, const std::string &, float> signal_control_changed;
+
 protected:
        ControlModel() { }
 public:
@@ -26,6 +30,7 @@ public:
        virtual const TrainControl &get_control(const std::string &) const = 0;
 
        virtual float get_speed() const = 0;
+       virtual bool get_reverse() const = 0;
        virtual float get_braking_distance() const = 0;
 
        virtual void tick(const Msp::Time::TimeDelta &) = 0;