#include <list>
#include <msp/datafile/objectloader.h>
-#include "block.h"
#include "blockiter.h"
+#include "sensor.h"
namespace R2C2 {
};
private:
+ struct BlockMatch;
+
typedef std::list<BlockIter> BlockList;
Train &train;
bool has_block(const Block &) const;
bool is_block_current(const Block &) const;
-private:
- BlockList::const_iterator find_block(const BlockList::const_iterator &, const BlockList::const_iterator &, const Block &) const;
-public:
void reserve_more();
private:
bool reserve_block(const BlockIter &);
public:
- void release_until(const Block &);
bool release_from(const Block &);
void release_noncurrent();
private:
private:
void turnout_path_changed(Track &);
void block_reserved(Block &, const Train *);
- void block_state_changed(Block &, Block::State);
+ void sensor_state_changed(Sensor &, Sensor::State);
public:
void save(std::list<Msp::DataFile::Statement> &) const;