<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Geode Native C++ Reference: apache::geode::client::AuthenticatedView 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</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" />
</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="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native C++ Reference
   &#160;<span id="projectnumber">1.13.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00279.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">apache::geode::client::AuthenticatedView Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Creates an authenticated cache view to allow credential based access to region services.  
 <a href="a00279.html#details">More...</a></p>

<p>Inherits <a class="el" href="a00839.html">apache::geode::client::RegionService</a>.</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:a26b1a82f8772ff63f81967a1616da618"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#a26b1a82f8772ff63f81967a1616da618">AuthenticatedView</a> (std::shared_ptr&lt; <a class="el" href="a00799.html">Properties</a> &gt; credentials, std::shared_ptr&lt; <a class="el" href="a00787.html">Pool</a> &gt; pool, CacheImpl *cacheImpl)</td></tr>
<tr class="memdesc:a26b1a82f8772ff63f81967a1616da618"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructors  <a href="#a26b1a82f8772ff63f81967a1616da618">More...</a><br /></td></tr>
<tr class="separator:a26b1a82f8772ff63f81967a1616da618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3">close</a> () override</td></tr>
<tr class="memdesc:adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminates this object cache and releases all the local resources.  <a href="#adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3">More...</a><br /></td></tr>
<tr class="separator:adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5474bd404826e32971288a2f098272d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00755.html">PdxInstanceFactory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#a5474bd404826e32971288a2f098272d2">createPdxInstanceFactory</a> (const std::string &amp;className) const override</td></tr>
<tr class="memdesc:a5474bd404826e32971288a2f098272d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a factory that can create a <a class="el" href="a00751.html">PdxInstance</a>.  <a href="#a5474bd404826e32971288a2f098272d2">More...</a><br /></td></tr>
<tr class="separator:a5474bd404826e32971288a2f098272d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdde5da469a3313a2ed2dc8a6f7f9e71"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="a00811.html">QueryService</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#afdde5da469a3313a2ed2dc8a6f7f9e71">getQueryService</a> () override</td></tr>
<tr class="memdesc:afdde5da469a3313a2ed2dc8a6f7f9e71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the <a class="el" href="a00811.html" title="QueryService is the class obtained from a Cache.">QueryService</a> from which a new <a class="el" href="a00807.html" title="A Query is obtained from a QueryService which in turn is obtained from the Cache.">Query</a> can be obtained.  <a href="#afdde5da469a3313a2ed2dc8a6f7f9e71">More...</a><br /></td></tr>
<tr class="separator:afdde5da469a3313a2ed2dc8a6f7f9e71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7620efbbc3004681ec6622a5fa3c926c"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="a00815.html">Region</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#a7620efbbc3004681ec6622a5fa3c926c">getRegion</a> (const std::string &amp;path) const override</td></tr>
<tr class="memdesc:a7620efbbc3004681ec6622a5fa3c926c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Look up a region with the full path from root.  <a href="#a7620efbbc3004681ec6622a5fa3c926c">More...</a><br /></td></tr>
<tr class="separator:a7620efbbc3004681ec6622a5fa3c926c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae11f988865fe1074f84b9932f0e7c78d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ae11f988865fe1074f84b9932f0e7c78d">isClosed</a> () const override</td></tr>
<tr class="memdesc:ae11f988865fe1074f84b9932f0e7c78d"><td class="mdescLeft">&#160;</td><td class="mdescRight">public methods  <a href="#ae11f988865fe1074f84b9932f0e7c78d">More...</a><br /></td></tr>
<tr class="separator:ae11f988865fe1074f84b9932f0e7c78d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae96bdb4d42e7c2072ed667236cd0b35b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::shared_ptr&lt; <a class="el" href="a00815.html">Region</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ae96bdb4d42e7c2072ed667236cd0b35b">rootRegions</a> () const override</td></tr>
<tr class="memdesc:ae96bdb4d42e7c2072ed667236cd0b35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a set of root regions in the cache.  <a href="#ae96bdb4d42e7c2072ed667236cd0b35b">More...</a><br /></td></tr>
<tr class="separator:ae96bdb4d42e7c2072ed667236cd0b35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4515dc813d9d4e80bb0fa5cf183678aa"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#a4515dc813d9d4e80bb0fa5cf183678aa">~AuthenticatedView</a> ()</td></tr>
<tr class="memdesc:a4515dc813d9d4e80bb0fa5cf183678aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor  <a href="#a4515dc813d9d4e80bb0fa5cf183678aa">More...</a><br /></td></tr>
<tr class="separator:a4515dc813d9d4e80bb0fa5cf183678aa"><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>Creates an authenticated cache view to allow credential based access to region services. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4515dc813d9d4e80bb0fa5cf183678aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4515dc813d9d4e80bb0fa5cf183678aa">&#9670;&nbsp;</a></span>~AuthenticatedView()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual apache::geode::client::AuthenticatedView::~AuthenticatedView </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>destructor </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apache::geode::client::AuthenticatedView::AuthenticatedView </td>
          <td>(</td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="a00799.html">Properties</a> &gt;&#160;</td>
          <td class="paramname"><em>credentials</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::shared_ptr&lt; <a class="el" href="a00787.html">Pool</a> &gt;&#160;</td>
          <td class="paramname"><em>pool</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CacheImpl *&#160;</td>
          <td class="paramname"><em>cacheImpl</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>constructors </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb3ba6b5cacf6acbc6ba2d4bbcbdfcb3">&#9670;&nbsp;</a></span>close()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void apache::geode::client::AuthenticatedView::close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Terminates this object cache and releases all the local resources. </p>
<p>After this cache is closed, any further method call on this cache or any region object will throw <code><a class="el" href="a00499.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a></code>, unless otherwise noted. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">keepalive</td><td>whether to keep a durable client's queue alive </td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00499.html" title="Thrown when an operation is attempted on a closed cache.">CacheClosedException</a>,if</td><td>the cache is already closed. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="a00839.html#ad491b3447896e480666fdae6d9c96ab9">apache::geode::client::RegionService</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00755.html">PdxInstanceFactory</a> apache::geode::client::AuthenticatedView::createPdxInstanceFactory </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>className</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a factory that can create a <a class="el" href="a00751.html">PdxInstance</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">className</td><td>the fully qualified class name that the <a class="el" href="a00751.html" title="PdxInstance provides run time access to the fields of a PDX without deserializing the PDX.">PdxInstance</a> will become when it is fully deserialized. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the factory </dd></dl>

<p>Implements <a class="el" href="a00839.html#a0dcd1860f71f30172e4303f5d8439c4c">apache::geode::client::RegionService</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="a00811.html">QueryService</a>&gt; apache::geode::client::AuthenticatedView::getQueryService </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the <a class="el" href="a00811.html" title="QueryService is the class obtained from a Cache.">QueryService</a> from which a new <a class="el" href="a00807.html" title="A Query is obtained from a QueryService which in turn is obtained from the Cache.">Query</a> can be obtained. </p>
<dl class="section return"><dt>Returns</dt><dd>A smart pointer to the <a class="el" href="a00811.html" title="QueryService is the class obtained from a Cache.">QueryService</a>. </dd></dl>

<p>Implements <a class="el" href="a00839.html#a750c5523f7f9b2aab4b91993466164c9">apache::geode::client::RegionService</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::shared_ptr&lt;<a class="el" href="a00815.html">Region</a>&gt; apache::geode::client::AuthenticatedView::getRegion </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Look up a region with the full path from root. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>the region's path, such as <code>RootA/Sub1/Sub1A</code>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>region, or nullptr if no such region exists. </dd></dl>

<p>Implements <a class="el" href="a00839.html#a50370f5b4d144c8742baceb0eaa4cfe3">apache::geode::client::RegionService</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool apache::geode::client::AuthenticatedView::isClosed </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>public methods </p>
<p>Indicates if this cache has been closed. After a new cache object is created, this method returns false; After the close is called on this cache object, this method returns true.</p>
<dl class="section return"><dt>Returns</dt><dd>true, if this cache is closed; false, otherwise </dd></dl>

<p>Implements <a class="el" href="a00839.html#a0a9bb57c509648270a50abc5afea1dae">apache::geode::client::RegionService</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;std::shared_ptr&lt;<a class="el" href="a00815.html">Region</a>&gt; &gt; apache::geode::client::AuthenticatedView::rootRegions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a set of root regions in the cache. </p>
<p>This set is a snapshot and is not backed by the <a class="el" href="a00287.html" title="Caches are obtained from the create method on the CacheFactory#create class.">Cache</a>. The vector passed in is cleared and the regions are added to it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">regions</td><td>the returned set of regions </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="a00839.html#acd245c4e15d2025a78c7fa7e8652529a">apache::geode::client::RegionService</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<HR><address style="align: right;"><small>Apache Geode C++ Cache API Documentation</small></address>
