X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fcentralstation.h;h=959a5acb6b21b8429ba8dfe851f1c7bbee1d5e90;hb=b78b49d85fbb9b2901c77e6450cfd41c0a818ac1;hp=6fe26f61e6b94802c5f74eb2501430d02552c805;hpb=3e3675f8d86b06cdea7df197dfe8866ffb285aec;p=r2c2.git diff --git a/source/libr2c2/centralstation.h b/source/libr2c2/centralstation.h index 6fe26f6..959a5ac 100644 --- a/source/libr2c2/centralstation.h +++ b/source/libr2c2/centralstation.h @@ -126,7 +126,7 @@ private: bool sensors_synced; public: - CentralStation(const std::string &); + CentralStation(const Options &); ~CentralStation(); virtual void set_power(bool); @@ -137,30 +137,39 @@ public: virtual const char *enumerate_protocols(unsigned) const; virtual unsigned get_protocol_speed_steps(const std::string &) const; - virtual void add_loco(unsigned, const std::string &, const VehicleType &); + virtual DetectedLocomotive *enumerate_detected_locos(unsigned) const { return 0; } + virtual unsigned add_loco(unsigned, const std::string &, const VehicleType &); + virtual void remove_loco(unsigned); virtual void set_loco_speed(unsigned, unsigned); virtual void set_loco_reverse(unsigned, bool); virtual void set_loco_function(unsigned, unsigned, bool); - virtual void add_turnout(unsigned, const TrackType &); + virtual unsigned add_turnout(unsigned, const TrackType &); + virtual void remove_turnout(unsigned); virtual void set_turnout(unsigned, unsigned); virtual unsigned get_turnout(unsigned) const; - virtual void add_signal(unsigned, const SignalType &); + virtual unsigned add_signal(unsigned, const SignalType &); + virtual void remove_signal(unsigned); virtual void set_signal(unsigned, unsigned); virtual unsigned get_signal(unsigned) const; private: MagnetAccessory &add_accessory(unsigned, MagnetAccessory::Type, MagnetAccessory::Symbol); + void remove_accessory(unsigned); void set_accessory_state(unsigned, MagnetAccessory::Type, unsigned); unsigned get_accessory_state(unsigned, MagnetAccessory::Type) const; void accessory_state_changed(const MagnetAccessory &) const; public: - virtual void add_sensor(unsigned); + virtual unsigned add_sensor(unsigned); + virtual void remove_sensor(unsigned); virtual void set_sensor(unsigned, bool) { } virtual bool get_sensor(unsigned) const; + virtual const TelemetryInfo *enumerate_telemetry(unsigned) const { return 0; } + virtual float get_telemetry_value(const std::string &) const; + virtual void tick(); virtual void flush();