#ifndef SCIQLOP_VARIABLECONTROLLER_H #define SCIQLOP_VARIABLECONTROLLER_H #include #include #include class Variable; Q_DECLARE_LOGGING_CATEGORY(LOG_VariableController) /** * @brief The VariableController class aims to handle the variables in SciQlop. */ class VariableController : public QObject { Q_OBJECT public: explicit VariableController(QObject *parent = 0); virtual ~VariableController(); /** * Creates a new variable * @param name the name of the new variable * @return the variable if it was created successfully, nullptr otherwise */ Variable *createVariable(const QString &name) noexcept; public slots: void initialize(); void finalize(); private: void waitForFinish(); class VariableControllerPrivate; spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_VARIABLECONTROLLER_H