]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/timetable.h
Allow zones with no qualifier or no number
[r2c2.git] / source / libr2c2 / timetable.h
index f3d62399e09b11a1e3d03843470229e957bb1e6b..3d7622aeb918c8ac35462df46e28cdc105548964 100644 (file)
@@ -2,12 +2,12 @@
 #define LIBR2C2_TIMETABLE_H_
 
 #include <msp/datafile/objectloader.h>
+#include "trackchain.h"
 #include "trainai.h"
 
 namespace R2C2 {
 
 class Layout;
-class TrackChain;
 
 class Timetable: public TrainAI
 {
@@ -44,11 +44,13 @@ public:
                private:
                        void block(unsigned);
                        void time(Msp::Time::RawTime);
-                       void zone(const std::string &, unsigned);
+                       void zone(const std::string &);
+                       void zone_numbered(const std::string &, unsigned);
                };
 
                RowType type;
                TrackChain *target;
+               TrackChain::Direction direction;
                Msp::Time::TimeDelta time;
 
                Row();
@@ -73,6 +75,7 @@ private:
        std::list<Row> rows;
        std::list<Row>::iterator current_row;
        bool update_pending;
+       bool sync_to_clock;
 
 public:
        Timetable(Train &);
@@ -90,7 +93,7 @@ public:
        void save(std::list<Msp::DataFile::Statement> &) const;
 
 private:
-       void check_update(std::list<Row>::const_iterator);
+       void check_update(const std::list<Row>::const_iterator &);
        std::list<Row>::iterator find_trip(const std::list<Row>::iterator &, std::list<Row>::iterator *);
        void update_route();
        void event(TrainAI &, const Message &);