]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouter.h
Avoid negative values of wait_time
[r2c2.git] / source / libr2c2 / trainrouter.h
index 835ec484737761663da76d30eb97246d0a6178bd..457bdf78cf59c5dd5fcfb4c49db644f991ec888b 100644 (file)
@@ -48,10 +48,11 @@ public:
 private:
        typedef std::list<const Route *> RouteList;
 
-       enum ArrivalState
+       enum TravelState
        {
                ON_THE_WAY,
                WAITING_FOR_SEQUENCE,
+               SEQUENCE_CHECK_PENDING,
                RESERVED_TO_END,
                ADVANCED_TO_END,
                ARRIVED
@@ -66,14 +67,13 @@ private:
        int priority;
        RouteList routes;
        RouteList::iterator reserving_route;
-       ArrivalState arrival;
+       TravelState state;
        std::vector<Waypoint> waypoints;
        bool waypoints_changed;
        std::vector<TrainRouteMetric *> metrics;
        bool metrics_stale;
        std::list<SequencePoint> sequence_points;
        unsigned current_sequence;
-       bool sequence_check_pending;
        Msp::Time::TimeDelta delay;
        Msp::Time::TimeDelta duration;
        Msp::RefPtr<TrainRoutePlanner> planner;
@@ -118,7 +118,7 @@ private:
        bool create_lead_route();
        bool advance_to_track(RouteList::iterator &, const TrackIter &);
 
-       static void get_routers(Layout &, std::vector<TrainRouter *> &);
+       static void get_routers(Layout &, std::vector<TrainRouter *> &, TrainRoutePlanner * = 0);
        static void start_planning(Layout &);
        static void apply_plan(Layout &, TrainRoutePlanner &);
 };