- virtual void add_turnout(unsigned) = 0;
- virtual void set_turnout(unsigned, bool) = 0;
- virtual bool get_turnout(unsigned) const = 0;
+ virtual unsigned add_turnout(unsigned, const TrackType &) = 0;
+ virtual void remove_turnout(unsigned) = 0;
+ virtual void set_turnout(unsigned, unsigned) = 0;
+ virtual unsigned get_turnout(unsigned) const = 0;
+
+ virtual unsigned add_signal(unsigned, const SignalType &) = 0;
+ virtual void remove_signal(unsigned) = 0;
+ virtual void set_signal(unsigned, unsigned) = 0;
+ virtual unsigned get_signal(unsigned) const = 0;