X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Flocomotive.h;h=89b275ecb0db2020cc635dc695c8853648bd1d02;hb=7839b7c3d782abb5c98a24d51cae109407068c02;hp=eae99f57dddfdb66e5f7183fa3fa52356a540e97;hpb=1d735b80482317fd930eb47ca255ab9f1f120a7d;p=r2c2.git diff --git a/source/libmarklin/locomotive.h b/source/libmarklin/locomotive.h index eae99f5..89b275e 100644 --- a/source/libmarklin/locomotive.h +++ b/source/libmarklin/locomotive.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_LOCOMOTIVE_H_ #define LIBMARKLIN_LOCOMOTIVE_H_ @@ -9,10 +16,13 @@ namespace Marklin { class Control; +class LocoType; +class Reply; class Locomotive { private: + const LocoType &type; Control &control; unsigned addr; unsigned speed; @@ -20,10 +30,13 @@ private: unsigned funcs; public: + sigc::signal signal_speed_changing; sigc::signal signal_speed_changed; + sigc::signal signal_function_changed; - Locomotive(Control &, unsigned); + Locomotive(const LocoType &, Control &, unsigned); + const LocoType &get_type() const { return type; } void set_speed(unsigned); void set_reverse(bool); void set_function(unsigned, bool); @@ -34,7 +47,7 @@ public: void refresh_status(); private: void send_command(bool); - void status_reply(Error, const std::string &); + void status_reply(const Reply &); bool reverse_timeout(); };