Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 5343

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mrpt::utils::CObserver Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a>      </li>
      <li class="navelem"><a class="el" href="namespacemrpt_1_1utils.html">utils</a>      </li>
      <li class="navelem"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html">CObserver</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">mrpt::utils::CObserver Class Reference<div class="ingroups"><a class="el" href="group__mrpt__base__grp.html">[mrpt-base]</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="mrpt::utils::CObserver" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Inherit from this class to get notified about events from any <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> object after subscribing to it. </p>
<p>The main methods in this class are:</p>
<ul>
<li><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#aedaffad1d99185258e2caac8b6cc50df" title="Starts the subscription of this observer to the given object.">observeBegin()</a>: To be called to start listening at a given object.</li>
<li><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#ac2d5773bafc7abe5e31aa16ccb7e665c" title="This virtual function will be called upon receive of any event after starting listening at any CObser...">OnEvent()</a>: Virtual functions to be implemented in your child class to receive all the notifications.</li>
</ul>
<p>Note that if custom (child) <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html" title="The basic event type for the observer-observable pattern in MRPT.">mrptEvent</a> classes are used, you can tell between them in runtime with "dynamic_cast&lt;&gt;()".</p>
<dl class="note"><dt><b>Note:</b></dt><dd>The pairs <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> / <a class="el" href="classmrpt_1_1utils_1_1_c_observer.html" title="Inherit from this class to get notified about events from any CObservable object after subscribing to...">CObserver</a> automatically notify each other the destruction of any of them, effectively ending the subscription of events.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a>, <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html" title="The basic event type for the observer-observable pattern in MRPT.">mrptEvent</a> </dd></dl>
</div>
<p><code>#include &lt;<a class="el" href="_c_observer_8h_source.html">mrpt/utils/CObserver.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mrpt::utils::CObserver:</div>
<div class="dyncontent">
<div class="center"><img src="classmrpt_1_1utils_1_1_c_observer__inherit__graph.png" border="0" usemap="#mrpt_1_1utils_1_1_c_observer_inherit__map" alt="Inheritance graph"/></div>
<map name="mrpt_1_1utils_1_1_c_observer_inherit__map" id="mrpt_1_1utils_1_1_c_observer_inherit__map">
<area shape="rect" id="node3" href="classmrpt_1_1slam_1_1_c_occupancy_grid_map_feature_extractor.html" title="A class for detecting features from occupancy grid maps." alt="" coords="5,80,320,107"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classmrpt_1_1utils_1_1_c_observer-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#ae872779a2d0bb81b2774808ad757a49f">CObserver</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#a4e642edf0dd5c5b7b1355cd144d909ba">~CObserver</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#aedaffad1d99185258e2caac8b6cc50df">observeBegin</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the subscription of this observer to the given object.  <a href="#aedaffad1d99185258e2caac8b6cc50df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#abb6f34eb0b20b27d937c00d2010e53e0">observeEnd</a> (<a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a> &amp;obj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Ends the subscription of this observer to the given object (note that there is no need to call this method, since the destruction of the first of observer/observed will put an end to the process.  <a href="#abb6f34eb0b20b27d937c00d2010e53e0"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#ac2d5773bafc7abe5e31aa16ccb7e665c">OnEvent</a> (const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;e)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This virtual function will be called upon receive of any event after starting listening at any <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> object.  <a href="#ac2d5773bafc7abe5e31aa16ccb7e665c"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#a98fb4178e225c050857bb3fc9c735c11">internal_on_event</a> (const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;e)</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1set.html">std::set</a>&lt; <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#a21a6f7f23518790feba9771ec7cba05a">m_subscribed</a></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#a4dff6a30296788786a732d228e2d0eff">CObservable</a></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae872779a2d0bb81b2774808ad757a49f"></a><!-- doxytag: member="mrpt::utils::CObserver::CObserver" ref="ae872779a2d0bb81b2774808ad757a49f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">mrpt::utils::CObserver::CObserver </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4e642edf0dd5c5b7b1355cd144d909ba"></a><!-- doxytag: member="mrpt::utils::CObserver::~CObserver" ref="a4e642edf0dd5c5b7b1355cd144d909ba" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual mrpt::utils::CObserver::~CObserver </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a98fb4178e225c050857bb3fc9c735c11"></a><!-- doxytag: member="mrpt::utils::CObserver::internal_on_event" ref="a98fb4178e225c050857bb3fc9c735c11" args="(const mrptEvent &amp;e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CObserver::internal_on_event </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aedaffad1d99185258e2caac8b6cc50df"></a><!-- doxytag: member="mrpt::utils::CObserver::observeBegin" ref="aedaffad1d99185258e2caac8b6cc50df" args="(CObservable &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CObserver::observeBegin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Starts the subscription of this observer to the given object. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#abb6f34eb0b20b27d937c00d2010e53e0" title="Ends the subscription of this observer to the given object (note that there is no need to call this m...">observeEnd</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abb6f34eb0b20b27d937c00d2010e53e0"></a><!-- doxytag: member="mrpt::utils::CObserver::observeEnd" ref="abb6f34eb0b20b27d937c00d2010e53e0" args="(CObservable &amp;obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mrpt::utils::CObserver::observeEnd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a> &amp;&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Ends the subscription of this observer to the given object (note that there is no need to call this method, since the destruction of the first of observer/observed will put an end to the process. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#aedaffad1d99185258e2caac8b6cc50df" title="Starts the subscription of this observer to the given object.">observeBegin</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac2d5773bafc7abe5e31aa16ccb7e665c"></a><!-- doxytag: member="mrpt::utils::CObserver::OnEvent" ref="ac2d5773bafc7abe5e31aa16ccb7e665c" args="(const mrptEvent &amp;e)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void mrpt::utils::CObserver::OnEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1mrpt_event.html">mrptEvent</a> &amp;&#160;</td>
          <td class="paramname"><em>e</em></td><td>)</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This virtual function will be called upon receive of any event after starting listening at any <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html" title="Inherit from this class for those objects capable of being observed by a CObserver class...">CObservable</a> object. </p>

<p>Implemented in <a class="el" href="classmrpt_1_1slam_1_1_c_occupancy_grid_map_feature_extractor.html#a6832a14731dd06a3693108e0867dfe3b">mrpt::slam::COccupancyGridMapFeatureExtractor</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a4dff6a30296788786a732d228e2d0eff"></a><!-- doxytag: member="mrpt::utils::CObserver::CObservable" ref="a4dff6a30296788786a732d228e2d0eff" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_observer_8h_source.html#l00054">54</a> of file <a class="el" href="_c_observer_8h_source.html">CObserver.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a21a6f7f23518790feba9771ec7cba05a"></a><!-- doxytag: member="mrpt::utils::CObserver::m_subscribed" ref="a21a6f7f23518790feba9771ec7cba05a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1set.html">std::set</a>&lt;<a class="el" href="classmrpt_1_1utils_1_1_c_observable.html">CObservable</a>*&gt; <a class="el" href="classmrpt_1_1utils_1_1_c_observer.html#a21a6f7f23518790feba9771ec7cba05a">mrpt::utils::CObserver::m_subscribed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_c_observer_8h_source.html#l00068">68</a> of file <a class="el" href="_c_observer_8h_source.html">CObserver.h</a>.</p>

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>