]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/train.h
Refer to things in the driver with abstract ids instead of addresses
[r2c2.git] / source / libr2c2 / train.h
index f3783893d3297628f5af69df539e3500e7b7cf66..16e67a43986776890b17734b54c9c15f91461478 100644 (file)
@@ -43,12 +43,15 @@ 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, unsigned, Vehicle &> signal_vehicle_added;
+       sigc::signal<void, unsigned, Vehicle &> signal_vehicle_removed;
 
 private:
        Layout &layout;
        const VehicleType &loco_type;
        unsigned address;
        std::string protocol;
+       unsigned loco_id;
        std::string name;
        const Train *preceding_train;
        std::vector<Vehicle *> vehicles;
@@ -110,7 +113,7 @@ public:
                return 0;
        }
 
-       void place(const BlockIter &);
+       bool place(const BlockIter &);
        void unplace();
        bool is_placed() const { return !allocator.empty(); }
        void stop_at(Block *);