X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnetwork%2Ftrain.h;h=bffa8a24fbdff372130c822d6abaf363f7e7cf0b;hb=dbaa67c30705a9993d2626cec588c7320f1eef17;hp=0a6a8a8f9063700dadf6bdb1d26c8f6eda835fbf;hpb=2fe7cbcb761487bc7409b93b372da6f8ab3c581e;p=r2c2.git diff --git a/source/network/train.h b/source/network/train.h index 0a6a8a8..bffa8a2 100644 --- a/source/network/train.h +++ b/source/network/train.h @@ -1,18 +1,18 @@ /* $Id$ -This file is part of the MSP Märklin suite +This file is part of R²C² Copyright © 2009 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ -#ifndef MARKLINNET_TRAIN_H_ -#define MARKLINNET_TRAIN_H_ +#ifndef R2C2_NET_TRAIN_H_ +#define R2C2_NET_TRAIN_H_ #include -#include "libmarklin/locotype.h" +#include "libr2c2/vehicletype.h" #include "packets.h" -namespace Marklin { +namespace R2C2 { class Client; @@ -20,19 +20,17 @@ 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: Client &client; - const LocoType &loco_type; + const VehicleType &loco_type; unsigned address; std::string name; - unsigned speed; - bool reverse; + std::map controls; unsigned functions; std::string route; std::string status; @@ -40,24 +38,22 @@ private: public: NetTrain(Client &, const TrainInfoPacket &); - const LocoType &get_loco_type() const { return loco_type; } + const VehicleType &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 &); }; -} // namespace Marklin +} // namespace R2C2 #endif