QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RPluginLoader.h
Go to the documentation of this file.
1
20#ifndef RPLUGINLOADER_H
21#define RPLUGINLOADER_H
22
23#include "core_global.h"
24
25#include <QList>
26#include <QMetaType>
27#if QT_VERSION < 0x060000
28#include <QScriptEngine>
29#endif
30
31#include "RPluginInterface.h"
32#include "RPluginInfo.h"
33
41public:
42 static QString getPluginSuffix();
43 static QStringList getPluginFiles();
44 static void loadPlugins(bool init);
45 static void unloadPlugins();
46 static void loadPlugin(QObject* plugin, bool init, const QString& fileName = QString(), const QString& errorString = QString());
47 static void unloadPlugin(const QString& fileName, bool remove = false);
48 static void unloadPlugin(QObject* plugin, bool remove = false);
49
50 static void postInitPlugins(RPluginInterface::InitStatus status);
51
55 static void postInitPlugin(QObject* plugin, RPluginInterface::InitStatus status);
56
57#if QT_VERSION < 0x060000
61 static void initScriptExtensions(QScriptEngine& engine);
62
66 static void initScriptExtensions(QObject* plugin, QScriptEngine& engine);
67#else
68 static void initScriptExtensions(RScriptHandler& handler);
69 static void initScriptExtensions(QObject* plugin, RScriptHandler& handler);
70#endif
71
72 static void initTranslations();
73
77 static void initTranslations(QObject* plugin);
78
79 static int countPlugins() {
80 return pluginsInfo.count();
81 }
82
83 static RPluginInfo getPluginInfo(int i);
84 static RPluginInfo getPluginInfo(const QString& id);
85
86 static QString getPluginsPath();
87 static bool hasPlugin(const QString& id);
88
89 static bool checkPluginLicenses();
90 static bool checkPluginLicense(QObject* plugin);
91
92private:
93 static QList<RPluginInfo> pluginsInfo;
94 static QStringList pluginFiles;
95};
96
98
99#endif
void init(void basePath)
Definition AddBlockInit.js:2
Q_DECLARE_METATYPE(RMath *)
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition autostart.js:32
Information about a plugin.
Definition RPluginInfo.h:42
InitStatus
Definition RPluginInterface.h:45
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPluginLoader.h:40
static QList< RPluginInfo > pluginsInfo
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPluginLoader.h:93
static QStringList pluginFiles
Definition RPluginLoader.h:94
static int countPlugins()
Definition RPluginLoader.h:79
Abstract base class for all script handlers.
Definition RScriptHandler.h:58
#define QCADCORE_EXPORT
Definition core_global.h:10
void hasPlugin(void name)
Definition library.js:853