/** * MainHandler for OC-connection to the SFM * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, NLST, 2018-01-23 */ #pragma once #include #include #include #include #include #include #include "canag_handler.h" #include "connection_handler.h" #include "dds_handler.h" #include "send_to_dds.h" #include "recv_from_dds_fts.h" #include "recv_from_tab.h" #include "websocket_handler.h" #include "logger.h" namespace TrainingAreaBaseOC { class MainHandler : public QObject { Q_OBJECT public: explicit MainHandler(QObject *parent = nullptr); ~MainHandler(); bool init(int domainId, int exerciseId); std::shared_ptr aesDtc() { return m_aesDtc; } std::shared_ptr aesFtc() { return m_aesFtc; } std::shared_ptr pdmDtc() { return m_pdmDtc; } std::shared_ptr canagHandler() const { return m_canagHandler; } std::shared_ptr connectionHandler() const { return m_connectionHandler; } std::shared_ptr dds() const { return m_ddsHandler; } std::shared_ptr rxHandler() const { return m_rxHandler; } std::shared_ptr ftsHandler() const { return m_ftsHandler; } std::shared_ptr txHandler() const { return m_canagHandler; } int exerciseId() const { return m_ddsHandler->ddsConnector()->getPartitionId(); } private: std::shared_ptr m_aesDtc; std::shared_ptr m_aesFtc; std::shared_ptr m_pdmDtc; std::shared_ptr m_canagHandler; std::shared_ptr m_connectionHandler; std::shared_ptr m_ddsHandler; std::shared_ptr m_rxHandler; std::shared_ptr m_ftsHandler; std::shared_ptr m_websocketHandler; LOGGER_T m_logger; }; } // namespace TrainingAreaBaseOC