/** * @RDE_HEADER@ * MainHandler for InfrastructureManagement * $Id$ * $HeadURL$ * $Author$ * Created by Iuliana Ojog, SLSE, 2016-11-26 */ #pragma once #include #include "dds_handler.h" #include #include "logger.h" //------------------------------------------------------------------------------------------------------------- namespace NGLDB { template class DbServiceHandler; } namespace InfrastructureManagement { // Forwarddeclarations using DbHandler = NGLDB::DbServiceHandler; 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 dds() const { return m_ddsHandler; } std::shared_ptr db() const; std::shared_ptr getHandlerMainStructureElement() const { return m_handlerMainStructureElement; } std::shared_ptr getHandlerInstrumentationAsset() const { return m_handlerInstrumentationAsset; } std::shared_ptr getHandlerMountingPointAsset() const { return m_handlerMountingPointAsset; } std::shared_ptr getHandlerEffectArea() const { return m_handlerEffectArea; } std::shared_ptr getHandlerMainSchedule() const { return m_handlerMainSchedule; } std::shared_ptr getHandlerSpecialArea() const { return m_handlerSpecialArea; } int exerciseId() const; private: // attributes std::shared_ptr m_dbHandler; std::shared_ptr m_ddsHandler; std::shared_ptr m_handlerMainStructureElement; std::shared_ptr m_handlerInstrumentationAsset; std::shared_ptr m_handlerMountingPointAsset; std::shared_ptr m_handlerEffectArea; std::shared_ptr m_handlerMainSchedule; std::shared_ptr m_handlerSpecialArea; std::shared_ptr m_handlerWebSocketInterface; std::shared_ptr m_exmDtc; NGL::INGLLogger &m_logger; }; QPointF rotatePoint(const double xIn, const double yIn, double angleDegree); } // namespace InfrastructureManagement