]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/blockallocator.h
Use signal_advanced for train speed measurement and vehicle placement
[r2c2.git] / source / libr2c2 / blockallocator.h
index 95cb9108098d078dd70636c1a904a9c03f0814e9..33e9d5511654e41928527a5cc872d2735c7b4a29 100644 (file)
@@ -27,6 +27,8 @@ public:
                void hint(unsigned);
        };
 
+       sigc::signal<void, Block &, Sensor *> signal_advanced;
+
 private:
        struct BlockMatch;
 
@@ -48,7 +50,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 +67,9 @@ public:
 private:
        void reserve_more();
        bool reserve_block(const BlockIter &);
-       void advance_to(const Block *);
+       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 &);