- Extending Qt Creator Manual
- ExtensionSystem Namespace
- Extending Qt Creator Manual 8.0.2

# ExtensionSystem Namespace

The ExtensionSystem namespace provides classes that belong to the core plugin system. More...

Header: | #include <ExtensionSystem>

## Classes

class | IPlugin
struct | PluginArgumentDescription
struct | PluginDependency
class | PluginDetailsView
class | PluginErrorView
class | PluginManager
class | PluginSpec
class | PluginView

## Functions

Result | invoke(QObject *target, const char *slot)
Result | invoke(QObject *target, const char *slot, const T0 &t0)
Result | invoke(QObject *target, const char *slot, const T0 &t0, const T1 &t1)
Result | invoke(QObject *target, const char *slot, const T0 &t0, const T1 &t1, const T2 &t2)

## Detailed Description

The basic extension system contains the plugin manager and its supporting classes, and the IPlugin interface that must be implemented by plugin providers.

## Classes

### class IPlugin

The IPlugin class is an abstract base class that must be implemented once for each plugin. More...

### class PluginArgumentDescription

The PluginArgumentDescriptions class holds a list of descriptions of command line arguments that a plugin processes. More...

### class PluginDependency

The PluginDependency class contains the name and required compatible version number of a plugin's dependency. More...

### class PluginDetailsView

The PluginDetailsView class implements a widget that displays the contents of a PluginSpec. More...

### class PluginErrorView

The PluginErrorView class implements a widget that displays the state and error message of a PluginSpec. More...

### class PluginManager

The PluginManager class implements the core plugin system that manages the plugins, their life cycle, and their registered objects. More...

### class PluginSpec

The PluginSpec class contains the information of the plugin's embedded meta data and information about the plugin's current state. More...

### class PluginView

The PluginView class implements a widget that shows a list of all plugins and their state. More...

## Function Documentation

### template <typename Result> Result ExtensionSystem::invoke(QObject *target, const char *slot)

Invokes slot on target by name via Qt's meta method system.

Returns the result of the meta call.

### template <typename Result, typename T0> Result ExtensionSystem::invoke(QObject *target, const char *slot, const T0 &t0)

Invokes slot on target with argument t0 by name via Qt's meta method system.

Returns the result of the meta call.

### template <typename Result, typename T0, typename T1> Result ExtensionSystem::invoke(QObject *target, const char *slot, const T0 &t0, const T1 &t1)

Invokes slot on target with arguments t0 and t1 by name via Qt's meta method system.

Returns the result of the meta call.

### template <typename Result, typename T0, typename T1, typename T2> Result ExtensionSystem::invoke(QObject *target, const char *slot, const T0 &t0, const T1 &t1, const T2 &t2)

Invokes slot on target with arguments t0, t1 and t2 by name via Qt's meta method system.

Returns the result of the meta call.