class Turnout
{
public:
- sigc::signal<void, unsigned> signal_route_changing;
- sigc::signal<void, unsigned> signal_route_changed;
+ sigc::signal<void, unsigned> signal_path_changing;
+ sigc::signal<void, unsigned> signal_path_changed;
private:
Control &control;
unsigned addr;
- unsigned route;
+ unsigned char path;
+ unsigned char pending_path;
+ unsigned char pending_cmds;
bool dual;
+ bool on;
public:
Turnout(Control &, unsigned, bool =false);
- void set_route(unsigned);
+ void set_path(unsigned char);
unsigned get_address() const { return addr; }
- unsigned get_route() const { return route; }
+ unsigned char get_path() const { return path; }
private:
- void command(bool);
- void status_reply(const Reply &, bool);
- bool switch_timeout();
+ void command(unsigned char);
+ void command_reply(const Reply &, unsigned char);
+ void status_reply(const Reply &, unsigned char);
void turnout_event(unsigned, bool);
};