+++ /dev/null
-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
-#ifndef LIBMARKLIN_DRIVER_H_
-#define LIBMARKLIN_DRIVER_H_
-
-#include <string>
-#include <sigc++/signal.h>
-
-namespace Marklin {
-
-class Driver
-{
-public:
- sigc::signal<void, bool> signal_power;
- sigc::signal<void, bool> signal_halt;
- sigc::signal<void, unsigned, unsigned, bool> signal_loco_speed;
- sigc::signal<void, unsigned, unsigned, bool> signal_loco_function;
- sigc::signal<void, unsigned, bool> signal_turnout;
- sigc::signal<void, unsigned, bool> signal_sensor;
-
-protected:
- Driver() { }
-public:
- virtual ~Driver() { }
-
- virtual void set_power(bool) = 0;
- virtual bool get_power() const = 0;
- virtual void halt(bool) = 0;
- virtual bool is_halted() const = 0;
-
- virtual const char *enumerate_protocols(unsigned) const = 0;
- virtual unsigned get_protocol_speed_steps(const std::string &) const = 0;
- virtual void add_loco(unsigned, const std::string &) = 0;
- virtual void set_loco_speed(unsigned, unsigned) = 0;
- virtual void set_loco_reverse(unsigned, bool) = 0;
- virtual void set_loco_function(unsigned, unsigned, bool) = 0;
-
- virtual void add_turnout(unsigned) = 0;
- virtual void set_turnout(unsigned, bool) = 0;
- virtual bool get_turnout(unsigned) const = 0;
-
- virtual void add_sensor(unsigned) = 0;
- virtual void set_sensor(unsigned, bool) = 0;
- virtual bool get_sensor(unsigned) const = 0;
-
- virtual void tick() = 0;
- virtual void flush() = 0;
-
- static Driver *create(const std::string &);
-};
-
-} // namespace Marklin
-
-#endif