/** * Handler for infrastructure data * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-09-21 */ #pragma once #include "main_handler.h" #include "logger.h" #include #include #include #include #include class QTimer; namespace ExerciseEventManagement { class HandlerParticipantEvent : public QObject { Q_OBJECT public: explicit HandlerParticipantEvent(MainHandler *mainHandler, const std::shared_ptr &ddsHandler, const std::shared_ptr &db, const std::shared_ptr &eventServer); ~HandlerParticipantEvent(); /** * Initialize the handler to manage information from CES */ bool init(); private Q_SLOTS: /** * Handle the signals from 'CentralEffectSimulation' */ void onParticipantEventChanged(const CentralEffectSimulation::ParticipantEvent &data, DataModification modType); void onAesItemViewChanged(const AreaEffectSimulation::AesItemView &data, DataModification modType); void onExplosionSingleChanged(const AreaEffectSimulation::ExplosionSingle &data, DataModification modType); private: // methoden void publishData(const Database::EemEvent &data); ExerciseEventManagement::Event toDdsData(const Database::EemEvent &data); private: // attributes std::shared_ptr m_ddsHandler; ///< Pointer to DDS handler std::shared_ptr m_dbHandler; std::shared_ptr m_eventServer; std::shared_ptr m_cesDtc; ///< Pointer to DTC ParticipantManagement interface object std::shared_ptr m_aesDtc; std::shared_ptr m_pdmDtc; QHash m_itemViews; QHash m_aesEffectState; // QMap m_aesMap; MainHandler *m_mainHandler; NGL::INGLLogger &m_logger; ///< Interface to the Logging-Facility }; } // namespace ExerciseEventManagement