]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/timetable.h
Cosmetic fixes
[r2c2.git] / source / libr2c2 / timetable.h
index 07250ca94a941376601ad0dafd4b7419c4daaba2..9ec804e0692d02834c72fa2de50bdb4fc6f0c795 100644 (file)
@@ -27,7 +27,8 @@ public:
        enum RowType
        {
                ARRIVE = 1,
-               DEPART
+               DEPART,
+               THROUGH
        };
 
        struct Row
@@ -55,6 +56,15 @@ public:
                void save(std::list<Msp::DataFile::Statement> &) const;
        };
 
+       struct RowTypeMatch
+       {
+               RowType type;
+
+               RowTypeMatch(RowType t): type(t) { }
+
+               bool operator()(const Row &r) const { return r.type==type; }
+       };
+
        sigc::signal<void, unsigned, const Row &> signal_row_added;
        sigc::signal<void, unsigned, const Row &> signal_row_modified;
        sigc::signal<void, unsigned> signal_row_removed;
@@ -63,6 +73,7 @@ private:
        std::list<Row> rows;
        std::list<Row>::iterator current_row;
        bool update_pending;
+       bool sync_to_clock;
 
 public:
        Timetable(Train &);
@@ -80,9 +91,11 @@ 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 &);
+       void record_time();
 };
 
 } // namespace R2C2