X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fturnout.h;h=ae6865406523007285bf34ba561ae55105b1375a;hb=3df8cb5c78fbb0b919bcb79677c6c788b8028482;hp=edf1c03bc384ee95f83ed4fc521eac6cd9bd8f2c;hpb=6c61179fe09af2f5366d50f10aadbf5f83438087;p=r2c2.git diff --git a/source/libmarklin/turnout.h b/source/libmarklin/turnout.h index edf1c03..ae68654 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,28 +17,30 @@ namespace Marklin { class Control; +class Reply; class Turnout { +private: + Control &control; + unsigned addr; + unsigned route; + bool dual; + public: sigc::signal signal_route_changed; - Turnout(Control &, unsigned); + Turnout(Control &, unsigned, bool =false); + void set_route(unsigned); unsigned get_address() const { return addr; } unsigned get_route() const { return route; } private: - Control &control; - unsigned addr; - unsigned route; - void command(bool); - void status_reply(Error, const std::string &); + void status_reply(const Reply &, bool); bool switch_timeout(); void turnout_event(unsigned, bool); }; -typedef std::list TurnoutSeq; -typedef std::map TurnoutMap; } // namespace Marklin