]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/dummy.h
Add turnout failure simulation to the dummy driver
[r2c2.git] / source / libr2c2 / dummy.h
index 4c43d14a6910be161dbbe555ffe6909da1698372..547efc3269622850b764feeadea4adb73f08df17 100644 (file)
@@ -25,21 +25,24 @@ private:
        };
 
        bool power;
+       bool halted;
        std::map<unsigned, TurnoutState> turnouts;
        std::map<unsigned, LocoState> locos;
        std::map<unsigned, bool> sensors;
        Msp::Time::TimeDelta turnout_delay;
+       int turnout_fail_rate;
 
 public:
-       Dummy(const std::string &);
+       Dummy(const Options &);
 
        virtual void set_power(bool);
        virtual bool get_power() const { return power; }
-       virtual void halt(bool) { }
-       virtual bool is_halted() const { return false; }
+       virtual void halt(bool);
+       virtual bool is_halted() const { return halted; }
 
        virtual const char *enumerate_protocols(unsigned) const;
        virtual unsigned get_protocol_speed_steps(const std::string &) const;
+       virtual DetectedLocomotive *enumerate_detected_locos(unsigned) const { return 0; }
        virtual unsigned add_loco(unsigned a, const std::string &, const VehicleType &) { return a; }
        virtual void remove_loco(unsigned) { }
        virtual void set_loco_speed(unsigned, unsigned);