]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/block.cpp
Move block reservation signal serialization to Layout
[r2c2.git] / source / libr2c2 / block.cpp
index 25b3bc8b85163d0bfd2ece6a54718f02b840ec6d..289c4e54f6bd14de4107f1e4246144e8438c168b 100644 (file)
@@ -21,9 +21,7 @@ Block::Block(Layout &l, Track &start):
        turnout_addr(start.get_turnout_address()),
        conflict(false),
        sensor(0),
-       train(0),
-       pending_train(0),
-       emitting_reserve(false)
+       train(0)
 {
        add_track(start);
 
@@ -170,19 +168,10 @@ Block *Block::get_link(unsigned epi) const
 
 bool Block::reserve(Train *t)
 {
-       if(!t || !(emitting_reserve ? pending_train : train))
+       if(!t || !train)
        {
-               pending_train = t;
-               if(!emitting_reserve)
-               {
-                       while(pending_train!=train)
-                       {
-                               train = pending_train;
-                               SetFlag setf(emitting_reserve);
-                               signal_reserved.emit(train);
-                       }
-               }
-
+               train = t;
+               signal_reserved.emit(t);
                return true;
        }
        else