-
Notifications
You must be signed in to change notification settings - Fork 4
/
JsExtensionsPlugin.h
44 lines (31 loc) · 956 Bytes
/
JsExtensionsPlugin.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef JEP_H
#define JEP_H
#include <extensionsystem/iplugin.h>
#include <QList>
#include <QDir>
#include "JsExtensions_global.h"
#include "JepAPI.h"
namespace JsExtensions {
namespace Internal {
class JsExtensionsPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "JsExtensions.json")
public:
JsExtensionsPlugin();
~JsExtensionsPlugin();
bool initialize(const QStringList &arguments, QString *errorString);
void extensionsInitialized();
ShutdownFlag aboutToShutdown();
private slots:
void onSettings();
private:
void loadPlugins(const QDir& dir, QSettings *settings, QString* errorString);
void invokePluginsFunction(QString functionName, bool optional = true);
QSettings* pluginSettings();
QList<JsPlugin*> m_plugins;
QList<JsPluginInfo> m_pluginInfos;
};
} // namespace Internal
} // namespace JsExtensions
#endif // JEP_H