Files
qt5-legatus-legacy/Lts/Services/AreaEffectSimulation/handler_effector.h
T
2026-08-13 18:33:10 +02:00

45 lines
1.1 KiB
C++
Executable File

/**
* Object class for HandlerEffector
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "logger.h"
#include <ParticipantManagement/ppm_dtc.h>
#include <QObject>
#include <QHash>
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<ParticipantManagement::Interface::Dtc> m_ppmDtc;
QHash<qint32, ObjectEffector*> m_effectors; // key = participantId
LOGGER_T m_logger;
}; // class HandlerEffector
} // namespace AreaEffectSimulation