examples/S60CppExamples/ClientServerAsync/doc/class_c_time_server_session.html

00001 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
00002 <html>
00003 
00004 <head>
00005 <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
00006 <title>CTimeServerSession Class Reference</title>
00007 <link href="style.css" rel="stylesheet" type="text/css">
00008 </head>
00009 
00010 <table border="0" width="100%" height="8" bgcolor="#eeeeee">
00011 <tr> <td width="100%" height="1"><b><font size="2" color="#000000" face="Arial, Helvetica, sans-serif"><strong><a name=Top></a>
00012 S60 5th Edition SDK </strong></font></b><br><i>Example Applications Guide</i></td></tr> </table>
00013 <!-- Generated by Doxygen 1.4.5 -->
00014 <div class="tabs">
00015   <ul>
00016     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
00017     <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
00018     <li><a href="files.html"><span>Files</span></a></li>
00019   </ul></div>
00020 <div class="tabs">
00021   <ul>
00022     <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
00023     <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
00024     <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
00025   </ul></div>
00026 <h1>CTimeServerSession Class Reference</h1><!-- doxytag: class="CTimeServerSession" --><!-- doxytag: inherits="CSession2" --><code>#include &lt;<a class="el" href="timesession_8h-source.html">timesession.h</a>&gt;</code>
00027 <p>
00028 <p>Inheritance diagram for CTimeServerSession:
00029 <p><center><img src="class_c_time_server_session.png" usemap="#CTimeServerSession_map" border="0" alt=""></center>
00030 <map name="CTimeServerSession_map">
00031 </map>
00032 <a href="class_c_time_server_session-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
00033 CTimeServerSession. An instance of class CTimeServerSession is created for each client. 
00034 <p>
00035 
00036 <p>
00037 Definition at line <a class="el" href="timesession_8h-source.html#l00031">31</a> of file <a class="el" href="timesession_8h-source.html">timesession.h</a>.<table border="0" cellpadding="0" cellspacing="0">
00038 <tr><td></td></tr>
00039 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
00040 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#efc8537cb8d65ded65903587ad44c2e0">~CTimeServerSession</a> ()</td></tr>
00041 
00042 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#ecff8e289d914777ae0c503db937cf33">SendTimeToClient</a> ()</td></tr>
00043 
00044 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#75c0a1442736b57144c9ad541d87d370">ServiceL</a> (const RMessage2 &amp;aMessage)</td></tr>
00045 
00046 <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
00047 <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_c_time_server_session.html">CTimeServerSession</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#73d44aed371951fd548af4329b779411">NewL</a> (<a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;aServer)</td></tr>
00048 
00049 <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_c_time_server_session.html">CTimeServerSession</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#e1d8bbb0d9472f94ae559c6cb4e59e74">NewLC</a> (<a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;aServer)</td></tr>
00050 
00051 <tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
00052 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#88d810fed35057dcca6673d50400186c">CTimeServerSession</a> (<a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;aServer)</td></tr>
00053 
00054 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#9ce34ba0b947863222da3c63d0481044">ConstructL</a> ()</td></tr>
00055 
00056 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#fc9ec0d1642cb12692ca61f4a163e601">PanicClient</a> (const RMessagePtr2 &amp;aMessage, TInt aPanic) const </td></tr>
00057 
00058 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#8fac529732093d7c4331fb0e03da87f1">RequestTimeL</a> (const RMessage2 &amp;aMessage)</td></tr>
00059 
00060 <tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
00061 <tr><td class="memItemLeft" nowrap align="right" valign="top">TBool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a></td></tr>
00062 
00063 <tr><td class="memItemLeft" nowrap align="right" valign="top">RMessage2&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a></td></tr>
00064 
00065 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">iServer</a></td></tr>
00066 
00067 </table>
00068 <hr><h2>Constructor &amp; Destructor Documentation</h2>
00069 <a class="anchor" name="efc8537cb8d65ded65903587ad44c2e0"></a><!-- doxytag: member="CTimeServerSession::~CTimeServerSession" ref="efc8537cb8d65ded65903587ad44c2e0" args="()" --><p>
00070 <table class="mdTable" cellpadding="2" cellspacing="0">
00071   <tr>
00072     <td class="mdRow">
00073       <table cellpadding="0" cellspacing="0" border="0">
00074         <tr>
00075           <td class="md" nowrap valign="top">CTimeServerSession::~CTimeServerSession           </td>
00076           <td class="md" valign="top">(&nbsp;</td>
00077           <td class="mdname1" valign="top" nowrap>          </td>
00078           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00079           <td class="md" nowrap><code> [virtual]</code></td>
00080         </tr>
00081       </table>
00082     </td>
00083   </tr>
00084 </table>
00085 <table cellspacing="5" cellpadding="0" border="0">
00086   <tr>
00087     <td>
00088       &nbsp;
00089     </td>
00090     <td>
00091 
00092 <p>
00093 ~CTimeServerSession. Destructor. 
00094 <p>
00095 Definition at line <a class="el" href="timesession_8cpp-source.html#l00077">77</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00096 <p>
00097 References <a class="el" href="timeserver_8cpp-source.html#l00121">CTimeServer::DecrementSessions()</a>, and <a class="el" href="timesession_8h-source.html#l00125">iServer</a>.<div class="fragment"><pre class="fragment"><a name="l00078"></a>00078     {
00098 <a name="l00079"></a>00079     <a class="code" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">iServer</a>.<a class="code" href="class_c_time_server.html#982e65810ad50ce20759fd26fad488dc">DecrementSessions</a>();
00099 <a name="l00080"></a>00080     }
00100 </pre></div>
00101 <p>
00102     </td>
00103   </tr>
00104 </table>
00105 <a class="anchor" name="88d810fed35057dcca6673d50400186c"></a><!-- doxytag: member="CTimeServerSession::CTimeServerSession" ref="88d810fed35057dcca6673d50400186c" args="(CTimeServer &amp;aServer)" --><p>
00106 <table class="mdTable" cellpadding="2" cellspacing="0">
00107   <tr>
00108     <td class="mdRow">
00109       <table cellpadding="0" cellspacing="0" border="0">
00110         <tr>
00111           <td class="md" nowrap valign="top">CTimeServerSession::CTimeServerSession           </td>
00112           <td class="md" valign="top">(&nbsp;</td>
00113           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;&nbsp;</td>
00114           <td class="mdname1" valign="top" nowrap> <em>aServer</em>          </td>
00115           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00116           <td class="md" nowrap><code> [private]</code></td>
00117         </tr>
00118       </table>
00119     </td>
00120   </tr>
00121 </table>
00122 <table cellspacing="5" cellpadding="0" border="0">
00123   <tr>
00124     <td>
00125       &nbsp;
00126     </td>
00127     <td>
00128 
00129 <p>
00130 CTimeServerSession. C++ default constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
00131   <table border="0" cellspacing="2" cellpadding="0">
00132     <tr><td valign="top"></td><td valign="top"><em>aServer</em>&nbsp;</td><td>The server. </td></tr>
00133   </table>
00134 </dl>
00135 
00136 <p>
00137 Definition at line <a class="el" href="timesession_8cpp-source.html#l00066">66</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00138 <p>
00139 Referenced by <a class="el" href="timesession_8cpp-source.html#l00043">NewLC()</a>.<div class="fragment"><pre class="fragment"><a name="l00067"></a>00067 : <a class="code" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">iServer</a>( aServer )
00140 <a name="l00068"></a>00068     {
00141 <a name="l00069"></a>00069     <span class="comment">// Implementation not required</span>
00142 <a name="l00070"></a>00070     }
00143 </pre></div>
00144 <p>
00145     </td>
00146   </tr>
00147 </table>
00148 <hr><h2>Member Function Documentation</h2>
00149 <a class="anchor" name="73d44aed371951fd548af4329b779411"></a><!-- doxytag: member="CTimeServerSession::NewL" ref="73d44aed371951fd548af4329b779411" args="(CTimeServer &amp;aServer)" --><p>
00150 <table class="mdTable" cellpadding="2" cellspacing="0">
00151   <tr>
00152     <td class="mdRow">
00153       <table cellpadding="0" cellspacing="0" border="0">
00154         <tr>
00155           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server_session.html">CTimeServerSession</a> * CTimeServerSession::NewL           </td>
00156           <td class="md" valign="top">(&nbsp;</td>
00157           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;&nbsp;</td>
00158           <td class="mdname1" valign="top" nowrap> <em>aServer</em>          </td>
00159           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00160           <td class="md" nowrap><code> [static]</code></td>
00161         </tr>
00162       </table>
00163     </td>
00164   </tr>
00165 </table>
00166 <table cellspacing="5" cellpadding="0" border="0">
00167   <tr>
00168     <td>
00169       &nbsp;
00170     </td>
00171     <td>
00172 
00173 <p>
00174 NewL. Two-phased constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
00175   <table border="0" cellspacing="2" cellpadding="0">
00176     <tr><td valign="top"></td><td valign="top"><em>aServer</em>&nbsp;</td><td>The server. </td></tr>
00177   </table>
00178 </dl>
00179 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to created CTimeServerSession object. </dd></dl>
00180 
00181 <p>
00182 Definition at line <a class="el" href="timesession_8cpp-source.html#l00031">31</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00183 <p>
00184 References <a class="el" href="timesession_8cpp-source.html#l00043">NewLC()</a>.
00185 <p>
00186 Referenced by <a class="el" href="timeserver_8cpp-source.html#l00089">CTimeServer::NewSessionL()</a>.<div class="fragment"><pre class="fragment"><a name="l00032"></a>00032     {
00187 <a name="l00033"></a>00033     <a class="code" href="class_c_time_server_session.html">CTimeServerSession</a>* <span class="keyword">self</span> = <a class="code" href="class_c_time_server_session.html#e1d8bbb0d9472f94ae559c6cb4e59e74">CTimeServerSession::NewLC</a>( aServer );
00188 <a name="l00034"></a>00034     CleanupStack::Pop( <span class="keyword">self</span> );
00189 <a name="l00035"></a>00035     <span class="keywordflow">return</span> <span class="keyword">self</span>;
00190 <a name="l00036"></a>00036     }
00191 </pre></div>
00192 <p>
00193     </td>
00194   </tr>
00195 </table>
00196 <a class="anchor" name="e1d8bbb0d9472f94ae559c6cb4e59e74"></a><!-- doxytag: member="CTimeServerSession::NewLC" ref="e1d8bbb0d9472f94ae559c6cb4e59e74" args="(CTimeServer &amp;aServer)" --><p>
00197 <table class="mdTable" cellpadding="2" cellspacing="0">
00198   <tr>
00199     <td class="mdRow">
00200       <table cellpadding="0" cellspacing="0" border="0">
00201         <tr>
00202           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server_session.html">CTimeServerSession</a> * CTimeServerSession::NewLC           </td>
00203           <td class="md" valign="top">(&nbsp;</td>
00204           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> &amp;&nbsp;</td>
00205           <td class="mdname1" valign="top" nowrap> <em>aServer</em>          </td>
00206           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00207           <td class="md" nowrap><code> [static]</code></td>
00208         </tr>
00209       </table>
00210     </td>
00211   </tr>
00212 </table>
00213 <table cellspacing="5" cellpadding="0" border="0">
00214   <tr>
00215     <td>
00216       &nbsp;
00217     </td>
00218     <td>
00219 
00220 <p>
00221 NewLC. Two-phased constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
00222   <table border="0" cellspacing="2" cellpadding="0">
00223     <tr><td valign="top"></td><td valign="top"><em>aServer</em>&nbsp;</td><td>The server. </td></tr>
00224   </table>
00225 </dl>
00226 <dl compact><dt><b>Returns:</b></dt><dd>Pointer to created CTimeServerSession object. </dd></dl>
00227 
00228 <p>
00229 Definition at line <a class="el" href="timesession_8cpp-source.html#l00043">43</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00230 <p>
00231 References <a class="el" href="timesession_8cpp-source.html#l00066">CTimeServerSession()</a>.
00232 <p>
00233 Referenced by <a class="el" href="timesession_8cpp-source.html#l00031">NewL()</a>.<div class="fragment"><pre class="fragment"><a name="l00044"></a>00044     {
00234 <a name="l00045"></a>00045     <a class="code" href="class_c_time_server_session.html">CTimeServerSession</a>* <span class="keyword">self</span> = <span class="keyword">new</span> ( ELeave ) <a class="code" href="class_c_time_server_session.html#88d810fed35057dcca6673d50400186c">CTimeServerSession</a>( aServer );
00235 <a name="l00046"></a>00046     CleanupStack::PushL( <span class="keyword">self</span> );
00236 <a name="l00047"></a>00047     <span class="keyword">self</span>-&gt;ConstructL();
00237 <a name="l00048"></a>00048     <span class="keywordflow">return</span> <span class="keyword">self</span>;
00238 <a name="l00049"></a>00049     }
00239 </pre></div>
00240 <p>
00241     </td>
00242   </tr>
00243 </table>
00244 <a class="anchor" name="ecff8e289d914777ae0c503db937cf33"></a><!-- doxytag: member="CTimeServerSession::SendTimeToClient" ref="ecff8e289d914777ae0c503db937cf33" args="()" --><p>
00245 <table class="mdTable" cellpadding="2" cellspacing="0">
00246   <tr>
00247     <td class="mdRow">
00248       <table cellpadding="0" cellspacing="0" border="0">
00249         <tr>
00250           <td class="md" nowrap valign="top">void CTimeServerSession::SendTimeToClient           </td>
00251           <td class="md" valign="top">(&nbsp;</td>
00252           <td class="mdname1" valign="top" nowrap>          </td>
00253           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00254           <td class="md" nowrap></td>
00255         </tr>
00256       </table>
00257     </td>
00258   </tr>
00259 </table>
00260 <table cellspacing="5" cellpadding="0" border="0">
00261   <tr>
00262     <td>
00263       &nbsp;
00264     </td>
00265     <td>
00266 
00267 <p>
00268 SendTimeToClient. Call from Beat() and Synchronize(). Sends current time back to requesting client. 
00269 <p>
00270 Definition at line <a class="el" href="timesession_8cpp-source.html#l00138">138</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00271 <p>
00272 References <a class="el" href="timesession_8h-source.html#l00120">iMessage</a>, <a class="el" href="timesession_8h-source.html#l00115">iWaitingForTick</a>, and <a class="el" href="timesession_8cpp-source.html#l00169">PanicClient()</a>.
00273 <p>
00274 Referenced by <a class="el" href="timeserver_8cpp-source.html#l00215">CTimeServer::SendTimeToSessions()</a>.<div class="fragment"><pre class="fragment"><a name="l00139"></a>00139     {
00275 <a name="l00140"></a>00140     <span class="keywordflow">if</span> ( <a class="code" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a> )
00276 <a name="l00141"></a>00141         {
00277 <a name="l00142"></a>00142         <a class="code" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a> = EFalse;
00278 <a name="l00143"></a>00143 
00279 <a name="l00144"></a>00144         <span class="comment">// Get current time to return to client</span>
00280 <a name="l00145"></a>00145         TTime time;
00281 <a name="l00146"></a>00146         time.HomeTime();
00282 <a name="l00147"></a>00147 
00283 <a name="l00148"></a>00148         <span class="comment">// Create a descriptor which points to the 'time' structure</span>
00284 <a name="l00149"></a>00149         TPtr8 ptr( reinterpret_cast&lt;TUint8*&gt;( &amp;time ), <span class="keyword">sizeof</span>( time ),
00285 <a name="l00150"></a>00150                    <span class="keyword">sizeof</span>( time ) );
00286 <a name="l00151"></a>00151 
00287 <a name="l00152"></a>00152         <span class="comment">// Write the 'time' data back to the client        </span>
00288 <a name="l00153"></a>00153         TRAPD( res, <a class="code" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>.WriteL( 0, ptr, 0 ) );
00289 <a name="l00154"></a>00154         
00290 <a name="l00155"></a>00155         <span class="keywordflow">if</span> ( res != KErrNone )
00291 <a name="l00156"></a>00156             {
00292 <a name="l00157"></a>00157             <a class="code" href="class_c_time_server_session.html#fc9ec0d1642cb12692ca61f4a163e601">PanicClient</a>( <a class="code" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>, EBadDescriptor );
00293 <a name="l00158"></a>00158             }
00294 <a name="l00159"></a>00159         
00295 <a name="l00160"></a>00160         <a class="code" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>.Complete( ETimeServRequestTimeComplete );
00296 <a name="l00161"></a>00161         }
00297 <a name="l00162"></a>00162     }
00298 </pre></div>
00299 <p>
00300     </td>
00301   </tr>
00302 </table>
00303 <a class="anchor" name="75c0a1442736b57144c9ad541d87d370"></a><!-- doxytag: member="CTimeServerSession::ServiceL" ref="75c0a1442736b57144c9ad541d87d370" args="(const RMessage2 &amp;aMessage)" --><p>
00304 <table class="mdTable" cellpadding="2" cellspacing="0">
00305   <tr>
00306     <td class="mdRow">
00307       <table cellpadding="0" cellspacing="0" border="0">
00308         <tr>
00309           <td class="md" nowrap valign="top">void CTimeServerSession::ServiceL           </td>
00310           <td class="md" valign="top">(&nbsp;</td>
00311           <td class="md" nowrap valign="top">const RMessage2 &amp;&nbsp;</td>
00312           <td class="mdname1" valign="top" nowrap> <em>aMessage</em>          </td>
00313           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00314           <td class="md" nowrap></td>
00315         </tr>
00316       </table>
00317     </td>
00318   </tr>
00319 </table>
00320 <table cellspacing="5" cellpadding="0" border="0">
00321   <tr>
00322     <td>
00323       &nbsp;
00324     </td>
00325     <td>
00326 
00327 <p>
00328 From CSession, ServiceL. Service request from client. <dl compact><dt><b>Parameters:</b></dt><dd>
00329   <table border="0" cellspacing="2" cellpadding="0">
00330     <tr><td valign="top"></td><td valign="top"><em>aMessage</em>&nbsp;</td><td>Message from client (containing requested operation and any data). </td></tr>
00331   </table>
00332 </dl>
00333 
00334 <p>
00335 Definition at line <a class="el" href="timesession_8cpp-source.html#l00087">87</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00336 <p>
00337 References <a class="el" href="timesession_8h-source.html#l00120">iMessage</a>, <a class="el" href="timesession_8h-source.html#l00115">iWaitingForTick</a>, <a class="el" href="timesession_8cpp-source.html#l00169">PanicClient()</a>, and <a class="el" href="timesession_8cpp-source.html#l00114">RequestTimeL()</a>.<div class="fragment"><pre class="fragment"><a name="l00088"></a>00088     {
00338 <a name="l00089"></a>00089     <span class="keywordflow">switch</span> ( aMessage.Function() )
00339 <a name="l00090"></a>00090         {
00340 <a name="l00091"></a>00091         <span class="keywordflow">case</span> ETimeServRequestTime:
00341 <a name="l00092"></a>00092             <a class="code" href="class_c_time_server_session.html#8fac529732093d7c4331fb0e03da87f1">RequestTimeL</a>( aMessage );
00342 <a name="l00093"></a>00093             <span class="keywordflow">break</span>;
00343 <a name="l00094"></a>00094 
00344 <a name="l00095"></a>00095         <span class="keywordflow">case</span> ETimeServCancelRequestTime:
00345 <a name="l00096"></a>00096             <span class="keywordflow">if</span> ( <a class="code" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a> )
00346 <a name="l00097"></a>00097                 {
00347 <a name="l00098"></a>00098                 <a class="code" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a>.Complete( KErrCancel );
00348 <a name="l00099"></a>00099                 <a class="code" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a> = EFalse;
00349 <a name="l00100"></a>00100                 }
00350 <a name="l00101"></a>00101             aMessage.Complete( KErrNone );
00351 <a name="l00102"></a>00102             <span class="keywordflow">break</span>;
00352 <a name="l00103"></a>00103 
00353 <a name="l00104"></a>00104         <span class="keywordflow">default</span>:
00354 <a name="l00105"></a>00105             <a class="code" href="class_c_time_server_session.html#fc9ec0d1642cb12692ca61f4a163e601">PanicClient</a>( aMessage, EBadRequest );
00355 <a name="l00106"></a>00106         }
00356 <a name="l00107"></a>00107     }
00357 </pre></div>
00358 <p>
00359     </td>
00360   </tr>
00361 </table>
00362 <a class="anchor" name="9ce34ba0b947863222da3c63d0481044"></a><!-- doxytag: member="CTimeServerSession::ConstructL" ref="9ce34ba0b947863222da3c63d0481044" args="()" --><p>
00363 <table class="mdTable" cellpadding="2" cellspacing="0">
00364   <tr>
00365     <td class="mdRow">
00366       <table cellpadding="0" cellspacing="0" border="0">
00367         <tr>
00368           <td class="md" nowrap valign="top">void CTimeServerSession::ConstructL           </td>
00369           <td class="md" valign="top">(&nbsp;</td>
00370           <td class="mdname1" valign="top" nowrap>          </td>
00371           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00372           <td class="md" nowrap><code> [private]</code></td>
00373         </tr>
00374       </table>
00375     </td>
00376   </tr>
00377 </table>
00378 <table cellspacing="5" cellpadding="0" border="0">
00379   <tr>
00380     <td>
00381       &nbsp;
00382     </td>
00383     <td>
00384 
00385 <p>
00386 ConstructL. 2nd phase constructor. 
00387 <p>
00388 Definition at line <a class="el" href="timesession_8cpp-source.html#l00056">56</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00389 <p>
00390 References <a class="el" href="timeserver_8cpp-source.html#l00111">CTimeServer::IncrementSessions()</a>, and <a class="el" href="timesession_8h-source.html#l00125">iServer</a>.<div class="fragment"><pre class="fragment"><a name="l00057"></a>00057     {
00391 <a name="l00058"></a>00058     <a class="code" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">iServer</a>.<a class="code" href="class_c_time_server.html#a3afdfcfbf3d8aa45b7f96b5a1c7119e">IncrementSessions</a>();
00392 <a name="l00059"></a>00059     }
00393 </pre></div>
00394 <p>
00395     </td>
00396   </tr>
00397 </table>
00398 <a class="anchor" name="fc9ec0d1642cb12692ca61f4a163e601"></a><!-- doxytag: member="CTimeServerSession::PanicClient" ref="fc9ec0d1642cb12692ca61f4a163e601" args="(const RMessagePtr2 &amp;aMessage, TInt aPanic) const " --><p>
00399 <table class="mdTable" cellpadding="2" cellspacing="0">
00400   <tr>
00401     <td class="mdRow">
00402       <table cellpadding="0" cellspacing="0" border="0">
00403         <tr>
00404           <td class="md" nowrap valign="top">void CTimeServerSession::PanicClient           </td>
00405           <td class="md" valign="top">(&nbsp;</td>
00406           <td class="md" nowrap valign="top">const RMessagePtr2 &amp;&nbsp;</td>
00407           <td class="mdname" nowrap> <em>aMessage</em>, </td>
00408         </tr>
00409         <tr>
00410           <td class="md" nowrap align="right"></td>
00411           <td class="md"></td>
00412           <td class="md" nowrap>TInt&nbsp;</td>
00413           <td class="mdname" nowrap> <em>aPanic</em></td>
00414         </tr>
00415         <tr>
00416           <td class="md"></td>
00417           <td class="md">)&nbsp;</td>
00418           <td class="md" colspan="2"> const<code> [private]</code></td>
00419         </tr>
00420       </table>
00421     </td>
00422   </tr>
00423 </table>
00424 <table cellspacing="5" cellpadding="0" border="0">
00425   <tr>
00426     <td>
00427       &nbsp;
00428     </td>
00429     <td>
00430 
00431 <p>
00432 PanicClient. Causes the client thread to panic. <dl compact><dt><b>Parameters:</b></dt><dd>
00433   <table border="0" cellspacing="2" cellpadding="0">
00434     <tr><td valign="top"></td><td valign="top"><em>aMessage</em>&nbsp;</td><td>Message from client. </td></tr>
00435     <tr><td valign="top"></td><td valign="top"><em>aPanic</em>&nbsp;</td><td>Panic code. </td></tr>
00436   </table>
00437 </dl>
00438 
00439 <p>
00440 Definition at line <a class="el" href="timesession_8cpp-source.html#l00169">169</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00441 <p>
00442 Referenced by <a class="el" href="timesession_8cpp-source.html#l00114">RequestTimeL()</a>, <a class="el" href="timesession_8cpp-source.html#l00138">SendTimeToClient()</a>, and <a class="el" href="timesession_8cpp-source.html#l00087">ServiceL()</a>.<div class="fragment"><pre class="fragment"><a name="l00171"></a>00171     {
00443 <a name="l00172"></a>00172     aMessage.Panic( KCSAsyncServer, aPanic ); <span class="comment">// Note: this panics the client thread,</span>
00444 <a name="l00173"></a>00173                                      <span class="comment">// not server</span>
00445 <a name="l00174"></a>00174     }
00446 </pre></div>
00447 <p>
00448     </td>
00449   </tr>
00450 </table>
00451 <a class="anchor" name="8fac529732093d7c4331fb0e03da87f1"></a><!-- doxytag: member="CTimeServerSession::RequestTimeL" ref="8fac529732093d7c4331fb0e03da87f1" args="(const RMessage2 &amp;aMessage)" --><p>
00452 <table class="mdTable" cellpadding="2" cellspacing="0">
00453   <tr>
00454     <td class="mdRow">
00455       <table cellpadding="0" cellspacing="0" border="0">
00456         <tr>
00457           <td class="md" nowrap valign="top">void CTimeServerSession::RequestTimeL           </td>
00458           <td class="md" valign="top">(&nbsp;</td>
00459           <td class="md" nowrap valign="top">const RMessage2 &amp;&nbsp;</td>
00460           <td class="mdname1" valign="top" nowrap> <em>aMessage</em>          </td>
00461           <td class="md" valign="top">&nbsp;)&nbsp;</td>
00462           <td class="md" nowrap><code> [private]</code></td>
00463         </tr>
00464       </table>
00465     </td>
00466   </tr>
00467 </table>
00468 <table cellspacing="5" cellpadding="0" border="0">
00469   <tr>
00470     <td>
00471       &nbsp;
00472     </td>
00473     <td>
00474 
00475 <p>
00476 RequestTimeL. Called as a result of the client requesting the time. Starts the 'get time' operation. <dl compact><dt><b>Parameters:</b></dt><dd>
00477   <table border="0" cellspacing="2" cellpadding="0">
00478     <tr><td valign="top"></td><td valign="top"><em>aMessage</em>&nbsp;</td><td>Message from client. </td></tr>
00479   </table>
00480 </dl>
00481 
00482 <p>
00483 Definition at line <a class="el" href="timesession_8cpp-source.html#l00114">114</a> of file <a class="el" href="timesession_8cpp-source.html">timesession.cpp</a>.
00484 <p>
00485 References <a class="el" href="timesession_8h-source.html#l00120">iMessage</a>, <a class="el" href="timesession_8h-source.html#l00125">iServer</a>, <a class="el" href="timesession_8h-source.html#l00115">iWaitingForTick</a>, <a class="el" href="timesession_8cpp-source.html#l00169">PanicClient()</a>, and <a class="el" href="timeserver_8cpp-source.html#l00181">CTimeServer::WaitForTickL()</a>.
00486 <p>
00487 Referenced by <a class="el" href="timesession_8cpp-source.html#l00087">ServiceL()</a>.<div class="fragment"><pre class="fragment"><a name="l00115"></a>00115     {
00488 <a name="l00116"></a>00116     <span class="keywordflow">if</span> ( <a class="code" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">iWaitingForTick</a> )
00489 <a name="l00117"></a>00117         {
00490 <a name="l00118"></a>00118         <span class="comment">// We're already busy</span>
00491 <a name="l00119"></a>00119         <a class="code" href="class_c_time_server_session.html#fc9ec0d1642cb12692ca61f4a163e601">PanicClient</a>( aMessage, EReqAlreadyPending );
00492 <a name="l00120"></a>00120         }
00493 <a name="l00121"></a>00121     <span class="keywordflow">else</span>
00494 <a name="l00122"></a>00122         {
00495 <a name="l00123"></a>00123         <span class="comment">// Keep a copy of message - for later use</span>
00496 <a name="l00124"></a>00124         <a class="code" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">iMessage</a> = aMessage ;
00497 <a name="l00125"></a>00125 
00498 <a name="l00126"></a>00126         <span class="comment">// Start the work performed by the server</span>
00499 <a name="l00127"></a>00127         <span class="comment">// (just a wait for new second in this case)</span>
00500 <a name="l00128"></a>00128         <a class="code" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">iServer</a>.<a class="code" href="class_c_time_server.html#a8205372b5d379fa4b803e98b0726473">WaitForTickL</a>();
00501 <a name="l00129"></a>00129         iWaitingForTick = ETrue;
00502 <a name="l00130"></a>00130         }
00503 <a name="l00131"></a>00131     }
00504 </pre></div>
00505 <p>
00506     </td>
00507   </tr>
00508 </table>
00509 <hr><h2>Member Data Documentation</h2>
00510 <a class="anchor" name="6a31e2b3666880d5daf8f63641125e71"></a><!-- doxytag: member="CTimeServerSession::iWaitingForTick" ref="6a31e2b3666880d5daf8f63641125e71" args="" --><p>
00511 <table class="mdTable" cellpadding="2" cellspacing="0">
00512   <tr>
00513     <td class="mdRow">
00514       <table cellpadding="0" cellspacing="0" border="0">
00515         <tr>
00516           <td class="md" nowrap valign="top">TBool <a class="el" href="class_c_time_server_session.html#6a31e2b3666880d5daf8f63641125e71">CTimeServerSession::iWaitingForTick</a><code> [private]</code>          </td>
00517         </tr>
00518       </table>
00519     </td>
00520   </tr>
00521 </table>
00522 <table cellspacing="5" cellpadding="0" border="0">
00523   <tr>
00524     <td>
00525       &nbsp;
00526     </td>
00527     <td>
00528 
00529 <p>
00530 iWaitingForTick, state of tick. 
00531 <p>
00532 Definition at line <a class="el" href="timesession_8h-source.html#l00115">115</a> of file <a class="el" href="timesession_8h-source.html">timesession.h</a>.
00533 <p>
00534 Referenced by <a class="el" href="timesession_8cpp-source.html#l00114">RequestTimeL()</a>, <a class="el" href="timesession_8cpp-source.html#l00138">SendTimeToClient()</a>, and <a class="el" href="timesession_8cpp-source.html#l00087">ServiceL()</a>.    </td>
00535   </tr>
00536 </table>
00537 <a class="anchor" name="83107f9dbd3370ed4e809e8cc7b35380"></a><!-- doxytag: member="CTimeServerSession::iMessage" ref="83107f9dbd3370ed4e809e8cc7b35380" args="" --><p>
00538 <table class="mdTable" cellpadding="2" cellspacing="0">
00539   <tr>
00540     <td class="mdRow">
00541       <table cellpadding="0" cellspacing="0" border="0">
00542         <tr>
00543           <td class="md" nowrap valign="top">RMessage2 <a class="el" href="class_c_time_server_session.html#83107f9dbd3370ed4e809e8cc7b35380">CTimeServerSession::iMessage</a><code> [private]</code>          </td>
00544         </tr>
00545       </table>
00546     </td>
00547   </tr>
00548 </table>
00549 <table cellspacing="5" cellpadding="0" border="0">
00550   <tr>
00551     <td>
00552       &nbsp;
00553     </td>
00554     <td>
00555 
00556 <p>
00557 iMessage, the message exchange data with the server. 
00558 <p>
00559 Definition at line <a class="el" href="timesession_8h-source.html#l00120">120</a> of file <a class="el" href="timesession_8h-source.html">timesession.h</a>.
00560 <p>
00561 Referenced by <a class="el" href="timesession_8cpp-source.html#l00114">RequestTimeL()</a>, <a class="el" href="timesession_8cpp-source.html#l00138">SendTimeToClient()</a>, and <a class="el" href="timesession_8cpp-source.html#l00087">ServiceL()</a>.    </td>
00562   </tr>
00563 </table>
00564 <a class="anchor" name="2fd325e8f3ad0cd0f67a39cca15fa423"></a><!-- doxytag: member="CTimeServerSession::iServer" ref="2fd325e8f3ad0cd0f67a39cca15fa423" args="" --><p>
00565 <table class="mdTable" cellpadding="2" cellspacing="0">
00566   <tr>
00567     <td class="mdRow">
00568       <table cellpadding="0" cellspacing="0" border="0">
00569         <tr>
00570           <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a>&amp; <a class="el" href="class_c_time_server_session.html#2fd325e8f3ad0cd0f67a39cca15fa423">CTimeServerSession::iServer</a><code> [private]</code>          </td>
00571         </tr>
00572       </table>
00573     </td>
00574   </tr>
00575 </table>
00576 <table cellspacing="5" cellpadding="0" border="0">
00577   <tr>
00578     <td>
00579       &nbsp;
00580     </td>
00581     <td>
00582 
00583 <p>
00584 iServer, reference to the server. 
00585 <p>
00586 Definition at line <a class="el" href="timesession_8h-source.html#l00125">125</a> of file <a class="el" href="timesession_8h-source.html">timesession.h</a>.
00587 <p>
00588 Referenced by <a class="el" href="timesession_8cpp-source.html#l00056">ConstructL()</a>, <a class="el" href="timesession_8cpp-source.html#l00114">RequestTimeL()</a>, and <a class="el" href="timesession_8cpp-source.html#l00077">~CTimeServerSession()</a>.    </td>
00589   </tr>
00590 </table>
00591 <hr>The documentation for this class was generated from the following files:<ul>
00592 <li><a class="el" href="timesession_8h-source.html">timesession.h</a><li><a class="el" href="timesession_8cpp-source.html">timesession.cpp</a></ul>
00593 <hr>
00594 
00595 <table x-use-null-cells
00596                 style="x-cell-content-align: top;
00597                                 width: 100%;
00598                                 border-spacing: 0px;
00599                                 border-spacing: 0px;"
00600                 cellspacing=0
00601                 width=100%>
00602   <col style="width: 50%;">
00603   <col style="width: 50%;">
00604 
00605   <tr style="x-cell-content-align: top;"
00606         valign=top>
00607   <td style="width: 50%;
00608                         padding-right: 10px;
00609                         padding-left: 10px;
00610                         border-right-style: None;
00611                         border-left-style: None;
00612                         border-top-style: None;
00613                         border-bottom-style: None;"
00614         width=50%>
00615   <p style="font-family: Arial;"><small style="font-size: smaller;">© Nokia 2009</small></td>
00616   <td style="width: 50%;
00617                         padding-right: 10px;
00618                         padding-left: 10px;
00619                         border-top-style: None;
00620                         border-bottom-style: None;
00621                         border-right-style: None;"
00622         width=50%>
00623   <p style="text-align: right; margin-right: -4px;"
00624         align=right><span style="font-weight: bold;"><a href="#Top"
00625                                                                                                         title="Back to top"><img
00626  src="top.gif"
00627         x-maintain-ratio=TRUE
00628         alt="Back to top"
00629         style="border: none;
00630                         width: 18px;
00631                         height: 15px;
00632                         float: none;
00633                         border-style: none;
00634                         border-style: none;"
00635         width=18
00636         height=15
00637         border=0></a></span></td></tr>
00638  </table>
00639 </body>
00640 </html>
00641 

Generated by  doxygen 1.6.2