X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fblockallocator.h;h=b401233593793a52743ef9bfb0967e4f27005197;hb=d0881a98a6240758ac1aeceaa9443d718ab1ad5c;hp=33e9d5511654e41928527a5cc872d2735c7b4a29;hpb=42a5c6606e82b1a27cb6d4d7afa630c75c869f97;p=r2c2.git diff --git a/source/libr2c2/blockallocator.h b/source/libr2c2/blockallocator.h index 33e9d55..b401233 100644 --- a/source/libr2c2/blockallocator.h +++ b/source/libr2c2/blockallocator.h @@ -28,6 +28,7 @@ public: }; sigc::signal signal_advanced; + sigc::signal signal_rear_advanced; private: struct BlockMatch; @@ -43,6 +44,7 @@ private: const Block *stop_at_block; bool reserving; bool advancing; + bool reserve_pending; public: BlockAllocator(Train &); @@ -64,6 +66,8 @@ public: bool has_block(const Block &) const; bool is_block_current(const Block &) const; + void tick(); + private: void reserve_more(); bool reserve_block(const BlockIter &); @@ -82,6 +86,7 @@ private: void block_reserved(Block &, const Train *); void sensor_state_changed(Sensor &, Sensor::State); void update_next_sensor(Sensor *); + void halt_event(bool); public: void save(std::list &) const;