Files
qt5-legatus-legacy/Lts/Proxies/CombatNetRadio/training_area.h
T
2026-08-13 18:33:10 +02:00

60 lines
1.6 KiB
C++
Executable File

/**
* @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 <vector>
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<WebSocketInterface::Messages::RadioStationMessage::RadioStationData> &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<WebSocketInterface::Messages::RadioStationMessage::RadioStationData> m_radioStations;
LOGGER_T m_logger;
};
} // namespace CombatNetRadio