X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fturnout.h;h=279571499e5ce0c2bb3f4e2ba64b31167fa60b19;hb=6109a2122226e1c71e9cc71e4c21036e99e43601;hp=801772b711d73f14781542971ad9104829ae6a91;hpb=52cbe8d99669f843f8f75c51128e2748584dd03a;p=r2c2.git diff --git a/source/libmarklin/turnout.h b/source/libmarklin/turnout.h index 801772b..2795714 100644 --- a/source/libmarklin/turnout.h +++ b/source/libmarklin/turnout.h @@ -1,3 +1,10 @@ +/* $Id$ + +This file is part of the MSP Märklin suite +Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa +Distributed under the GPL +*/ + #ifndef LIBMARKLIN_TURNOUT_H_ #define LIBMARKLIN_TURNOUT_H_ @@ -10,23 +17,29 @@ namespace Marklin { class Control; +class Reply; class Turnout { public: + sigc::signal signal_route_changing; sigc::signal signal_route_changed; - Turnout(Control &, unsigned); - void set_route(unsigned); - unsigned get_address() const { return addr; } - unsigned get_route() const { return route; } private: - Control &control; + Control &control; unsigned addr; unsigned route; + bool dual; +public: + Turnout(Control &, unsigned, bool =false); + + void set_route(unsigned); + unsigned get_address() const { return addr; } + unsigned get_route() const { return route; } +private: void command(bool); - void status_reply(Error, const std::string &); + void status_reply(const Reply &, bool); bool switch_timeout(); void turnout_event(unsigned, bool); };