]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/timetable.h
TrainAI framework
[r2c2.git] / source / libr2c2 / timetable.h
index 96275c9bd65df85645beedbe9f3f72e6be95957e..1bf8f4fe6c0b000db6823edb1f699dc369010682 100644 (file)
@@ -12,7 +12,7 @@ Distributed under the GPL
 #include <vector>
 #include <sigc++/trackable.h>
 #include <msp/datafile/objectloader.h>
-#include <msp/time/timestamp.h>
+#include "trainai.h"
 
 namespace R2C2 {
 
@@ -21,7 +21,7 @@ class Track;
 class Train;
 class Zone;
 
-class Timetable: public sigc::trackable
+class Timetable: public TrainAI, public sigc::trackable
 {
 public:
        class Loader: public Msp::DataFile::ObjectLoader<Timetable>
@@ -36,6 +36,7 @@ public:
                void route(const std::string &);
                void reverse();
                void speed(unsigned);
+               void tag(const std::string &);
                void travel_to(unsigned);
                void travel_past(unsigned);
                void wait(unsigned);
@@ -79,7 +80,6 @@ public:
        };
 
 private:
-       Train &train;
        bool enabled;
        std::vector<Row> rows;
        unsigned current_row;
@@ -102,7 +102,7 @@ public:
        unsigned get_n_rows() const { return rows.size(); }
        const Row &get_row(unsigned) const;
 
-       void tick(const Msp::Time::TimeStamp &);
+       void tick(const Msp::Time::TimeStamp &, const Msp::Time::TimeDelta &);
        void save(std::list<Msp::DataFile::Statement> &) const;
 private:
        Track &get_sensor(unsigned);