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

94 lines
2.9 KiB
C++
Executable File

/**
* @RDE_HEADER@
* MainHandler for InfrastructureManagement
* $Id$
* $HeadURL$
* $Author$
* Created by Iuliana Ojog, SLSE, 2016-11-26
*/
#pragma once
#include <InfrastructureManagement/ism_db.h>
#include "dds_handler.h"
#include <ExerciseManagement/exm_dtc.h>
#include "logger.h"
//-------------------------------------------------------------------------------------------------------------
namespace NGLDB
{
template <typename DB> class DbServiceHandler;
}
namespace InfrastructureManagement
{
// Forwarddeclarations
using DbHandler = NGLDB::DbServiceHandler<DatabaseInterface>;
class HandlerMainStructureElement;
class HandlerInstrumentationAsset;
class HandlerMountingPointAsset;
class HandlerEffectArea;
class HandlerMainSchedule;
class HandlerSpecialArea;
namespace WebSocketInterface
{
class WebSocketInterfaceHandler;
}
class MainHandler
{
public:
explicit MainHandler();
~MainHandler();
bool init(int domainId);
std::shared_ptr<DdsHandler> dds() const { return m_ddsHandler; }
std::shared_ptr<DatabaseInterface> db() const;
std::shared_ptr<HandlerMainStructureElement> getHandlerMainStructureElement() const
{
return m_handlerMainStructureElement;
}
std::shared_ptr<HandlerInstrumentationAsset> getHandlerInstrumentationAsset() const
{
return m_handlerInstrumentationAsset;
}
std::shared_ptr<HandlerMountingPointAsset> getHandlerMountingPointAsset() const
{
return m_handlerMountingPointAsset;
}
std::shared_ptr<HandlerEffectArea> getHandlerEffectArea() const
{
return m_handlerEffectArea;
}
std::shared_ptr<HandlerMainSchedule> getHandlerMainSchedule() const
{
return m_handlerMainSchedule;
}
std::shared_ptr<HandlerSpecialArea> getHandlerSpecialArea() const
{
return m_handlerSpecialArea;
}
int exerciseId() const;
private: // attributes
std::shared_ptr<DbHandler> m_dbHandler;
std::shared_ptr<DdsHandler> m_ddsHandler;
std::shared_ptr<HandlerMainStructureElement> m_handlerMainStructureElement;
std::shared_ptr<HandlerInstrumentationAsset> m_handlerInstrumentationAsset;
std::shared_ptr<HandlerMountingPointAsset> m_handlerMountingPointAsset;
std::shared_ptr<HandlerEffectArea> m_handlerEffectArea;
std::shared_ptr<HandlerMainSchedule> m_handlerMainSchedule;
std::shared_ptr<HandlerSpecialArea> m_handlerSpecialArea;
std::shared_ptr<WebSocketInterface::WebSocketInterfaceHandler> m_handlerWebSocketInterface;
std::shared_ptr<ExerciseManagement::Interface::Dtc> m_exmDtc;
NGL::INGLLogger &m_logger;
};
QPointF rotatePoint(const double xIn, const double yIn, double angleDegree);
} // namespace InfrastructureManagement