Skip to content

RPluginLoader

Class in Core Module
Header: #include <src/core/RPluginLoader.h>

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD. Loads and registers plugins.

Scriptable: This class is available in script environments.

static bool checkPluginLicense(QObject *plugin)
static bool checkPluginLicenses()
static int countPlugins()
static QStringList getPluginFiles()
static RPluginInfo getPluginInfo(const QString &id)
static RPluginInfo getPluginInfo(int i)
static QString getPluginsPath()
static QString getPluginSuffix()
static bool hasPlugin(const QString &id)
static void initScriptExtensions(QObject *plugin, QScriptEngine &engine)
static void initScriptExtensions(QScriptEngine &engine)
static void initTranslations()
static void initTranslations(QObject *plugin)
static void loadPlugin(QObject *plugin, bool init, const QString &fileName=QString(), const QString &errorString=QString())
static void loadPlugins(bool init)
Tries to loads all QCAD plugins located in .
static void postInitPlugin(QObject *plugin, RPluginInterface::InitStatus status)
static void postInitPlugins(RPluginInterface::InitStatus status)
static void unloadPlugin(const QString &fileName, bool remove=false)
static void unloadPlugin(QObject *plugin, bool remove=false)
static void unloadPlugins()
static QList< QObject * > getPluginObjects()
static QStringList pluginFiles
static QList< QObject * > plugins
Instances of the dynamically loaded plugins (see loadPlugins).
static QList< RPluginInfo > pluginsInfo

static bool RPluginLoader::checkPluginLicense(QObject *plugin)

static

static bool RPluginLoader::checkPluginLicenses()

static

static int RPluginLoader::countPlugins()

static inline

static QStringList RPluginLoader::getPluginFiles()

static

static RPluginInfo RPluginLoader::getPluginInfo(const QString &id)

static

static RPluginInfo RPluginLoader::getPluginInfo(int i)

static

static QString RPluginLoader::getPluginsPath()

static

static QString RPluginLoader::getPluginSuffix()

static

static bool RPluginLoader::hasPlugin(const QString &id)

static

static void RPluginLoader::initScriptExtensions(QObject *plugin, QScriptEngine &engine)

static

Non-Scriptable: This function is not available in script environments.

static void RPluginLoader::initScriptExtensions(QScriptEngine &engine)

static

Non-Scriptable: This function is not available in script environments.

static void RPluginLoader::initTranslations()

static

static void RPluginLoader::initTranslations(QObject *plugin)

static

Non-Scriptable: This function is not available in script environments.

static void RPluginLoader::loadPlugin(QObject *plugin, bool init, const QString &fileName=QString(), const QString &errorString=QString())

static

static void RPluginLoader::loadPlugins(bool init)

static

Tries to loads all QCAD plugins located in .

/plugins.

static void RPluginLoader::postInitPlugin(QObject *plugin, RPluginInterface::InitStatus status)

static

Non-Scriptable: This function is not available in script environments.

static void RPluginLoader::postInitPlugins(RPluginInterface::InitStatus status)

static

static void RPluginLoader::unloadPlugin(const QString &fileName, bool remove=false)

static

static void RPluginLoader::unloadPlugin(QObject *plugin, bool remove=false)

static

static void RPluginLoader::unloadPlugins()

static

static QList< QObject * > RPluginLoader::getPluginObjects()

static private

Returns: The plugin objects loaded by loadPlugins (dynamically loaded plugins in load order, then the statically linked plugins).

static QStringList RPluginLoader::pluginFiles

static private

static QList< QObject * > RPluginLoader::plugins

static private

Instances of the dynamically loaded plugins (see loadPlugins).

Used by postInitPlugins, initScriptExtensions and initTranslations instead of loading the plugins again by file name: a plugin file that has been removed from the plugins directory since the start (e.g. by a launcher script of another QCAD process that cleans the plugins directory) cannot be found by QPluginLoader anymore, although the plugin is loaded, and its script extensions would be missing in every script engine created later (document engines are created on demand).

static QList< RPluginInfo > RPluginLoader::pluginsInfo

static private

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.