/** * MainHandler for AereaEffectSimulation * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include "dds_handler.h" #include "esm_export.h" #include "logger.h" namespace NGLDB { template class DbServiceHandler; } namespace EffectShowManagement { using DbHandler = NGLDB::DbServiceHandler; class HandlerAesData; class HandlerPpmData; class HandlerPdmData; class HandlerMdmData; class HandlerTabData; class HandlerEffectShow; class HandlerEffectShowActorRelocation; class HandlerEffectShowVehicleStatus; class HandlerPosition; class ESM_SERVER_EXPORT Initialization { public: Initialization(); ~Initialization(); bool initialize(const std::shared_ptr &ddsConnector, const QSqlDatabase &sqlDb); bool loadFromDatabase(); std::shared_ptr dds() const { return m_ddsHandler; } std::shared_ptr db() const; std::shared_ptr handlerPpmData() const { return m_handlerPpmData; } std::shared_ptr handlerPdmData() const { return m_handlerPdmData; } std::shared_ptr handlerMdmData() const { return m_handlerMdmData; } std::shared_ptr handlerTabData() const { return m_handlerTabData; } std::shared_ptr handlerEffectShow() const { return m_handlerEffectShow; } std::shared_ptr handlerEffectShowVehicleStatus() const { return m_handlerEffectShowVehicleStatus; } std::shared_ptr handlerEffectShowActorRelocation() const { return m_handlerEffectShowActorRelocation; } int exerciseId() const; private: std::shared_ptr m_ddsHandler; std::shared_ptr m_dbHandler; std::shared_ptr m_handlerAesData; std::shared_ptr m_handlerPpmData; std::shared_ptr m_handlerPdmData; std::shared_ptr m_handlerMdmData; std::shared_ptr m_handlerTabData; std::shared_ptr m_handlerEffectShow; std::shared_ptr m_handlerEffectShowActorRelocation; std::shared_ptr m_handlerEffectShowVehicleStatus; NGL::INGLLogger &m_logger; }; } // namespace EffectShowManagement