X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fturnout.h;h=c7a603c78e53db9224b75951aa3474d107c62338;hb=a6a65f32fdf1b0eae00bfcafa70dbca5391cb09e;hp=dbb689e5f8cfb00d67a011f135bcb034b1b31c49;hpb=1d735b80482317fd930eb47ca255ab9f1f120a7d;p=r2c2.git diff --git a/source/libmarklin/turnout.h b/source/libmarklin/turnout.h index dbb689e..c7a603c 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,26 +17,33 @@ namespace Marklin { class Control; +class Reply; class Turnout { +public: + sigc::signal signal_path_changing; + sigc::signal signal_path_changed; + private: - Control &control; + Control &control; unsigned addr; - unsigned route; + unsigned char path; + unsigned char pending_path; + unsigned char pending_cmds; + bool dual; + bool on; public: - sigc::signal signal_route_changed; - - Turnout(Control &, unsigned); + 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(Error, const std::string &); - 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); };