]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/intellibox.h
Allow zones with no qualifier or no number
[r2c2.git] / source / libr2c2 / intellibox.h
index 46c769b925053e60553596841663816c371d7144..caf84905dbe617524167838468fabeac6a106010 100644 (file)
@@ -127,7 +127,7 @@ private:
        Msp::Time::TimeStamp next_event_query;
 
 public:
-       Intellibox(const std::string &);
+       Intellibox(const Options &);
 
        virtual void set_power(bool);
        virtual bool get_power() const { return power; }
@@ -136,32 +136,36 @@ 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);
 private:
-       void add_turnout(unsigned, unsigned, bool);
+       unsigned add_turnout(unsigned, unsigned, bool);
        void turnout_state_changed(unsigned, const Turnout &) const;
 public:
        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;
 
 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();