]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/dummy.h
Make LCD output selectable at runtime through an extra I/O pin
[r2c2.git] / source / libmarklin / dummy.h
index dab38ec157ea1b5cb7b2ad8518bef52d81efe3dc..7485fa59e2cd5baee2ab97c42cd5351a5bd9db4a 100644 (file)
@@ -25,14 +25,19 @@ private:
        bool power;
        std::map<unsigned, bool> turnouts;
        std::map<unsigned, LocoState> locos;
+       std::map<unsigned, bool> sensors;
 
 public:
        Dummy();
 
        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 add_loco(unsigned) { }
+       virtual const char *enumerate_protocols(unsigned) const;
+       virtual unsigned get_protocol_speed_steps(const std::string &) const;
+       virtual void add_loco(unsigned, const std::string &) { }
        virtual void set_loco_speed(unsigned, unsigned);
        virtual void set_loco_reverse(unsigned, bool);
        virtual void set_loco_function(unsigned, unsigned, bool);
@@ -42,7 +47,8 @@ public:
        virtual bool get_turnout(unsigned) const;
 
        virtual void add_sensor(unsigned) { }
-       virtual bool get_sensor(unsigned) const { return false; }
+       virtual void set_sensor(unsigned, bool);
+       virtual bool get_sensor(unsigned) const;
 
        virtual void tick() { }
        virtual void flush() { }