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 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 List</span></a></li> 00023 <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> 00024 <li><a href="functions.html"><span>Class Members</span></a></li> 00025 </ul></div> 00026 <h1>CTimeServerSession Class Reference</h1><!-- doxytag: class="CTimeServerSession" --><!-- doxytag: inherits="CSession2" --><code>#include <<a class="el" href="timesession_8h-source.html">timesession.h</a>></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 </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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#75c0a1442736b57144c9ad541d87d370">ServiceL</a> (const RMessage2 &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> * </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> &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> * </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> &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"> </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> &aServer)</td></tr> 00053 00054 <tr><td class="memItemLeft" nowrap align="right" valign="top">void </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#fc9ec0d1642cb12692ca61f4a163e601">PanicClient</a> (const RMessagePtr2 &aMessage, TInt aPanic) const </td></tr> 00057 00058 <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_time_server_session.html#8fac529732093d7c4331fb0e03da87f1">RequestTimeL</a> (const RMessage2 &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 </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 </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> & </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 & 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">( </td> 00077 <td class="mdname1" valign="top" nowrap> </td> 00078 <td class="md" valign="top"> ) </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 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 &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">( </td> 00113 <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> & </td> 00114 <td class="mdname1" valign="top" nowrap> <em>aServer</em> </td> 00115 <td class="md" valign="top"> ) </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 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> </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 &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">( </td> 00157 <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> & </td> 00158 <td class="mdname1" valign="top" nowrap> <em>aServer</em> </td> 00159 <td class="md" valign="top"> ) </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 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> </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 &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">( </td> 00204 <td class="md" nowrap valign="top"><a class="el" href="class_c_time_server.html">CTimeServer</a> & </td> 00205 <td class="mdname1" valign="top" nowrap> <em>aServer</em> </td> 00206 <td class="md" valign="top"> ) </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 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> </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>->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">( </td> 00252 <td class="mdname1" valign="top" nowrap> </td> 00253 <td class="md" valign="top"> ) </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 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<TUint8*>( &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 &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">( </td> 00311 <td class="md" nowrap valign="top">const RMessage2 & </td> 00312 <td class="mdname1" valign="top" nowrap> <em>aMessage</em> </td> 00313 <td class="md" valign="top"> ) </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 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> </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">( </td> 00370 <td class="mdname1" valign="top" nowrap> </td> 00371 <td class="md" valign="top"> ) </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 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 &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">( </td> 00406 <td class="md" nowrap valign="top">const RMessagePtr2 & </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 </td> 00413 <td class="mdname" nowrap> <em>aPanic</em></td> 00414 </tr> 00415 <tr> 00416 <td class="md"></td> 00417 <td class="md">) </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 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> </td><td>Message from client. </td></tr> 00435 <tr><td valign="top"></td><td valign="top"><em>aPanic</em> </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 &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">( </td> 00459 <td class="md" nowrap valign="top">const RMessage2 & </td> 00460 <td class="mdname1" valign="top" nowrap> <em>aMessage</em> </td> 00461 <td class="md" valign="top"> ) </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 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> </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 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 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>& <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 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
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.