<!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::CqStatusListener 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('a00431.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::CqStatusListener Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Extension of <a class="el" href="a00411.html" title="Application plug-in interface for handling continuous query events after they occur.">CqListener</a>.  
 <a href="a00431.html#details">More...</a></p>

<p>Inherits <a class="el" href="a00411.html">apache::geode::client::CqListener</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:a9b19ef4cf7945657df11c9378a4662f5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00411.html#a9b19ef4cf7945657df11c9378a4662f5">close</a> ()</td></tr>
<tr class="memdesc:a9b19ef4cf7945657df11c9378a4662f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the region containing this callback is closed or destroyed, when the cache is closed, or when a callback is removed from a region using an <code><a class="el" href="a00275.html" title="Supports modification of certain region attributes after the region has been created.">AttributesMutator</a></code>.  <a href="#a9b19ef4cf7945657df11c9378a4662f5">More...</a><br /></td></tr>
<tr class="separator:a9b19ef4cf7945657df11c9378a4662f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aca7cb9d67edd17df327cb0e47a8863"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00431.html#a3aca7cb9d67edd17df327cb0e47a8863">onCqConnected</a> ()</td></tr>
<tr class="memdesc:a3aca7cb9d67edd17df327cb0e47a8863"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the cq establishes a connection with a server.  <a href="#a3aca7cb9d67edd17df327cb0e47a8863">More...</a><br /></td></tr>
<tr class="separator:a3aca7cb9d67edd17df327cb0e47a8863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab08c99cbdfdafbc846097b27e12562ae"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00431.html#ab08c99cbdfdafbc846097b27e12562ae">onCqDisconnected</a> ()</td></tr>
<tr class="memdesc:ab08c99cbdfdafbc846097b27e12562ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the cq loses connection with all servers.  <a href="#ab08c99cbdfdafbc846097b27e12562ae">More...</a><br /></td></tr>
<tr class="separator:ab08c99cbdfdafbc846097b27e12562ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4050fa02b1386d48a6f9877464a892bc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00411.html#a4050fa02b1386d48a6f9877464a892bc">onError</a> (const <a class="el" href="a00407.html">CqEvent</a> &amp;aCqEvent)</td></tr>
<tr class="memdesc:a4050fa02b1386d48a6f9877464a892bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is invoked when there is an error during CQ processing.  <a href="#a4050fa02b1386d48a6f9877464a892bc">More...</a><br /></td></tr>
<tr class="separator:a4050fa02b1386d48a6f9877464a892bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba90775e233d64d2c20e190862f0bc9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00411.html#a5ba90775e233d64d2c20e190862f0bc9">onEvent</a> (const <a class="el" href="a00407.html">CqEvent</a> &amp;aCqEvent)</td></tr>
<tr class="memdesc:a5ba90775e233d64d2c20e190862f0bc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is invoked when an event is occurred on the region that satisfied the query condition of this CQ.  <a href="#a5ba90775e233d64d2c20e190862f0bc9">More...</a><br /></td></tr>
<tr class="separator:a5ba90775e233d64d2c20e190862f0bc9"><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>Extension of <a class="el" href="a00411.html" title="Application plug-in interface for handling continuous query events after they occur.">CqListener</a>. </p>
<p>Adds two new methods to <a class="el" href="a00411.html" title="Application plug-in interface for handling continuous query events after they occur.">CqListener</a>, one that is called when the cq is connected and one that is called when the cq is disconnected</p>
<dl class="section since"><dt>Since</dt><dd>7.0 </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9b19ef4cf7945657df11c9378a4662f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b19ef4cf7945657df11c9378a4662f5">&#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">virtual void apache::geode::client::CqListener::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">virtual</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called when the region containing this callback is closed or destroyed, when the cache is closed, or when a callback is removed from a region using an <code><a class="el" href="a00275.html" title="Supports modification of certain region attributes after the region has been created.">AttributesMutator</a></code>. </p>
<p>Implementations should cleanup any external resources such as database connections. Any runtime exceptions this method throws will be logged.</p>
<p>It is possible for this method to be called multiple times on a single callback instance, so implementations must be tolerant of this.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00287.html#a709c65fc2cd45f67ce3d6603df9bc7f1" title="Terminates this object cache and releases all the local resources.">Cache::close()</a> </dd>
<dd>
Region::close </dd>
<dd>
<a class="el" href="a00815.html#a7572b61d45c19a28667779c68e44869b" title="Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in ...">Region::localDestroyRegion()</a> </dd>
<dd>
<a class="el" href="a00815.html#a0e00376744c98bc9d2db341a865c69a3" title="Destroys the whole region and provides a user-defined parameter object to any CacheWriter invoked in ...">Region::destroyRegion()</a> </dd>
<dd>
<a class="el" href="a00275.html" title="Supports modification of certain region attributes after the region has been created.">AttributesMutator</a> </dd></dl>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::CqStatusListener::onCqConnected </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>Called when the cq establishes a connection with a server. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::CqStatusListener::onCqDisconnected </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>Called when the cq loses connection with all servers. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::CqListener::onError </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00407.html">CqEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>aCqEvent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is invoked when there is an error during CQ processing. </p>
<p>The error can appear while applying query condition on the event. e.g if the event doesn't has attributes as specified in the CQ query. This event does contain an error. The newValue may or may not be available, and will be nullptr if not available. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void apache::geode::client::CqListener::onEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00407.html">CqEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>aCqEvent</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is invoked when an event is occurred on the region that satisfied the query condition of this CQ. </p>
<p>This event does not contain an error. </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>
