/** * @RDE_HEADER@ * * EXM Function Topic test executable * * ModuleTests for create/modify/remove exercise * --------------------------------------------------- * Client FTC is implemented * * => (!) Preconditon: * - Service sExeMgmt running * * ------------------------------------------------- * * $Id$ * $HeadURL$ * $Author$ * * Created by Hanna E. Rathje, SLSE, 2015-09-10 */ #pragma once #include #include #include #include #include namespace AudioVideoManagement { class AvmFtTests : public QObject , protected AudioVideoManagement::Interface::Ftc::ModifyMenuStructReplyHandler , protected AudioVideoManagement::Interface::Ftc::RemoveMenuStructReplyHandler { Q_OBJECT public: explicit AvmFtTests(QObject *parent = nullptr); ~AvmFtTests(); bool init(int domainId, int testId, int menuId, int mountingPointId); bool testsSuccessful() const { return m_bTestsSuccessful; } public Q_SLOTS: void startTest(); protected Q_SLOTS: void tryCreate(); void tryModify(); void tryDelete(); protected: void onModifyMenuStructReply(const Core::FunctionReplyObject &replyObject) override final; void createMenuStructReply(const Core::FunctionReplyObject &replyObject); void modifyMenuStructReply(const Core::FunctionReplyObject &replyObject); void onRemoveMenuStructReply(const Core::FunctionReplyObject &replyObject) override final; void failExit(); private: std::shared_ptr m_ddsConnector; std::shared_ptr m_ftc; int m_menuStructId; int m_testId; int m_mountingPointId; bool m_bTestsSuccessful; NGL::INGLLogger &m_logger; }; } // namespace AudioVideoManagement