]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/driver.h
Add basic support for signals
[r2c2.git] / source / libr2c2 / driver.h
index ec143e83d244c24f32b308fa8d3b646f07e4d68d..dc143b03132486d82702ccc088394859b6336eca 100644 (file)
@@ -6,6 +6,7 @@
 
 namespace R2C2 {
 
+class SignalType;
 class TrackType;
 class VehicleType;
 
@@ -17,6 +18,7 @@ public:
        sigc::signal<void, unsigned, unsigned, bool> signal_loco_speed;
        sigc::signal<void, unsigned, unsigned, bool> signal_loco_function;
        sigc::signal<void, unsigned, unsigned> signal_turnout;
+       sigc::signal<void, unsigned, unsigned> signal_signal;
        sigc::signal<void, unsigned, bool> signal_sensor;
 
 protected:
@@ -40,6 +42,10 @@ public:
        virtual void set_turnout(unsigned, unsigned) = 0;
        virtual unsigned get_turnout(unsigned) const = 0;
 
+       virtual void add_signal(unsigned, const SignalType &) = 0;
+       virtual void set_signal(unsigned, unsigned) = 0;
+       virtual unsigned get_signal(unsigned) const = 0;
+
        virtual void add_sensor(unsigned) = 0;
        virtual void set_sensor(unsigned, bool) = 0;
        virtual bool get_sensor(unsigned) const = 0;