/** * MainHandler for Buildings * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-04-14 */ #pragma once #include #include #include "building_control_handler.h" #include "dds_handler.h" #include "ism_handler.h" #include "pdm_handler.h" #include "ppm_handler.h" #include "relay_info_handler.h" #include "Buildings/bld_db.h" #include #include "web_socket_handler.h" #include "logger.h" namespace NGLDB { template class DbServiceHandler; } namespace AssetManagement { namespace Interface { class Dtc; } class RelayInfo; } namespace Buildings { using DbHandler = NGLDB::DbServiceHandler; class MainHandler: public QObject { Q_OBJECT public: explicit MainHandler(QObject *parent = nullptr); ~MainHandler(); bool init(int domainId, int exerciseId); int exerciseId() const; std::shared_ptr ddsHandler() const { return m_ddsHandler; } std::shared_ptr pdmHandler() const { return m_pdmHandler; } std::shared_ptr ppmHandler() const { return m_ppmHandler; } std::shared_ptr ismHandler() const { return m_ismHandler; } std::shared_ptr relayInfoHandler() const {return m_relayInfoHandler;} std::shared_ptr db() const; private slots: // void onRelayInfoChanged(const AssetManagement::RelayInfo& info, DataModification mod); private: bool initInternal(int domainId, int exerciseId); std::shared_ptr m_bcHandler; std::shared_ptr m_ddsHandler; std::shared_ptr m_dbHandler; std::shared_ptr m_ismHandler; std::shared_ptr m_pdmHandler; std::shared_ptr m_ppmHandler; std::shared_ptr m_relayInfoHandler; std::shared_ptr m_asmDtc; std::shared_ptr m_webSocketHandler; LOGGER_T m_logger; }; } // namespace Buildings