/** * @RDE_HEADER@ * TrainingArea * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, NLE, 2019-08-02 */ #pragma once #include "WebSocketInterface/Messages/reply_message.h" #include "logger.h" #include namespace AssetManagement { namespace Interface { class Dtc; } } namespace InfrastructureManagement { namespace Interface { class Dtc; } } namespace CombatNetRadio { /** * Collects the data for the TrainingArea and the RadioStations. * There is one instance for all active Exercises as they must share the same TrainingArea then. * * @author Christian Fröbel */ class TrainingArea { public: explicit TrainingArea(int trainingAreaId, AssetManagement::Interface::Dtc *asmDtc, InfrastructureManagement::Interface::Dtc *ismDtc); virtual ~TrainingArea() = default; const WebSocketInterface::Messages::TrainingAreaMessage::TrainingAreaData &trainingArea() const { return m_trainingAreaData; } const std::vector &radioStations() const { return m_radioStations; } private: void getTrainingArea(int trainingAreaId, AssetManagement::Interface::Dtc *asmDtc); void getRadioStations(InfrastructureManagement::Interface::Dtc *ismDtc); WebSocketInterface::Messages::TrainingAreaMessage::TrainingAreaData m_trainingAreaData; std::vector m_radioStations; LOGGER_T m_logger; }; } // namespace CombatNetRadio