]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/control.h
Track power status
[r2c2.git] / source / libmarklin / control.h
index 4729695d7dbeb10d00e40f13578877a9f8493f61..df8ea1bc3c76ad9cc51b65c0c29c81481be87644 100644 (file)
@@ -30,30 +30,34 @@ private:
        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 &);