60 lines
1.6 KiB
C++
Executable File
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
|