ExtensionSystem Namespace | Extending Qt Creator Manual
Description: The ExtensionSystem namespace provides classes that belong to the core plugin system.

- Extending Qt Creator Manual
- ExtensionSystem Namespace
- Extending Qt Creator Manual 18.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, const Args &... args)

## 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 ID 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, typename... Args> Result ExtensionSystem::invoke(QObject *target, const char *slot, const Args &... args)

Invokes slot on target with the arguments args by name via Qt's meta method system.

Returns the result of the meta call.