/* $Id$
This file is part of the MSP Märklin suite
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
class Turnout
{
+public:
+ sigc::signal<void, unsigned> signal_route_changing;
+ sigc::signal<void, unsigned> signal_route_changed;
+
private:
- Control &control;
+ Control &control;
unsigned addr;
unsigned route;
+ bool dual;
public:
- sigc::signal<void, unsigned> signal_route_changed;
-
- Turnout(Control &, unsigned);
+ Turnout(Control &, unsigned, bool =false);
- void set_route(unsigned);
+ void set_route(unsigned);
unsigned get_address() const { return addr; }
- unsigned get_route() const { return route; }
+ unsigned get_route() const { return route; }
private:
void command(bool);
- void status_reply(const Reply &);
+ void status_reply(const Reply &, bool);
bool switch_timeout();
void turnout_event(unsigned, bool);
};