X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetwork%2Ftrain.h;h=74c6ccb6cae38d28d3216f0ed6d6dd53cc5dd7b7;hb=a4566a4a23ff676f11a90615e8e468ef50107946;hp=57154a04e7245dd997990ee1fa79c9da520c037b;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/network/train.h b/source/network/train.h index 57154a0..74c6ccb 100644 --- a/source/network/train.h +++ b/source/network/train.h @@ -20,9 +20,9 @@ class NetTrain { public: sigc::signal signal_name_changed; - sigc::signal signal_speed_changed; - sigc::signal signal_reverse_changed; + sigc::signal signal_control_changed; sigc::signal signal_function_changed; + sigc::signal signal_route_changed; sigc::signal signal_status_changed; private: @@ -30,9 +30,9 @@ private: const LocoType &loco_type; unsigned address; std::string name; - unsigned speed; - bool reverse; + std::map controls; unsigned functions; + std::string route; std::string status; public: @@ -41,15 +41,16 @@ public: const LocoType &get_loco_type() const { return loco_type; } unsigned get_address() const { return address; } const std::string &get_name() const { return name; } - void set_speed(unsigned); - unsigned get_speed() const { return speed; } - void set_reverse(bool); - bool get_reverse() const { return reverse; } + void set_control(const std::string &, float); + float get_control(const std::string &) const; 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 TrainControlPacket &); void process_packet(const TrainFunctionPacket &); + void process_packet(const TrainRoutePacket &); void process_packet(const TrainStatusPacket &); };