/** * Handler definition and state IED * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Dassow, SLEA, 2017-07-20 */ #pragma once #include #include #include "dds_handler.h" #include "logger.h" #include "gim_fts.h" #include "gim_db.h" namespace GuezIedManagement { class ObjectIed; class MainHandler; class HandlerIed final : public QObject , protected Interface::Fts::PairIedRequestHandler { Q_OBJECT public: HandlerIed(MainHandler *mainHandler, const std::shared_ptr &ddsHandler, const std::shared_ptr &db, QObject *parent = nullptr); ~HandlerIed(); bool init(); private slots: void onDefinitionIed(const TrainingAreaBase::DefinitionIed &data, DataModification modType); void onStateIed(const TrainingAreaBase::StateIed &data, DataModification modType); private: void onPairIedRequest(const rti::core::SampleIdentity &cookie, const PairIedRequest &request) override; int getIdByEquipmentnumber(const int number) const; int getPartyIdFromParticipantEquipmentNumber(const int equipmentNumber) const; private: QMap m_iedObjMap; QMap m_orphanedStateIed; MainHandler *m_mainHandler; std::shared_ptr m_ddsHandler; std::shared_ptr m_tabDtc; std::shared_ptr m_ppmDtc; std::shared_ptr m_db; NGL::INGLLogger &m_logger; }; }