/** * MainHandler for AereaEffectSimulation * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include "dds_handler.h" #include #include "esc_db.h" #include "logger.h" namespace NGLDB { template class DbServiceHandler; } namespace EffectShowClient { using DbHandler = NGLDB::DbServiceHandler; class HandlerOrder; class HandlerOperatingCondition; class HandlerFiringExplosion; class HandlerFiringSmoke; class HandlerTabData; class HandlerVehicle; class ControlUnitHandler; class MainHandler : public QObject { Q_OBJECT public: explicit MainHandler(QObject *parent = nullptr); ~MainHandler(); bool init(int domainId, int exerciseId); std::shared_ptr dds() const { return m_ddsHandler; } std::shared_ptr db() const { return m_dbHandler->db(); } std::shared_ptr handlerOrder() const { return m_handlerOrder; } std::shared_ptr handlerOperatingCondition() const { return m_handlerOperatingCondition; } std::shared_ptr handlerFiringExplosion() const { return m_handlerFiringExplosion; } std::shared_ptr handlerFiringSmoke() const { return m_handlerFiringSmoke; } std::shared_ptr handlerTabData() const { return m_handlerTabData; } std::shared_ptr handlerVehicle() const { return m_handlerVehicle; } std::shared_ptr handlerControlUnit() const { return m_handlerControlUnit; } private: std::shared_ptr m_ddsHandler; std::shared_ptr m_dbHandler; std::shared_ptr m_handlerOrder; std::shared_ptr m_handlerOperatingCondition; std::shared_ptr m_handlerFiringExplosion; std::shared_ptr m_handlerFiringSmoke; std::shared_ptr m_handlerTabData; std::shared_ptr m_handlerVehicle; std::shared_ptr m_handlerControlUnit; NGL::INGLLogger &m_logger; }; } // namespace EffectShowClient