/** * Object class for HandlerEffector * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "logger.h" #include #include #include namespace AreaEffectSimulation { class ObjectEffector; class MainHandler; class HandlerEffector : public QObject { Q_OBJECT public: explicit HandlerEffector(MainHandler *mainhandler, QObject *parent = nullptr); bool init(); ObjectEffector* getObjectEffector (int participantId) {return m_effectors.value(participantId);}; private: // methods void createEffector(int participantId); void deleteEffector(int participantId); private slots: void onParticipantChanged(const ParticipantManagement::Participant &data, DataModification modType); private: // attributes MainHandler *m_mainHandler {nullptr}; std::shared_ptr m_ppmDtc; QHash m_effectors; // key = participantId LOGGER_T m_logger; }; // class HandlerEffector } // namespace AreaEffectSimulation