Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/class_c_producer.html
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 6 43e37759235e
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582

<!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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>TB9.2 Example Applications: CProducer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2 -->
<div class="contents">
<h1>CProducer Class Reference</h1><!-- doxytag: class="CProducer" -->
<p><a href="class_c_producer-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a0040101a0f8608387a61d40dcd1df1e1">ConstructL</a> (CConsoleBase *aConsole, <a class="el" href="class_c_queue.html">CQueue</a> *aTokens)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#abcfcc99dcdc64e03c08243375822dcf0">ResumeProd</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a18ffcf23a5cb4d45b6e4ed9399b4c026">Display</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a0d0ebcf368ff02703286cfae62965e8f">Produce</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a8edcde2babed9948f65057d75e6b3899">~CProducer</a> ()</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_c_producer.html">CProducer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a3897c9436f1aae1654b3ae1c5a4b6673">NewL</a> (CConsoleBase *aConsole, <a class="el" href="class_c_queue.html">CQueue</a> *aTokens)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a1dc386d260d55e131f450a61553a49c7">ProdThreadFunc</a> (TAny *aPtr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static TInt&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_producer.html#a2a8f3ef760142c8e424936df25c167d3">InsertFunction</a> (TAny *aPtr)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This class owns the producer thread. It provides an interface to insert tokens into the CQueue::iArray queue. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="class_c_queue.html">CQueue</a>. </dd>
<dd>
CPeriodic. </dd></dl>

<p>Definition at line <a class="el" href="producer_8h_source.html#l00034">34</a> of file <a class="el" href="producer_8h_source.html">producer.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8edcde2babed9948f65057d75e6b3899"></a><!-- doxytag: member="CProducer::~CProducer" ref="a8edcde2babed9948f65057d75e6b3899" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CProducer::~CProducer </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor. </p>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00146">146</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a3897c9436f1aae1654b3ae1c5a4b6673"></a><!-- doxytag: member="CProducer::NewL" ref="a3897c9436f1aae1654b3ae1c5a4b6673" args="(CConsoleBase *aConsole, CQueue *aTokens)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_producer.html">CProducer</a> * CProducer::NewL </td>
          <td>(</td>
          <td class="paramtype">CConsoleBase *&nbsp;</td>
          <td class="paramname"> <em>aConsole</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_queue.html">CQueue</a> *&nbsp;</td>
          <td class="paramname"> <em>aTokens</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Performs the two-phase construction of an object of the <a class="el" href="class_c_producer.html">CProducer</a> class. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aConsole</em>&nbsp;</td><td>The console object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>aTokens</em>&nbsp;</td><td>A pointer to the <a class="el" href="class_c_queue.html">CQueue</a> object containing the tokens' queue. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A <a class="el" href="class_c_producer.html">CProducer</a> object. </dd></dl>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00031">31</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0040101a0f8608387a61d40dcd1df1e1"></a><!-- doxytag: member="CProducer::ConstructL" ref="a0040101a0f8608387a61d40dcd1df1e1" args="(CConsoleBase *aConsole, CQueue *aTokens)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CProducer::ConstructL </td>
          <td>(</td>
          <td class="paramtype">CConsoleBase *&nbsp;</td>
          <td class="paramname"> <em>aConsole</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_queue.html">CQueue</a> *&nbsp;</td>
          <td class="paramname"> <em>aTokens</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The second phase constructor of the <a class="el" href="class_c_producer.html">CProducer</a> class. It creates the following member objects of the class:</p>
<ul>
<li>iPeriodicProd</li>
<li>iProdThread The call back function of the iPeriodicProd object - <a class="el" href="class_c_producer.html#a2a8f3ef760142c8e424936df25c167d3">InsertFunction()</a> invokes the iProdThread every second. <dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aConsole</em>&nbsp;</td><td>The console object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>aTokens</em>&nbsp;</td><td>A pointer to the <a class="el" href="class_c_queue.html">CQueue</a> object containing the tokens' queue. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>CPeriodic::Start(). </dd>
<dd>
RThread::Create(). </dd></dl>
</li>
</ul>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00051">51</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a1dc386d260d55e131f450a61553a49c7"></a><!-- doxytag: member="CProducer::ProdThreadFunc" ref="a1dc386d260d55e131f450a61553a49c7" args="(TAny *aPtr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TInt CProducer::ProdThreadFunc </td>
          <td>(</td>
          <td class="paramtype">TAny *&nbsp;</td>
          <td class="paramname"> <em>aPtr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The producer thread function. It inserts a token into the queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>aPtr</em>&nbsp;</td><td>A pointer to the arguments passed to the thread function. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00109">109</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="abcfcc99dcdc64e03c08243375822dcf0"></a><!-- doxytag: member="CProducer::ResumeProd" ref="abcfcc99dcdc64e03c08243375822dcf0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CProducer::ResumeProd </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Resumes the execution of the producer thread. </p>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00127">127</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a18ffcf23a5cb4d45b6e4ed9399b4c026"></a><!-- doxytag: member="CProducer::Display" ref="a18ffcf23a5cb4d45b6e4ed9399b4c026" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CProducer::Display </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Displays the contents of the queue. </p>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00079">79</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a0d0ebcf368ff02703286cfae62965e8f"></a><!-- doxytag: member="CProducer::Produce" ref="a0d0ebcf368ff02703286cfae62965e8f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CProducer::Produce </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Produce a token. </p>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00137">137</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a2a8f3ef760142c8e424936df25c167d3"></a><!-- doxytag: member="CProducer::InsertFunction" ref="a2a8f3ef760142c8e424936df25c167d3" args="(TAny *aPtr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TInt CProducer::InsertFunction </td>
          <td>(</td>
          <td class="paramtype">TAny *&nbsp;</td>
          <td class="paramname"> <em>aPtr</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The call back function associated with the CPeriodic object of the <a class="el" href="class_c_producer.html">CProducer</a> class. </p>
<dl class="see"><dt><b>See also:</b></dt><dd>CProducer::iPeriodicProd. </dd>
<dd>
CPeriodic. </dd></dl>

<p>Definition at line <a class="el" href="producer_8cpp_source.html#l00158">158</a> of file <a class="el" href="producer_8cpp_source.html">producer.cpp</a>.</p>

</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>