]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/train.h
Add a signal for advancing the rear end of the train
[r2c2.git] / source / libr2c2 / train.h
index 340537a89a401242fd08cabb2c004459892ec36e..6d9a20f7c2ee5b5ea5af15bf0e5b0629a070d7dc 100644 (file)
@@ -35,6 +35,7 @@ public:
                void name(const std::string &);
                void quantized_speed();
                void router();
+               void timetable();
                void vehicle(ArticleNumber);
        };
 
@@ -43,6 +44,7 @@ public:
        sigc::signal<void, unsigned, bool> signal_function_changed;
        sigc::signal<void, TrainAI &, const TrainAI::Message &> signal_ai_event;
        sigc::signal<void, Block &> signal_advanced;
+       sigc::signal<void, Block &> signal_rear_advanced;
        sigc::signal<void, unsigned, Vehicle &> signal_vehicle_added;
        sigc::signal<void, unsigned, Vehicle &> signal_vehicle_removed;
 
@@ -51,6 +53,7 @@ private:
        const VehicleType &loco_type;
        unsigned address;
        std::string protocol;
+       unsigned loco_id;
        std::string name;
        const Train *preceding_train;
        std::vector<Vehicle *> vehicles;
@@ -96,6 +99,7 @@ public:
        float get_speed() const;
        float get_quantized_speed() const;
        unsigned get_speed_step() const { return current_speed_step; }
+       float get_maximum_speed() const;
        bool get_function(unsigned) const;
        unsigned get_functions() const { return functions; }
 
@@ -129,7 +133,7 @@ private:
        void control_changed(const Controller::Control &);
        void loco_speed_event(unsigned, unsigned, bool);
        void loco_func_event(unsigned, unsigned, bool);
-       void sensor_state_changed(Sensor &, Sensor::State);
+       void advanced(Block &, Sensor *);
        void halt_event(bool);
        void block_reserved(const Block &, const Train *);
        float get_reserved_distance_until(const Block *) const;