﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IPluginProvider&lt;TConfig&gt;
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IPluginProvider&lt;TConfig&gt;
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.58.4.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list">Search Results for <span></span></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1">
  
  
  <h1 id="Apache_Ignite_Core_Plugin_IPluginProvider_1" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1" class="text-break">Interface IPluginProvider&lt;TConfig&gt;
  </h1>
  <div class="markdown level0 summary"><p>Pluggable Ignite component. Should have parameterless constructor.
<p>
Ignite plugins are loaded according to <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_PluginConfigurations">PluginConfigurations</a>.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Plugin.html">Apache.Ignite.Core.Plugin</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IPluginProvider&lt;in TConfig&gt;
    where TConfig : IPluginConfiguration</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TConfig</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Copyright_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Copyright*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Copyright" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Copyright">Copyright</h4>
  <div class="markdown level1 summary"><p>Gets the copyright information.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Copyright { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Name_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Name*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Name" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Name">Name</h4>
  <div class="markdown level1 summary"><p>Gets the plugin name. Plugins can be retrieved by name via <a class="xref" href="Apache.Ignite.Core.IIgnite.html#Apache_Ignite_Core_IIgnite_GetPlugin__1_System_String_">GetPlugin&lt;T&gt;(String)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Name { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_GetPlugin_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.GetPlugin*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_GetPlugin__1" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.GetPlugin``1">GetPlugin&lt;T&gt;()</h4>
  <div class="markdown level1 summary"><p>Gets the plugin instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T GetPlugin&lt;T&gt;()
    where T : class</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><p>Plugin instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>Plugin instance type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_OnIgniteStart_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.OnIgniteStart*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_OnIgniteStart" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.OnIgniteStart">OnIgniteStart()</h4>
  <div class="markdown level1 summary"><p>Called when Ignite has been started and is fully functional.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void OnIgniteStart()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_OnIgniteStop_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.OnIgniteStop*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_OnIgniteStop_System_Boolean_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.OnIgniteStop(System.Boolean)">OnIgniteStop(Boolean)</h4>
  <div class="markdown level1 summary"><p>Callback to notify that Ignite is about to stop.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void OnIgniteStop(bool cancel)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">cancel</span></td>
        <td><p>if set to <code>true</code>, all ongoing operations should be canceled.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Start_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Start*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Start_Apache_Ignite_Core_Plugin_IPluginContext__0__" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Start(Apache.Ignite.Core.Plugin.IPluginContext{`0})">Start(IPluginContext&lt;TConfig&gt;)</h4>
  <div class="markdown level1 summary"><p>Starts the plugin provider.
<p>
<a class="xref" href="Apache.Ignite.Core.Plugin.IPluginContext-1.html#Apache_Ignite_Core_Plugin_IPluginContext_1_Ignite">Ignite</a> can be null until <a class="xref" href="Apache.Ignite.Core.Plugin.IPluginProvider-1.html#Apache_Ignite_Core_Plugin_IPluginProvider_1_OnIgniteStart">OnIgniteStart()</a> is called.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Start(IPluginContext&lt;TConfig&gt; context)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Plugin.IPluginContext-1.html">IPluginContext</a>&lt;TConfig&gt;</td>
        <td><span class="parametername">context</span></td>
        <td><p>The context.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Stop_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Stop*"></a>
  <h4 id="Apache_Ignite_Core_Plugin_IPluginProvider_1_Stop_System_Boolean_" data-uid="Apache.Ignite.Core.Plugin.IPluginProvider`1.Stop(System.Boolean)">Stop(Boolean)</h4>
  <div class="markdown level1 summary"><p>Stops the plugin provider.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Stop(bool cancel)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">cancel</span></td>
        <td><p>if set to <code>true</code>, all ongoing operations should be canceled.</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
