X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fdummy.cpp;h=da6c5c97cb630874db1889afcbd0476365016b7f;hb=9b05c573a38639827697fe393d55b7c76f5bde45;hp=99e97933879accb2eacf4e3994451d66914a89ee;hpb=43638fd7170c5c8290212c38c3eaf623b8c1b415;p=r2c2.git diff --git a/source/libmarklin/dummy.cpp b/source/libmarklin/dummy.cpp index 99e9793..da6c5c9 100644 --- a/source/libmarklin/dummy.cpp +++ b/source/libmarklin/dummy.cpp @@ -21,6 +21,18 @@ void Dummy::set_power(bool p) signal_power.emit(power); } +const char *Dummy::enumerate_protocols(unsigned i) const +{ + if(i==0) + return "dummy"; + return 0; +} + +unsigned Dummy::get_protocol_speed_steps(const string &) const +{ + return 0; +} + void Dummy::add_turnout(unsigned addr) { turnouts[addr]; @@ -62,4 +74,21 @@ void Dummy::set_loco_function(unsigned addr, unsigned func, bool state) signal_loco_function.emit(addr, func, state); } +void Dummy::set_sensor(unsigned addr, bool state) +{ + if(sensors[addr]!=state) + { + sensors[addr] = state; + signal_sensor.emit(addr, state); + } +} + +bool Dummy::get_sensor(unsigned addr) const +{ + map::const_iterator i = sensors.find(addr); + if(i!=sensors.end()) + return i->second; + return false; +} + } // namespace Marklin