]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/turnout.h
Allow setting sensor ID for multiple tracks at once
[r2c2.git] / source / libmarklin / turnout.h
index 801772b711d73f14781542971ad9104829ae6a91..ae6865406523007285bf34ba561ae55105b1375a 100644 (file)
@@ -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_
 
 namespace Marklin {
 
 class Control;
+class Reply;
 
 class Turnout
 {
+private:
+       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);
        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);
 };