#ifndef SCIQLOP_PLUGINMANAGER_H #define SCIQLOP_PLUGINMANAGER_H #include "CoreGlobal.h" #include #include class QDir; Q_DECLARE_LOGGING_CATEGORY(LOG_PluginManager) /** * @brief The PluginManager class aims to handle the plugins loaded dynamically into SciQLop. */ class SCIQLOP_CORE_EXPORT PluginManager { public: explicit PluginManager(); /** * Loads plugins into SciQlop. The loaded plugins are those located in the directory passed in * parameter * @param pluginDir the directory containing the plugins */ void loadPlugins(const QDir &pluginDir); /// @returns the number of plugins loaded int nbPluginsLoaded() const noexcept; private: class PluginManagerPrivate; spimpl::unique_impl_ptr impl; }; #endif // SCIQLOP_PLUGINMANAGER_H