/** * MainHandler for MeteoDataManagement * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-09-21 */ #pragma once #include "handler_infrastructure_data.h" #include "handler_meteo_data_units.h" #include "handler_static_meteo_data.h" #include "dds_handler.h" #include "mdm_db.h" #include "logger.h" namespace GuezNasat { class Initialization; } namespace NGLDB { template class DbServiceHandler; } namespace MeteoDataManagement { using DbHandler = NGLDB::DbServiceHandler; 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 ism() const { return m_handlerInfrastructureData; } private: QString initInternal(int domainId); private: // attributes std::shared_ptr m_ddsHandler; ///< Pointer to DDS handler std::shared_ptr m_dbHandler; ///< Pointer to DB handler std::shared_ptr m_handlerMeteoDataUnits; ///< Pointer to meteo data units handler std::shared_ptr m_handlerInfrastructureData; ///< Pointer to infrastructure data handler std::shared_ptr m_handlerStaticMeteoData; ///< Pointer to static meteo data handler GuezNasat::Initialization *m_gnaService; NGL::INGLLogger &m_logger; ///< Interface to the Logging-Facility }; } // namespace MeteoDataManagement