sigc::signal<void, unsigned> signal_speed_changed;
sigc::signal<void, bool> signal_reverse_changed;
sigc::signal<void, unsigned, bool> signal_function_changed;
+ sigc::signal<void, const std::string &> signal_route_changed;
sigc::signal<void, const std::string &> signal_status_changed;
private:
unsigned speed;
bool reverse;
unsigned functions;
+ std::string route;
std::string status;
public:
bool get_reverse() const { return reverse; }
void set_function(unsigned, bool);
bool get_function(unsigned i) const { return (functions>>i)&1; }
+ void set_route(const std::string &);
+ const std::string &get_route() const { return route; }
void process_packet(const TrainSpeedPacket &);
void process_packet(const TrainFunctionPacket &);
+ void process_packet(const TrainRoutePacket &);
void process_packet(const TrainStatusPacket &);
};