+ unsigned get_current_sequence() const { return current_sequence; }
+private:
+ void use_planned_route();
+ void route_changed();
+
+public:
+ void set_destination(const TrackChain &);
+ const TrackChain *get_destination() const { return waypoints.empty() ? 0 : waypoints.back().chain; }
+ void add_waypoint(const TrackChain &, TrackChain::Direction = TrackChain::UNSPECIFIED);
+ unsigned get_n_waypoints() const { return waypoints.size(); }
+ const Waypoint &get_waypoint(unsigned) const;
+ const TrainRouteMetric &get_metric(int = -1) const;
+ void set_departure_delay(const Msp::Time::TimeDelta &);
+ const Msp::Time::TimeDelta &get_departure_delay() const { return delay; }
+ void set_trip_duration(const Msp::Time::TimeDelta &);
+ const Msp::Time::TimeDelta &get_trip_duration() const { return duration; }