39 class Anl4TrackSystemReader :
public PTreeReader
42 Anl4TrackSystemReader(
const char* pLocale =
nullptr );
43 Anl4TrackSystemReader(
SocketRegistry& socketRegistry,
const char* pLocale =
nullptr );
45 std::shared_ptr<TrackSystem> ReadTrackSystem(
const boost::property_tree::ptree& pt )
const override;
48 std::shared_ptr<TrackSystem> CreateTrackSystem(
const boost::property_tree::ptree& pt )
const;
50 std::shared_ptr<TrackCollection> CreateTrackCollection(
const boost::property_tree::ptree& pts,
51 std::vector<Track::Coupling>& couplings )
const;
53 std::shared_ptr<TrackBuilder> CreateTrack(
const boost::property_tree::ptree& pt,
54 std::vector<Track::Coupling>& couplings )
const;
56 std::unique_ptr<ConnectorCollection> CreateConnectorCollection(
const boost::property_tree::ptree& pt,
59 std::unique_ptr<Switch> CreateSwitch(
const boost::property_tree::ptree& pt,
62 std::unique_ptr<ThreeWaySwitch> CreateThreeWaySwitch(
const boost::property_tree::ptree& pt,
65 std::unique_ptr<SingleSlipSwitch> CreateSingleSlipSwitch(
const boost::property_tree::ptree& pt,
68 std::unique_ptr<DoubleSlipSwitch> CreateDoubleSlipSwitch(
const boost::property_tree::ptree& pt,
71 std::unique_ptr<Location> CreateLocation(
const boost::property_tree::ptree& pt,
74 std::unique_ptr<IndicatorCollection> CreateIndicatorCollection(
const boost::property_tree::ptree& pt,
77 std::unique_ptr<BinaryIndicator> CreateSwitchSemaphore(
const boost::property_tree::ptree& pt,
80 std::unique_ptr<Indicator> CreateSwitchMultiSemaphore(
const boost::property_tree::ptree& pt,
83 std::unique_ptr<Indicator> CreateVelocityControlSemaphore(
const boost::property_tree::ptree& pt,
86 std::unique_ptr<Sensor> CreateSensor(
const boost::property_tree::ptree& pt,
89 std::unique_ptr<VelocitySensor> CreateVelocitySensor(
const boost::property_tree::ptree& pt,
92 std::unique_ptr<WeighSensor> CreateWeighSensor(
const boost::property_tree::ptree& pt,
95 std::unique_ptr<IntervalSensor> CreateTractionSensor(
const boost::property_tree::ptree& pt,
98 std::unique_ptr<SignalCollection> CreateSignalCollection(
const boost::property_tree::ptree& pt,
101 std::shared_ptr<VelocityControl> CreateVelocityControl(
const boost::property_tree::ptree& pt,
104 std::shared_ptr<JumpSite> CreateJumpSignal(
const boost::property_tree::ptree& pt,
107 std::unique_ptr<Section> CreateSection(
const boost::property_tree::ptree& pt )
const;
109 std::unique_ptr<PulseCounterCollection> CreatePulseCounterCollection(
const boost::property_tree::ptree& pt )
const;
111 std::unique_ptr<PulseCounter> CreatePulseCounter(
const boost::property_tree::ptree& pt )
const;
113 std::unique_ptr<TimerCollection> CreateTimerCollection(
const boost::property_tree::ptree& pt )
const;
115 std::unique_ptr<Timer> CreateTimer(
const boost::property_tree::ptree& pt )
const;
119 void ReadJumpSignalTarget(
const boost::property_tree::ptree& pt, std::shared_ptr<JumpSite> pSignal,
const TrackSystem& trackSystem )
const;
120 void ReadSensor(
const boost::property_tree::ptree& pt,
Sensor& sensor,
TrackLocation& trackLocation )
const;
121 void ReadSignal(
const boost::property_tree::ptree& pt, std::shared_ptr<Signal> pSignal,
const TrackSystem& trackSystem )
const;
122 void ReadIndicator(
const boost::property_tree::ptree& pt,
Indicator& indicator,
const ConnectorCollection& connectorCollection )
const;
123 void ReadJack(
const boost::property_tree::ptree& pt,
Jack& jack )
const;
124 void ReadPlug(
const boost::property_tree::ptree& pt,
Plug& plug )
const;
125 void ReadPlug(
const boost::property_tree::ptree& pt,
MultiPlug& plug )
const;
126 void ReadSection(
const boost::property_tree::ptree& pt,
trax::TrackBuilder& track )
const noexcept;