/** * ModuleTests for Msg * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include #include namespace TargetManagement { class TgtTests : public QObject , protected TargetManagement::Interface::Ftc::ConfigureTargetReplyHandler , protected TargetManagement::Interface::Ftc::ShootbackAreaModifyReplyHandler , protected TargetManagement::Interface::Ftc::ShootbackAreaRemoveReplyHandler { Q_OBJECT public: explicit TgtTests(QObject *parent = nullptr); ~TgtTests() = default; bool init(int domainId, int testId, int operatorId, int shootbackAreaId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: void tryRequestTechnicalState(); void tryConfigureTargetMode(); void tryConfigureTargetWeapon(); void tryCreateParticipant(); void tryCreateTargetData(); void tryCreateShootbackArea(); void tryUpdateShootbackArea(); void tryRemoveShootbackArea(); void failExit(); void ExitSuccess(); protected: void onConfigureTargetReply(const Core::FunctionReplyObject &replyObject) override final; void onShootbackAreaModifyReply(const Core::FunctionReplyObject &replyObject) override final; void onShootbackAreaRemoveReply(const Core::FunctionReplyObject &replyObject) override final; private: void checkAlarm(); std::shared_ptr m_ddsConnector; std::shared_ptr m_ftcTgt; std::shared_ptr m_dtcTgt; std::shared_ptr m_dtsPpm; std::shared_ptr m_dtsTab; int m_testId{0}; bool m_bTestsSuccessful{true}; int m_operatorId{-1}; int m_participantIndex{0}; int m_shootbackAreaId{-1}; NGL::INGLLogger &m_logger; }; } // namespace TargetManagement