27 #ifndef EXTENSIONS_MANAGER_H
28 #define EXTENSIONS_MANAGER_H
39 #include <QPluginLoader>
40 #include <QStringList>
73 static void autoload();
87 static void autoload(ExtensionType type);
96 static bool loadExtension(ExtensionType type, QString file);
114 static QString getInstallationString(QString file,
const QString& globalInstallDir,
const QString& userInstallDir,
const QString& currentWorkingDir);
154 static QStringList getFileExtensions();
157 static QStringList getDataDirectoryExtNames();
163 static void registerFileExtension(QString fileExtension);
168 static bool unloadComponentExtension(QString);
176 static void unloadAllActionExtensions();
203 static bool unloadActionExtension(QString);
210 static void unloadAllViewerExtensions();
237 static bool unloadViewerExtension(QString);
248 static QMap<QString, ComponentExtension*>& getComponentExtensionMap();
257 static QMap<QString, ComponentExtension*>& getDataDirectoryComponentExtensionMap();
266 static QMap<QString, ActionExtension*>& getActionExtensionMap();
275 static QMap<QString, ViewerExtension*>& getViewerExtensionMap();
278 static QStringList getExtensionFilter();
281 static QStringList getPluginFileNames(QDir);
291 static void initPrivateLibDirs();
298 static void addLibraryPath(QDir potentialPath, QString potentialLibDir);
#define CAMITK_API
Definition: CamiTKAPI.h:49
Definition: PersistenceManager.h:34
This class describes what is a generic Action extension.
Definition: ActionExtension.h:57
This class describes what is a generic Component extension.
Definition: ComponentExtension.h:60
This class is used to manage all plugins loaded by the application.
Definition: ExtensionManager.h:58
ExtensionType
describes the CamiTK Extension Type (Action, Component, Application...).
Definition: ExtensionManager.h:65
@ ACTION
Action extensions: manages the processing logic.
Definition: ExtensionManager.h:66
@ COMPONENT
Component extensions: manages the data logic.
Definition: ExtensionManager.h:67
@ APPLICATION
MainWindow extensions: manages the application logic.
Definition: ExtensionManager.h:68
This class describes what is a generic Action extension.
Definition: ViewerExtension.h:85
Definition: Action.cpp:36