Files
qt5-legatus-legacy/Lts/Services/TargetManagement/main_handler.h
T
2026-08-13 18:33:10 +02:00

62 lines
1.6 KiB
C++
Executable File

/**
* MainHandler for AereaEffectSimulation
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QObject>
#include "dds_handler.h"
#include "tgt_db.h"
#include "handler_target_config.h"
#include "handler_shootback_area.h"
#include "handler_shootback_target.h"
#include "handler_target_area_assignment.h"
#include "shootback_controller.h"
#include <ElevationMap/elevation_map.h>
#include "logger.h"
namespace NGLDB
{
template <typename DB> class DbServiceHandler;
}
namespace TargetManagement
{
using DbHandler = NGLDB::DbServiceHandler<DatabaseInterface>;
class MainHandler : public QObject
{
Q_OBJECT
public:
explicit MainHandler(QObject *parent = nullptr);
~MainHandler();
bool init(int domainId, int exerciseId);
std::shared_ptr<DdsHandler> dds() const { return m_ddsHandler; }
std::shared_ptr<DatabaseInterface> db() const;
std::shared_ptr<HandlerTargetAreaAssignment> handlerTargetAreaAssignment() const { return m_handlerTargetAreaAssignment; }
private:
std::shared_ptr<DdsHandler> m_ddsHandler;
std::shared_ptr<DbHandler> m_dbHandler;
std::shared_ptr<HandlerTargetConfig> m_handlerTargetConfig;
// L400 :
std::shared_ptr<HandlerShootbackArea> m_handlerShootbackArea;
std::shared_ptr<HandlerShootbackTarget> m_handlerShootbackTarget;
std::shared_ptr<HandlerTargetAreaAssignment> m_handlerTargetAreaAssignment;
std::shared_ptr<SituationMap::ElevationMap> m_elevationMap;
std::shared_ptr<ShootbackController> m_shootbackController;
// : L400
NGL::INGLLogger &m_logger;
};
} // namespace TargetManagement