##// END OF EJS Templates
Added static plugin support...
Added static plugin support In case of fully static exe even plugins must be static to allow single file executable. Small fix, when using resources in app from library they must be initialized with Q_INIT_RESOURCE. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1123:247dc18789c6
r1123:247dc18789c6
Show More
PluginManager.h
41 lines | 987 B | text/x-c | CLexer
#ifndef SCIQLOP_PLUGINMANAGER_H
#define SCIQLOP_PLUGINMANAGER_H
#include "CoreGlobal.h"
#include <Common/spimpl.h>
#include <QLoggingCategory>
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);
/**
* Loads static plugins into SciQlop. SciQLOP supports statically linked plugins.
*/
void loadStaticPlugins();
/// @returns the number of plugins loaded
int nbPluginsLoaded() const noexcept;
private:
struct PluginManagerPrivate;
spimpl::unique_impl_ptr<PluginManagerPrivate> impl;
};
#endif // SCIQLOP_PLUGINMANAGER_H