Show / Hide Table of Contents

# Interface IPluginProvider<TConfig>

Pluggable Ignite component. Should have parameterless constructor.

Ignite plugins are loaded according to PluginConfigurations.

###### Namespace: Apache.Ignite.Core.Plugin

###### Assembly: Apache.Ignite.Core.dll

##### Syntax

    public interface IPluginProvider<in TConfig>
        where TConfig : IPluginConfiguration

##### Type Parameters

Name | Description
--- | ---
TConfig |

### Properties

#### Copyright

Gets the copyright information.

##### Declaration

    string Copyright { get; }

##### Property Value

Type | Description
--- | ---
System.String |

#### Name

Gets the plugin name. Plugins can be retrieved by name via GetPlugin<T>(String).

##### Declaration

    string Name { get; }

##### Property Value

Type | Description
--- | ---
System.String |

### Methods

#### GetPlugin<T>()

Gets the plugin instance.

##### Declaration

    T GetPlugin<T>()where T : class

##### Returns

Type | Description
--- | ---
T | Plugin instance.

##### Type Parameters

Name | Description
--- | ---
T | Plugin instance type.

#### OnIgniteStart()

Called when Ignite has been started and is fully functional.

##### Declaration

    void OnIgniteStart()

#### OnIgniteStop(Boolean)

Callback to notify that Ignite is about to stop.

##### Declaration

    void OnIgniteStop(bool cancel)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | cancel | if set to `true`, all ongoing operations should be canceled.

#### Start(IPluginContext<TConfig>)

Starts the plugin provider.

Ignite can be null until OnIgniteStart() is called.

##### Declaration

    void Start(IPluginContext<TConfig> context)

##### Parameters

Type | Name | Description
--- | --- | ---
IPluginContext<TConfig> | context | The context.

#### Stop(Boolean)

Stops the plugin provider.

##### Declaration

    void Stop(bool cancel)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | cancel | if set to `true`, all ongoing operations should be canceled.