X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fdummy.h;h=7485fa59e2cd5baee2ab97c42cd5351a5bd9db4a;hb=975ea87cc7be179618b06291cb2506a2523cad1f;hp=96b62a89d3bf5cf2e55edc3c14752e45fc7a9c25;hpb=651698847d5293cfb15b6fb23a394701388c0151;p=r2c2.git diff --git a/source/libmarklin/dummy.h b/source/libmarklin/dummy.h index 96b62a8..7485fa5 100644 --- a/source/libmarklin/dummy.h +++ b/source/libmarklin/dummy.h @@ -16,26 +16,39 @@ namespace Marklin { class Dummy: public Driver { private: + struct LocoState + { + unsigned speed; + bool reverse; + }; + bool power; std::map turnouts; + std::map locos; + std::map 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 void set_loco_speed(unsigned, unsigned) { } - virtual void set_loco_reverse(unsigned, bool) { } - virtual void set_loco_function(unsigned, unsigned, bool) { } + 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); virtual void add_turnout(unsigned); virtual void set_turnout(unsigned, bool); 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() { }