#ifndef LIBMARKLIN_TRAIN_H_
#define LIBMARKLIN_TRAIN_H_
+#include <sigc++/signal.h>
#include <sigc++/trackable.h>
#include "block.h"
class Train: public sigc::trackable
{
public:
+ sigc::signal<void, const std::string &> signal_name_changed;
+
Train(TrafficManager &, Locomotive &);
- const std::string &get_name() const { return name; }
+ void set_name(const std::string &);
void set_speed(unsigned);
+ const std::string &get_name() const { return name; }
+ Locomotive &get_locomotive() const { return loco; }
void place(Block *, const Block::Endpoint *);
bool free_block(Block *);
void tick();