]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/blockallocator.h
Add a signal for advancing the rear end of the train
[r2c2.git] / source / libr2c2 / blockallocator.h
index ba939f7e2be6139bfcd219ad9b2b85b230958e98..cd6dfd5949d58aa49ec346079fcf8624241f1fd0 100644 (file)
@@ -27,6 +27,9 @@ public:
                void hint(unsigned);
        };
 
+       sigc::signal<void, Block &, Sensor *> signal_advanced;
+       sigc::signal<void, Block &> signal_rear_advanced;
+
 private:
        struct BlockMatch;
 
@@ -48,7 +51,7 @@ public:
        void set_active(bool);
        bool is_active() const { return active; }
 
-       void start_from(const BlockIter &);
+       bool start_from(const BlockIter &);
        void rewind_to(const Block &);
        void clear();
        bool empty() const { return blocks.empty(); }
@@ -65,7 +68,7 @@ public:
 private:
        void reserve_more();
        bool reserve_block(const BlockIter &);
-       void advance_front(const Block *);
+       void advance_front(const Block *, bool);
        void advance_front(const Sensor *);
        void advance_back();
        void release_blocks_begin(const BlockList::iterator &);