Msp::Time::Timer timer;
public:
+ sigc::signal<void, bool> signal_power_event;
sigc::signal<void, unsigned, bool> signal_turnout_event;
sigc::signal<void, unsigned, bool> signal_sensor_event;
Control();
+ ~Control();
+
void set_power(bool);
bool get_power() const { return power; }
- void set_debug(bool d) { debug=d; }
- //const TurnoutMap &get_turnouts() const { return turnouts; }
+ void set_debug(bool);
const std::map<unsigned, Sensor *> &get_sensors() const { return sensors; }
unsigned get_queue_length() const { return queue.size(); }
void open(const std::string &);
Command &command(const std::string &);
+
void add_turnout(Turnout &);
Turnout &get_turnout(unsigned) const;
void add_locomotive(Locomotive &);
Locomotive &get_locomotive(unsigned) const;
void add_sensor(Sensor &);
Sensor &get_sensor(unsigned) const;
+
void tick();
Msp::Time::Timer::Slot &set_timer(const Msp::Time::TimeDelta &);
- ~Control();
private:
void read_all(int, char *, int);
std::string read_reply(Cmd);
+ void status_done(Error, const std::string &);
void event_query_done(Error, const std::string &);
void turnout_event_done(Error, const std::string &);
void sensor_event_done(Error, const std::string &);