Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/handler_effector.h
T

46 lines
1.1 KiB
C++
Executable File

/**
* Object class for HandlerEffector
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "logger.h"
#include <ParticipantManagement/ppm.hpp>
#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
NGL::INGLLogger &m_logger;
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
}; // class HandlerEffector
} // namespace AreaEffectSimulation