X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fblockallocator.h;h=f5af90e585a4913554645cb189ee61d9fea32b17;hb=b8fe5be9bf33510499ec26b87a72a7cd65489ae9;hp=c0c265ae0bdf6bb03f0d8e1aa7c45d58b43007d2;hpb=83c2811157e9861a72e1ece34160cb014ef35fb5;p=r2c2.git diff --git a/source/libr2c2/blockallocator.h b/source/libr2c2/blockallocator.h index c0c265a..f5af90e 100644 --- a/source/libr2c2/blockallocator.h +++ b/source/libr2c2/blockallocator.h @@ -36,6 +36,7 @@ private: bool active; BlockList blocks; BlockList::iterator cur_blocks_end; + Sensor *next_sensor; Block *pending_block; const Block *stop_at_block; bool reserving; @@ -64,6 +65,9 @@ public: private: void reserve_more(); bool reserve_block(const BlockIter &); + void advance_front(const Block *, bool); + void advance_front(const Sensor *); + void advance_back(); void release_blocks_begin(const BlockList::iterator &); void release_blocks_end(const BlockList::iterator &); void release_block(const BlockList::iterator &); @@ -75,6 +79,7 @@ private: void turnout_path_changed(Track &); void block_reserved(Block &, const Train *); void sensor_state_changed(Sensor &, Sensor::State); + void update_next_sensor(Sensor *); public: void save(std::list &) const;