<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- Yandex.Metrika counter -->
    <script type="text/javascript" >
      (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
      m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
      (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
      ym(72949126, "init", {
           clickmap:true,
           trackLinks:true,
           accurateTrackBounce:true,
           webvisor:true
      });
    </script>
    <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->
<script type='text/javascript'>
    window.__lo_site_id = 284467;
    
      (function() {
        var wa = document.createElement('script'); wa.type = 'text/javascript'; wa.async = true;
        wa.src = 'https://d10lpsik1i8c69.cloudfront.net/w.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wa, s);
        })();
      </script>
<link rel="canonical" href="https://ignite.apache.org/releases/latest/cppdoc/classignite_1_1thin_1_1IgniteClient.html" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>&nbsp; Apache Ignite C++: ignite::thin::IgniteClient Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'UA-61232409-1');
    </script></head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">&nbsp; Apache Ignite C++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceignite.html">ignite</a></li><li class="navelem"><a class="el" href="namespaceignite_1_1thin.html">thin</a></li><li class="navelem"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html">IgniteClient</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classignite_1_1thin_1_1IgniteClient-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ignite::thin::IgniteClient Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classignite_1_1Ignite.html" title="Main interface to operate with Ignite. ">Ignite</a> client class.  
 <a href="classignite_1_1thin_1_1IgniteClient.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ignite__client_8h_source.html">ignite_client.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a340b55483d03ddd8e4e293934052bcf8"><td class="memItemLeft" align="right" valign="top"><a id="a340b55483d03ddd8e4e293934052bcf8"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#a340b55483d03ddd8e4e293934052bcf8">IgniteClient</a> ()</td></tr>
<tr class="memdesc:a340b55483d03ddd8e4e293934052bcf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a340b55483d03ddd8e4e293934052bcf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6dd562b3c3166d58f7628bcb39d12da"><td class="memItemLeft" align="right" valign="top"><a id="ac6dd562b3c3166d58f7628bcb39d12da"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#ac6dd562b3c3166d58f7628bcb39d12da">~IgniteClient</a> ()</td></tr>
<tr class="memdesc:ac6dd562b3c3166d58f7628bcb39d12da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:ac6dd562b3c3166d58f7628bcb39d12da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae797fffa5c9b81af56ff016b4d8a2204"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V &gt; </td></tr>
<tr class="memitem:ae797fffa5c9b81af56ff016b4d8a2204"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt; K, V &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#ae797fffa5c9b81af56ff016b4d8a2204">GetCache</a> (const char *name)</td></tr>
<tr class="memdesc:ae797fffa5c9b81af56ff016b4d8a2204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get cache.  <a href="#ae797fffa5c9b81af56ff016b4d8a2204">More...</a><br /></td></tr>
<tr class="separator:ae797fffa5c9b81af56ff016b4d8a2204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68ebd383b6d261dcbea7e4e1ddbccdf7"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V &gt; </td></tr>
<tr class="memitem:a68ebd383b6d261dcbea7e4e1ddbccdf7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt; K, V &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#a68ebd383b6d261dcbea7e4e1ddbccdf7">GetOrCreateCache</a> (const char *name)</td></tr>
<tr class="memdesc:a68ebd383b6d261dcbea7e4e1ddbccdf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get or create cache.  <a href="#a68ebd383b6d261dcbea7e4e1ddbccdf7">More...</a><br /></td></tr>
<tr class="separator:a68ebd383b6d261dcbea7e4e1ddbccdf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae07b0dbd827326f1c8eb3d34f1d886ee"><td class="memTemplParams" colspan="2">template&lt;typename K , typename V &gt; </td></tr>
<tr class="memitem:ae07b0dbd827326f1c8eb3d34f1d886ee"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt; K, V &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#ae07b0dbd827326f1c8eb3d34f1d886ee">CreateCache</a> (const char *name)</td></tr>
<tr class="memdesc:ae07b0dbd827326f1c8eb3d34f1d886ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create cache.  <a href="#ae07b0dbd827326f1c8eb3d34f1d886ee">More...</a><br /></td></tr>
<tr class="separator:ae07b0dbd827326f1c8eb3d34f1d886ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab94d7d3a265fcfa54520edeb5c77677b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#ab94d7d3a265fcfa54520edeb5c77677b">DestroyCache</a> (const char *name)</td></tr>
<tr class="memdesc:ab94d7d3a265fcfa54520edeb5c77677b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy cache by name.  <a href="#ab94d7d3a265fcfa54520edeb5c77677b">More...</a><br /></td></tr>
<tr class="separator:ab94d7d3a265fcfa54520edeb5c77677b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef4fbe1c771f61cf0bc0d348345bfd26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#aef4fbe1c771f61cf0bc0d348345bfd26">GetCacheNames</a> (std::vector&lt; std::string &gt; &amp;cacheNames)</td></tr>
<tr class="memdesc:aef4fbe1c771f61cf0bc0d348345bfd26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get names of currently available caches or an empty collection if no caches are available.  <a href="#aef4fbe1c771f61cf0bc0d348345bfd26">More...</a><br /></td></tr>
<tr class="separator:aef4fbe1c771f61cf0bc0d348345bfd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f4711ef2e87f10bca8cbfd290916ee3"><td class="memItemLeft" align="right" valign="top"><a id="a1f4711ef2e87f10bca8cbfd290916ee3"></a>
<a class="el" href="classignite_1_1thin_1_1transactions_1_1ClientTransactions.html">transactions::ClientTransactions</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#a1f4711ef2e87f10bca8cbfd290916ee3">ClientTransactions</a> ()</td></tr>
<tr class="memdesc:a1f4711ef2e87f10bca8cbfd290916ee3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts transactions. <br /></td></tr>
<tr class="separator:a1f4711ef2e87f10bca8cbfd290916ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:adf731f065a32d512a0caf23901bed571"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classignite_1_1thin_1_1IgniteClient.html">IgniteClient</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classignite_1_1thin_1_1IgniteClient.html#adf731f065a32d512a0caf23901bed571">Start</a> (const <a class="el" href="classignite_1_1thin_1_1IgniteClientConfiguration.html">IgniteClientConfiguration</a> &amp;cfg)</td></tr>
<tr class="memdesc:adf731f065a32d512a0caf23901bed571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start client.  <a href="#adf731f065a32d512a0caf23901bed571">More...</a><br /></td></tr>
<tr class="separator:adf731f065a32d512a0caf23901bed571"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classignite_1_1Ignite.html" title="Main interface to operate with Ignite. ">Ignite</a> client class. </p>
<p>This is an entry point for Thin C++ <a class="el" href="classignite_1_1Ignite.html" title="Main interface to operate with Ignite. ">Ignite</a> client. Its main purpose is to establish connection to the remote server nodes.</p>
<p>This class is implemented as a reference to an implementation so copying of this class instance will only create another reference to the same underlying object. Underlying object will be released automatically once all the instances are destructed. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae07b0dbd827326f1c8eb3d34f1d886ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae07b0dbd827326f1c8eb3d34f1d886ee">&#9670;&nbsp;</a></span>CreateCache()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt;K, V&gt; ignite::thin::IgniteClient::CreateCache </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Cache name. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Cache. </dd></dl>

</div>
</div>
<a id="ab94d7d3a265fcfa54520edeb5c77677b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab94d7d3a265fcfa54520edeb5c77677b">&#9670;&nbsp;</a></span>DestroyCache()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ignite::thin::IgniteClient::DestroyCache </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy cache by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Cache name. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae797fffa5c9b81af56ff016b4d8a2204"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae797fffa5c9b81af56ff016b4d8a2204">&#9670;&nbsp;</a></span>GetCache()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt;K, V&gt; ignite::thin::IgniteClient::GetCache </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Cache name. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Cache. </dd></dl>

</div>
</div>
<a id="aef4fbe1c771f61cf0bc0d348345bfd26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef4fbe1c771f61cf0bc0d348345bfd26">&#9670;&nbsp;</a></span>GetCacheNames()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ignite::thin::IgniteClient::GetCacheNames </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; std::string &gt; &amp;&#160;</td>
          <td class="paramname"><em>cacheNames</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get names of currently available caches or an empty collection if no caches are available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cacheNames</td><td>Cache names. Output parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a68ebd383b6d261dcbea7e4e1ddbccdf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68ebd383b6d261dcbea7e4e1ddbccdf7">&#9670;&nbsp;</a></span>GetOrCreateCache()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename K , typename V &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classignite_1_1thin_1_1cache_1_1CacheClient.html">cache::CacheClient</a>&lt;K, V&gt; ignite::thin::IgniteClient::GetOrCreateCache </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get or create cache. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Cache name. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Cache. </dd></dl>

</div>
</div>
<a id="adf731f065a32d512a0caf23901bed571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf731f065a32d512a0caf23901bed571">&#9670;&nbsp;</a></span>Start()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classignite_1_1thin_1_1IgniteClient.html">IgniteClient</a> ignite::thin::IgniteClient::Start </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classignite_1_1thin_1_1IgniteClientConfiguration.html">IgniteClientConfiguration</a> &amp;&#160;</td>
          <td class="paramname"><em>cfg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Start client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cfg</td><td>Client configuration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classignite_1_1thin_1_1IgniteClient.html" title="Ignite client class. ">IgniteClient</a> instance. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">IgnitError</td><td>on inability to connect. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ignite__client_8h_source.html">ignite_client.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Sep 11 2021 21:14:00 for &nbsp; Apache Ignite C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
