#pragma once #include #include #include #include #include #include #include namespace HighLevelArchitecture { class NgsHandler; struct ParticipantPosition; class AesHandler : public QObject , protected AreaEffectSimulation::Interface::Ftc::AirSupportImpactModifyReplyHandler { Q_OBJECT public: explicit AesHandler(NgsHandler *ngsHandler); int64_t externalId(int aesItemId) const; bool init(); void onAirSupportImpactModifyReply(const Core::FunctionReplyObject &reply); private Q_SLOTS: void onAirSupportImpact(AreaEffectSimulation::AirSupportImpactModifyRequest asi, int equipmentNumber); private: NGL::INGLLogger &m_logger; NgsHandler *m_ngsHandler; std::shared_ptr m_dtcAes; std::shared_ptr m_ftcAes; std::shared_ptr m_dtcPpm; QMap m_chargeTypes; QMap m_pendingRequests; LtsUtils::RequestHelper *m_requestHelper; }; }