forked from qt-creator/qt-creator
Doc: Remove info from ExtensionSystem::IPlugin doc
Remove obsolete and duplicate info and link to overview topics instead. Task-number: QTCREATORBUG-23544 Change-Id: Ic06cffdf08c483029caa7e42b7eb222d62be84cf Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -30,47 +30,22 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class ExtensionSystem::IPlugin
|
\class ExtensionSystem::IPlugin
|
||||||
|
\inmodule QtCreator
|
||||||
\ingroup mainclasses
|
\ingroup mainclasses
|
||||||
\brief The IPlugin class is the base class for all plugins.
|
\brief The IPlugin class is an abstract base class that must be implemented
|
||||||
|
|
||||||
The IPlugin class is an abstract class that must be implemented
|
|
||||||
once for each plugin.
|
once for each plugin.
|
||||||
A plugin consists of two parts: a description file, and a library
|
|
||||||
that at least contains the IPlugin implementation.
|
|
||||||
|
|
||||||
\section1 Plugin Specification
|
A plugin needs to provide meta data in addition to the actual plugin
|
||||||
|
library, so the plugin manager can find the plugin, resolve its
|
||||||
|
dependencies, and load it. For more information, see \l{Plugin Meta Data}.
|
||||||
|
|
||||||
A plugin needs to provide a plugin specification file in addition
|
|
||||||
to the actual plugin library, so the plugin manager can find the plugin,
|
|
||||||
resolve its dependencies, and load it. For more information,
|
|
||||||
see \l{Plugin Meta Data}.
|
|
||||||
|
|
||||||
\section1 Plugin Implementation
|
|
||||||
Plugins must provide one implementation of the IPlugin class, located
|
Plugins must provide one implementation of the IPlugin class, located
|
||||||
in a library that matches the \c name attribute given in their
|
in a library that matches the \c name attribute given in their
|
||||||
XML description. The IPlugin implementation must be exported and
|
meta data. The IPlugin implementation must be exported and
|
||||||
made known to Qt's plugin system, using the \c Q_PLUGIN_METADATA macro with
|
made known to Qt's plugin system, using the \c Q_PLUGIN_METADATA macro with
|
||||||
an IID set to \c "org.qt-project.Qt.QtCreatorPlugin".
|
an IID set to \c "org.qt-project.Qt.QtCreatorPlugin".
|
||||||
|
|
||||||
|
For more information, see \l{Plugin Life Cycle}.
|
||||||
After the plugins' XML files have been read, and dependencies have been
|
|
||||||
found, the plugin loading is done in three phases:
|
|
||||||
\list 1
|
|
||||||
\li All plugin libraries are loaded in \e{root-to-leaf} order of the
|
|
||||||
dependency tree.
|
|
||||||
\li All plugins' initialize functions are called in \e{root-to-leaf} order
|
|
||||||
of the dependency tree. This is a good time to create objects
|
|
||||||
needed by other plugins and register them via appropriate core functions
|
|
||||||
or, if a weak dependency is neceessary to be implemented, to put
|
|
||||||
them into the global object pool.
|
|
||||||
\li All plugins' extensionsInitialized() functions are called in \e{leaf-to-root}
|
|
||||||
order of the dependency tree. At this point, plugins can
|
|
||||||
be sure that all plugins that depend on this plugin have
|
|
||||||
been initialized completely and objects these plugins wish to
|
|
||||||
share have been registered or are available in the global object pool.
|
|
||||||
\endlist
|
|
||||||
If library loading or initialization of a plugin fails, all plugins
|
|
||||||
that depend on that plugin also fail.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -183,8 +158,6 @@
|
|||||||
|
|
||||||
Returns a QObject that blocks the command until it is destroyed, if \c -block
|
Returns a QObject that blocks the command until it is destroyed, if \c -block
|
||||||
is used.
|
is used.
|
||||||
|
|
||||||
\sa PluginManager::serializedArguments()
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Reference in New Issue
Block a user