X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fdriver.h;h=7c762d0066b4b9b668030edb0e53dec09d0ebf50;hb=77f1712e7f8913af3ce33efc0e1e4ebbe0e5f93a;hp=101426026a15b2c6577e7aceb27376e7c47540d8;hpb=0bfaea65cfa324dfbb517b551709219529ef24b8;p=r2c2.git diff --git a/source/libr2c2/driver.h b/source/libr2c2/driver.h index 1014260..7c762d0 100644 --- a/source/libr2c2/driver.h +++ b/source/libr2c2/driver.h @@ -13,8 +13,17 @@ class VehicleType; class Driver { public: + struct DetectedLocomotive + { + std::string protocol; + unsigned address; + std::string name; + }; + sigc::signal signal_power; sigc::signal signal_halt; + sigc::signal signal_locomotive_detected; + sigc::signal signal_locomotive_gone; sigc::signal signal_loco_speed; sigc::signal signal_loco_function; sigc::signal signal_turnout; @@ -33,6 +42,8 @@ public: virtual const char *enumerate_protocols(unsigned) const = 0; virtual unsigned get_protocol_speed_steps(const std::string &) const = 0; + + virtual const DetectedLocomotive *enumerate_detected_locos(unsigned) const = 0; virtual unsigned add_loco(unsigned, const std::string &, const VehicleType &) = 0; virtual void remove_loco(unsigned) = 0; virtual void set_loco_speed(unsigned, unsigned) = 0;