/** * ModuleTests for Msg * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include #include #include #include #include #include #include namespace CentralEffectSimulation { class cesTestsSimulatedMovement : public QObject , protected CentralEffectSimulation::Interface::Ftc::SimulatedMovementModifyReplyHandler , protected CentralEffectSimulation::Interface::Ftc::SimulatedMovementRemoveReplyHandler { Q_OBJECT public: explicit cesTestsSimulatedMovement(QObject *parent = nullptr); ~cesTestsSimulatedMovement(); bool init(int domainId, int exerciseId, int testId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: void trySimulatedMovementModifyRequest(); void trySimulatedMovementRemoveRequest(); // //////////////////////// // Participants // //////////////////////// void tryCreateParticipant(); void failExit(); void ExitSuccess(); protected: private: // methods void checkParticipantEvent(); void onSimulatedMovementModifyReply(const Core::FunctionReplyObject &replyObject) override final; void onSimulatedMovementRemoveReply(const Core::FunctionReplyObject &replyObject) override final; private: Core::FunctionReplyObject fillFro(int participantId, bool bSuccess) const; private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ddsConnector42; std::shared_ptr m_cesDtc; std::shared_ptr m_cesFtc; std::shared_ptr m_ppmDts; bool m_bTestsSuccessful; int m_participantId; bool m_repeat; LtsCoordTrans::UtmCoordinate m_housePos; NGL::INGLLogger &m_logger; int m_testId; }; } // namespace CentralEffectSimulation