]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/route.h
Also use TrackChains as target locations in Timetable
[r2c2.git] / source / libr2c2 / route.h
index 9b440cb255bdb33bdf9f4981c1138be91ec466ca..2133b766532c8c5287ebe6c3b57a89e7b33b0d52 100644 (file)
@@ -31,13 +31,11 @@ public:
                Loader(Route &);
        private:
                virtual void finish();
+               void name(const std::string &);
                void turnout(unsigned, unsigned);
        };
 
-       sigc::signal<void, const std::string &> signal_name_changed;
-
 private:
-       std::string name;
        bool temporary;
        TurnoutMap turnouts;
 
@@ -45,21 +43,22 @@ public:
        Route(Layout &);
        ~Route();
 
-       void set_name(const std::string &);
-       const std::string &get_name() const { return name; }
        void set_temporary(bool);
        bool is_temporary() const { return temporary; }
-       void set_turnout(unsigned, unsigned);
        void update_turnouts();
+private:
+       void update_turnout(Track &);
+public:
        int get_turnout(unsigned) const;
        unsigned get_path(Track &) const;
        const std::map<unsigned, int> &get_turnouts() const { return turnouts; }
-       void add_track_chain(const TrackIter &, const TurnoutMap &);
 private:
+       void add_turnout(Track &, unsigned);
        virtual void on_track_added(Track &);
 
 public:
        void save(std::list<Msp::DataFile::Statement> &) const;
+       virtual Msp::DataFile::Statement save_reference() const;
 
        static Route *find(const TrackIter &, Track &);
        static Route *find(const TrackIter &, const Route &);