struct Locomotive
{
+ std::string protocol;
unsigned speed;
bool reverse;
unsigned funcs;
virtual void halt(bool);
virtual bool is_halted() const { return halted; }
- 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);