#include <sigc++/signal.h>
#include <sigc++/trackable.h>
+#include <msp/datafile/objectloader.h>
#include <msp/time/timestamp.h>
#include "block.h"
#include "blockiter.h"
class Train: public sigc::trackable
{
public:
- class Loader: public Msp::DataFile::BasicLoader<Train>
+ class Loader: public Msp::DataFile::ObjectLoader<Train>
{
private:
Block *prev_block;
bool is_placed() const { return !blocks.empty(); }
bool free_block(Block &);
void free_noncritical_blocks();
- int get_entry_to_block(Block &) const;
+ int get_entry_to_block(const Block &) const;
float get_reserved_distance() const;
void tick(const Msp::Time::TimeStamp &, const Msp::Time::TimeDelta &);