#ifndef MAINMANAGER_H #define MAINMANAGER_H #include "baseclass.h" #include "cppmanager.h" #include "outputmanager.h" #include "pluginmanager.h" #include "qmlmanager.h" #include "buildmanager.h" class MainManager : public BaseClass { Q_OBJECT Q_PROPERTY(int state READ state WRITE setState NOTIFY stateChanged) Q_PROPERTY(QString outDir READ outDir NOTIFY outDirChanged) CppManager *m_cpp; QmlManager *m_qml; PluginManager *m_plg; OutputManager *m_out; BuildManager *m_bld; int m_state; QStringList getAllExecutables(); private slots: void buildFinished(); public: explicit MainManager(CppManager *cpp, QmlManager *qml, OutputManager *out, PluginManager *plg, BuildManager* bld, QObject *parent = nullptr); int state() const; public slots: void prepare(const QString &qtdir, const QString &projectdir); void start(bool erase); const QString& outDir() const; bool hasPrems(const QString &path); QString stringFromUrl(QString url); bool pathExists(bool isdir, const QString &path); void setState(int state); signals: void stateChanged(int state); void outDirChanged(); }; #endif // MAINMANAGER_H