Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_client_server_async_2doc_2timeserver__8cpp-source_8html_source.html
Initial contribution of the Adaptation Documentation.
<!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: examples/S60CppExamples/ClientServerAsync/doc/timeserver_8cpp-source.html Source File</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 -->
<h1>examples/S60CppExamples/ClientServerAsync/doc/timeserver_8cpp-source.html</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <!DOCTYPE HTML PUBLIC <span class="stringliteral">"-//W3C//DTD HTML 4.0 Transitional//EN"</span>>
<a name="l00002"></a>00002 <html>
<a name="l00003"></a>00003
<a name="l00004"></a>00004 <head>
<a name="l00005"></a>00005 <meta http-equiv=<span class="stringliteral">"Content-Type"</span> content=<span class="stringliteral">"text/html;charset=iso-8859-1"</span>>
<a name="l00006"></a>00006 <title>timeserver.cpp Source File</title>
<a name="l00007"></a>00007 <link href=<span class="stringliteral">"style.css"</span> rel=<span class="stringliteral">"stylesheet"</span> type=<span class="stringliteral">"text/css"</span>>
<a name="l00008"></a>00008 </head>
<a name="l00009"></a>00009
<a name="l00010"></a>00010 <table border=<span class="stringliteral">"0"</span> width=<span class="stringliteral">"100%"</span> height=<span class="stringliteral">"8"</span> bgcolor=<span class="stringliteral">"#eeeeee"</span>>
<a name="l00011"></a>00011 <tr> <td width=<span class="stringliteral">"100%"</span> height=<span class="stringliteral">"1"</span>><b><font size=<span class="stringliteral">"2"</span> color=<span class="stringliteral">"#000000"</span> face=<span class="stringliteral">"Arial, Helvetica, sans-serif"</span>><strong><a name=Top></a>
<a name="l00012"></a>00012 S60 5th Edition SDK </strong></font></b><br><i>Example Applications Guide</i></td></tr> </table>
<a name="l00013"></a>00013 <!-- Generated by Doxygen 1.4.5 -->
<a name="l00014"></a>00014 <div <span class="keyword">class</span>=<span class="stringliteral">"tabs"</span>>
<a name="l00015"></a>00015 <ul>
<a name="l00016"></a>00016 <li><a href=<span class="stringliteral">"index.html"</span>><span>Main&nbsp;Page</span></a></li>
<a name="l00017"></a>00017 <li><a href=<span class="stringliteral">"annotated.html"</span>><span>Classes</span></a></li>
<a name="l00018"></a>00018 <li <span class="keywordtype">id</span>=<span class="stringliteral">"current"</span>><a href=<span class="stringliteral">"files.html"</span>><span>Files</span></a></li>
<a name="l00019"></a>00019 </ul></div>
<a name="l00020"></a>00020 <h1>timeserver.cpp</h1><div <span class="keyword">class</span>=<span class="stringliteral">"fragment"</span>><pre <span class="keyword">class</span>=<span class="stringliteral">"fragment"</span>><a name=<span class="stringliteral">"l00001"</span>></a>00001 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">/*</span></span>
<a name="l00021"></a>00021 <span class="comment"><a name="l00002"></a>00002 <span class="comment">* ==============================================================================</span></span>
<a name="l00022"></a>00022 <span class="comment"><a name="l00003"></a>00003 <span class="comment">* Name : timeserver.cpp</span></span>
<a name="l00023"></a>00023 <span class="comment"><a name="l00004"></a>00004 <span class="comment">* Part of : CSAsync</span></span>
<a name="l00024"></a>00024 <span class="comment"><a name="l00005"></a>00005 <span class="comment">* Interface :</span></span>
<a name="l00025"></a>00025 <span class="comment"><a name="l00006"></a>00006 <span class="comment">* Description :</span></span>
<a name="l00026"></a>00026 <span class="comment"><a name="l00007"></a>00007 <span class="comment">* Version :</span></span>
<a name="l00027"></a>00027 <span class="comment"><a name="l00008"></a>00008 <span class="comment">*</span></span>
<a name="l00028"></a>00028 <span class="comment"><a name="l00009"></a>00009 <span class="comment">* Copyright (c) 2004-2006 Nokia Corporation.</span></span>
<a name="l00029"></a>00029 <span class="comment"><a name="l00010"></a>00010 <span class="comment">* This material, including documentation and any related</span></span>
<a name="l00030"></a>00030 <span class="comment"><a name="l00011"></a>00011 <span class="comment">* computer programs, is protected by copyright controlled by</span></span>
<a name="l00031"></a>00031 <span class="comment"><a name="l00012"></a>00012 <span class="comment">* Nokia Corporation.</span></span>
<a name="l00032"></a>00032 <span class="comment"><a name="l00013"></a>00013 <span class="comment">* ==============================================================================</span></span>
<a name="l00033"></a>00033 <span class="comment"><a name="l00014"></a>00014 <span class="comment">*/</span></span>
<a name="l00034"></a>00034 <a name=<span class="stringliteral">"l00015"</span>></a>00015
<a name="l00035"></a>00035 <a name=<span class="stringliteral">"l00016"</span>></a>00016
<a name="l00036"></a>00036 <a name=<span class="stringliteral">"l00017"</span>></a>00017 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// INCLUDE FILES</span></span>
<a name="l00037"></a>00037 <a name=<span class="stringliteral">"l00018"</span>></a>00018 <span <span class="keyword">class</span>=<span class="stringliteral">"preprocessor"</span>>#include &lt;e32svr.h&gt;</span>
<a name="l00038"></a>00038 <a name=<span class="stringliteral">"l00019"</span>></a>00019 <span <span class="keyword">class</span>=<span class="stringliteral">"preprocessor"</span>>#include &lt;e32math.h&gt;</span>
<a name="l00039"></a>00039 <a name=<span class="stringliteral">"l00020"</span>></a>00020
<a name="l00040"></a>00040 <a name=<span class="stringliteral">"l00021"</span>></a>00021 <span <span class="keyword">class</span>=<span class="stringliteral">"preprocessor"</span>>#include <span class="stringliteral">"TimeServer.h"</span></span>
<a name="l00041"></a>00041 <a name=<span class="stringliteral">"l00022"</span>></a>00022 <span <span class="keyword">class</span>=<span class="stringliteral">"preprocessor"</span>>#include <span class="stringliteral">"ClientServerCommon.h"</span></span>
<a name="l00042"></a>00042 <a name=<span class="stringliteral">"l00023"</span>></a>00023 <span <span class="keyword">class</span>=<span class="stringliteral">"preprocessor"</span>>#include <span class="stringliteral">"TimeSession.h"</span></span>
<a name="l00043"></a>00043 <a name=<span class="stringliteral">"l00024"</span>></a>00024
<a name="l00044"></a>00044 <a name=<span class="stringliteral">"l00025"</span>></a>00025 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// ========================= MEMBER FUNCTIONS ==================================</span></span>
<a name="l00045"></a>00045 <a name=<span class="stringliteral">"l00026"</span>></a>00026
<a name="l00046"></a>00046 <a name=<span class="stringliteral">"l00027"</span>></a>00027 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00047"></a>00047 <a name=<span class="stringliteral">"l00028"</span>></a>00028 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::NewL()</span></span>
<a name="l00048"></a>00048 <a name=<span class="stringliteral">"l00029"</span>></a>00029 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Two-phased constructor.</span></span>
<a name="l00049"></a>00049 <a name=<span class="stringliteral">"l00030"</span>></a>00030 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00050"></a>00050 <a name=<span class="stringliteral">"l00031"</span>></a>00031 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00051"></a>00051 <a name=<span class="stringliteral">"l00032"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#990716240ccf3341f7fdbf289ec927ad"</span>>00032</a> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html"</span>><a class="code" href="class_c_time_server.html">CTimeServer</a></a>* <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#990716240ccf3341f7fdbf289ec927ad"</span>><a class="code" href="class_c_time_server.html#a59b4f2ad9c1b3a2c689b9ffa1cd11179">CTimeServer::NewL</a></a>()
<a name="l00052"></a>00052 <a name=<span class="stringliteral">"l00033"</span>></a>00033 {
<a name="l00053"></a>00053 <a name=<span class="stringliteral">"l00034"</span>></a>00034 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html"</span>><a class="code" href="class_c_time_server.html">CTimeServer</a></a>* timeServer = <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#94389c6729b439332fc74a54ac683740"</span>><a class="code" href="class_c_time_server.html#a599b3712d5d1f6e9e2017508c689d2e5">CTimeServer::NewLC</a></a>();
<a name="l00054"></a>00054 <a name=<span class="stringliteral">"l00035"</span>></a>00035 CleanupStack::Pop( timeServer );
<a name="l00055"></a>00055 <a name=<span class="stringliteral">"l00036"</span>></a>00036 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> timeServer;
<a name="l00056"></a>00056 <a name=<span class="stringliteral">"l00037"</span>></a>00037 }
<a name="l00057"></a>00057 <a name=<span class="stringliteral">"l00038"</span>></a>00038
<a name="l00058"></a>00058 <a name=<span class="stringliteral">"l00039"</span>></a>00039 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00059"></a>00059 <a name=<span class="stringliteral">"l00040"</span>></a>00040 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::NewLC()</span></span>
<a name="l00060"></a>00060 <a name=<span class="stringliteral">"l00041"</span>></a>00041 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Two-phased constructor.</span></span>
<a name="l00061"></a>00061 <a name=<span class="stringliteral">"l00042"</span>></a>00042 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00062"></a>00062 <a name=<span class="stringliteral">"l00043"</span>></a>00043 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00063"></a>00063 <a name=<span class="stringliteral">"l00044"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#94389c6729b439332fc74a54ac683740"</span>>00044</a> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html"</span>><a class="code" href="class_c_time_server.html">CTimeServer</a></a>* <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#94389c6729b439332fc74a54ac683740"</span>><a class="code" href="class_c_time_server.html#a599b3712d5d1f6e9e2017508c689d2e5">CTimeServer::NewLC</a></a>()
<a name="l00064"></a>00064 <a name=<span class="stringliteral">"l00045"</span>></a>00045 {
<a name="l00065"></a>00065 <a name=<span class="stringliteral">"l00046"</span>></a>00046 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html"</span>><a class="code" href="class_c_time_server.html">CTimeServer</a></a>* timeServer = <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">new</span></span> ( ELeave ) <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#95423dd47aaf3240e1e4b42baa280c39"</span>><a class="code" href="class_c_time_server.html">CTimeServer</a></a>( EPriorityNormal );
<a name="l00066"></a>00066 <a name=<span class="stringliteral">"l00047"</span>></a>00047 CleanupStack::PushL( timeServer );
<a name="l00067"></a>00067 <a name=<span class="stringliteral">"l00048"</span>></a>00048 timeServer-&gt;<a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#9ce34ba0b947863222da3c63d0481044"</span>>ConstructL</a>();
<a name="l00068"></a>00068 <a name=<span class="stringliteral">"l00049"</span>></a>00049 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> timeServer;
<a name="l00069"></a>00069 <a name=<span class="stringliteral">"l00050"</span>></a>00050 }
<a name="l00070"></a>00070 <a name=<span class="stringliteral">"l00051"</span>></a>00051
<a name="l00071"></a>00071 <a name=<span class="stringliteral">"l00052"</span>></a>00052 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00072"></a>00072 <a name=<span class="stringliteral">"l00053"</span>></a>00053 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::ConstructL()</span></span>
<a name="l00073"></a>00073 <a name=<span class="stringliteral">"l00054"</span>></a>00054 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Symbian 2nd phase constructor can leave.</span></span>
<a name="l00074"></a>00074 <a name=<span class="stringliteral">"l00055"</span>></a>00055 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00075"></a>00075 <a name=<span class="stringliteral">"l00056"</span>></a>00056 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00076"></a>00076 <a name=<span class="stringliteral">"l00057"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#9ce34ba0b947863222da3c63d0481044"</span>>00057</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#9ce34ba0b947863222da3c63d0481044"</span>>CTimeServer::ConstructL</a>()
<a name="l00077"></a>00077 <a name=<span class="stringliteral">"l00058"</span>></a>00058 {
<a name="l00078"></a>00078 <a name=<span class="stringliteral">"l00059"</span>></a>00059 StartL( KTimeServerName );
<a name="l00079"></a>00079 <a name=<span class="stringliteral">"l00060"</span>></a>00060 }
<a name="l00080"></a>00080 <a name=<span class="stringliteral">"l00061"</span>></a>00061
<a name="l00081"></a>00081 <a name=<span class="stringliteral">"l00062"</span>></a>00062 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00082"></a>00082 <a name=<span class="stringliteral">"l00063"</span>></a>00063 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::CTimeServer()</span></span>
<a name="l00083"></a>00083 <a name=<span class="stringliteral">"l00064"</span>></a>00064 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// C++ default constructor can NOT contain any code, that might leave.</span></span>
<a name="l00084"></a>00084 <a name=<span class="stringliteral">"l00065"</span>></a>00065 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00085"></a>00085 <a name=<span class="stringliteral">"l00066"</span>></a>00066 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00086"></a>00086 <a name=<span class="stringliteral">"l00067"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#95423dd47aaf3240e1e4b42baa280c39"</span>>00067</a> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#95423dd47aaf3240e1e4b42baa280c39"</span>>CTimeServer::CTimeServer</a>( TInt aPriority )
<a name="l00087"></a>00087 <a name=<span class="stringliteral">"l00068"</span>></a>00068 : CServer2( aPriority )
<a name="l00088"></a>00088 <a name=<span class="stringliteral">"l00069"</span>></a>00069 {
<a name="l00089"></a>00089 <a name=<span class="stringliteral">"l00070"</span>></a>00070 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Implementation not required</span></span>
<a name="l00090"></a>00090 <a name=<span class="stringliteral">"l00071"</span>></a>00071 }
<a name="l00091"></a>00091 <a name=<span class="stringliteral">"l00072"</span>></a>00072
<a name="l00092"></a>00092 <a name=<span class="stringliteral">"l00073"</span>></a>00073 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00093"></a>00093 <a name=<span class="stringliteral">"l00074"</span>></a>00074 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::~CTimeServer()</span></span>
<a name="l00094"></a>00094 <a name=<span class="stringliteral">"l00075"</span>></a>00075 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Destructor.</span></span>
<a name="l00095"></a>00095 <a name=<span class="stringliteral">"l00076"</span>></a>00076 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00096"></a>00096 <a name=<span class="stringliteral">"l00077"</span>></a>00077 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00097"></a>00097 <a name=<span class="stringliteral">"l00078"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#ab523c20e96ddd5e1413d525bad59fdd"</span>>00078</a> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#ab523c20e96ddd5e1413d525bad59fdd"</span>><a class="code" href="class_c_time_server.html#a877cb5a498a575353d12576272a99992">CTimeServer::~CTimeServer</a></a>()
<a name="l00098"></a>00098 <a name=<span class="stringliteral">"l00079"</span>></a>00079 {
<a name="l00099"></a>00099 <a name=<span class="stringliteral">"l00080"</span>></a>00080 <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">delete</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#bd20aae428bf045cb28f7958102a14e1"</span>>iHeartbeat</a>;
<a name="l00100"></a>00100 <a name=<span class="stringliteral">"l00081"</span>></a>00081 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#bd20aae428bf045cb28f7958102a14e1"</span>>iHeartbeat</a> = NULL;
<a name="l00101"></a>00101 <a name=<span class="stringliteral">"l00082"</span>></a>00082 }
<a name="l00102"></a>00102 <a name=<span class="stringliteral">"l00083"</span>></a>00083
<a name="l00103"></a>00103 <a name=<span class="stringliteral">"l00084"</span>></a>00084 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00104"></a>00104 <a name=<span class="stringliteral">"l00085"</span>></a>00085 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::NewSessionL()</span></span>
<a name="l00105"></a>00105 <a name=<span class="stringliteral">"l00086"</span>></a>00086 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Creates a time server session.</span></span>
<a name="l00106"></a>00106 <a name=<span class="stringliteral">"l00087"</span>></a>00087 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00107"></a>00107 <a name=<span class="stringliteral">"l00088"</span>></a>00088 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00108"></a>00108 <a name=<span class="stringliteral">"l00089"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#e8cc7a175c8a6ec0a2b0ee8bf27badb9"</span>>00089</a> CSession2* <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#e8cc7a175c8a6ec0a2b0ee8bf27badb9"</span>>CTimeServer::NewSessionL</a>( <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">const</span></span> TVersion&amp; aVersion,
<a name="l00109"></a>00109 <a name=<span class="stringliteral">"l00090"</span>></a>00090 <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">const</span></span> RMessage2&amp; <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">/*aMessage*/</span></span> )<span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>> const</span>
<a name="l00110"></a>00110 <a name=<span class="stringliteral">"l00091"</span>></a>00091 <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>> </span>{
<a name="l00111"></a>00111 <a name=<span class="stringliteral">"l00092"</span>></a>00092 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Check we are the right version</span></span>
<a name="l00112"></a>00112 <a name=<span class="stringliteral">"l00093"</span>></a>00093 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( !User::QueryVersionSupported( TVersion( KTimeServMajorVersionNumber,
<a name="l00113"></a>00113 <a name=<span class="stringliteral">"l00094"</span>></a>00094 KTimeServMinorVersionNumber,
<a name="l00114"></a>00114 <a name=<span class="stringliteral">"l00095"</span>></a>00095 KTimeServBuildVersionNumber ),
<a name="l00115"></a>00115 <a name=<span class="stringliteral">"l00096"</span>></a>00096 aVersion ) )
<a name="l00116"></a>00116 <a name=<span class="stringliteral">"l00097"</span>></a>00097 {
<a name="l00117"></a>00117 <a name=<span class="stringliteral">"l00098"</span>></a>00098 User::Leave( KErrNotSupported );
<a name="l00118"></a>00118 <a name=<span class="stringliteral">"l00099"</span>></a>00099 }
<a name="l00119"></a>00119 <a name=<span class="stringliteral">"l00100"</span>></a>00100
<a name="l00120"></a>00120 <a name=<span class="stringliteral">"l00101"</span>></a>00101 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Make new session</span></span>
<a name="l00121"></a>00121 <a name=<span class="stringliteral">"l00102"</span>></a>00102 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//RThread client = Message().Client();</span></span>
<a name="l00122"></a>00122 <a name=<span class="stringliteral">"l00103"</span>></a>00103 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server_session.html#73d44aed371951fd548af4329b779411"</span>><a class="code" href="class_c_time_server_session.html#a79d62e9984113a28d147f151788ea80e">CTimeServerSession::NewL</a></a>( *const_cast&lt;<a class="code" href="class_c_time_server.html">CTimeServer</a>*&gt; ( <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">this</span></span> ) );
<a name="l00123"></a>00123 <a name=<span class="stringliteral">"l00104"</span>></a>00104 }
<a name="l00124"></a>00124 <a name=<span class="stringliteral">"l00105"</span>></a>00105
<a name="l00125"></a>00125 <a name=<span class="stringliteral">"l00106"</span>></a>00106 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00126"></a>00126 <a name=<span class="stringliteral">"l00107"</span>></a>00107 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::IncrementSessions()</span></span>
<a name="l00127"></a>00127 <a name=<span class="stringliteral">"l00108"</span>></a>00108 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Increments the count of the active sessions for this server.</span></span>
<a name="l00128"></a>00128 <a name=<span class="stringliteral">"l00109"</span>></a>00109 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00129"></a>00129 <a name=<span class="stringliteral">"l00110"</span>></a>00110 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00130"></a>00130 <a name=<span class="stringliteral">"l00111"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a3afdfcfbf3d8aa45b7f96b5a1c7119e"</span>>00111</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a3afdfcfbf3d8aa45b7f96b5a1c7119e"</span>><a class="code" href="class_c_time_server.html#a9fb3c4c32d4050bc6f3b8ede0199bb7e">CTimeServer::IncrementSessions</a></a>()
<a name="l00131"></a>00131 <a name=<span class="stringliteral">"l00112"</span>></a>00112 {
<a name="l00132"></a>00132 <a name=<span class="stringliteral">"l00113"</span>></a>00113 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#40ac9219e4400c125719d767d564fc3e"</span>>iSessionCount</a>++;
<a name="l00133"></a>00133 <a name=<span class="stringliteral">"l00114"</span>></a>00114 }
<a name="l00134"></a>00134 <a name=<span class="stringliteral">"l00115"</span>></a>00115
<a name="l00135"></a>00135 <a name=<span class="stringliteral">"l00116"</span>></a>00116 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00136"></a>00136 <a name=<span class="stringliteral">"l00117"</span>></a>00117 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::DecrementSessions()</span></span>
<a name="l00137"></a>00137 <a name=<span class="stringliteral">"l00118"</span>></a>00118 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Decrements the count of the active sessions for this server.</span></span>
<a name="l00138"></a>00138 <a name=<span class="stringliteral">"l00119"</span>></a>00119 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00139"></a>00139 <a name=<span class="stringliteral">"l00120"</span>></a>00120 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00140"></a>00140 <a name=<span class="stringliteral">"l00121"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#982e65810ad50ce20759fd26fad488dc"</span>>00121</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#982e65810ad50ce20759fd26fad488dc"</span>><a class="code" href="class_c_time_server.html#ad2b51a53e39f5844cce161bb912e0b7a">CTimeServer::DecrementSessions</a></a>()
<a name="l00141"></a>00141 <a name=<span class="stringliteral">"l00122"</span>></a>00122 {
<a name="l00142"></a>00142 <a name=<span class="stringliteral">"l00123"</span>></a>00123 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#40ac9219e4400c125719d767d564fc3e"</span>>iSessionCount</a>--;
<a name="l00143"></a>00143 <a name=<span class="stringliteral">"l00124"</span>></a>00124 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#40ac9219e4400c125719d767d564fc3e"</span>>iSessionCount</a> &lt;= 0 )
<a name="l00144"></a>00144 <a name=<span class="stringliteral">"l00125"</span>></a>00125 {
<a name="l00145"></a>00145 <a name=<span class="stringliteral">"l00126"</span>></a>00126 CActiveScheduler::Stop();
<a name="l00146"></a>00146 <a name=<span class="stringliteral">"l00127"</span>></a>00127 }
<a name="l00147"></a>00147 <a name=<span class="stringliteral">"l00128"</span>></a>00128 }
<a name="l00148"></a>00148 <a name=<span class="stringliteral">"l00129"</span>></a>00129
<a name="l00149"></a>00149 <a name=<span class="stringliteral">"l00130"</span>></a>00130 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00150"></a>00150 <a name=<span class="stringliteral">"l00131"</span>></a>00131 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::RunError()</span></span>
<a name="l00151"></a>00151 <a name=<span class="stringliteral">"l00132"</span>></a>00132 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Processes any errors.</span></span>
<a name="l00152"></a>00152 <a name=<span class="stringliteral">"l00133"</span>></a>00133 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00153"></a>00153 <a name=<span class="stringliteral">"l00134"</span>></a>00134 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00154"></a>00154 <a name=<span class="stringliteral">"l00135"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#0f788de08f5d216c674e6eaeaea1c67a"</span>>00135</a> TInt <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#0f788de08f5d216c674e6eaeaea1c67a"</span>><a class="code" href="class_c_time_server.html#a0f86707c23aa97a861ca8fe8e239194c">CTimeServer::RunError</a></a>( TInt aError )
<a name="l00155"></a>00155 <a name=<span class="stringliteral">"l00136"</span>></a>00136 {
<a name="l00156"></a>00156 <a name=<span class="stringliteral">"l00137"</span>></a>00137 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( aError == KErrBadDescriptor )
<a name="l00157"></a>00157 <a name=<span class="stringliteral">"l00138"</span>></a>00138 {
<a name="l00158"></a>00158 <a name=<span class="stringliteral">"l00139"</span>></a>00139 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// A bad descriptor error implies a badly programmed client,</span></span>
<a name="l00159"></a>00159 <a name=<span class="stringliteral">"l00140"</span>></a>00140 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// so panic it; otherwise report the error to the client</span></span>
<a name="l00160"></a>00160 <a name=<span class="stringliteral">"l00141"</span>></a>00141 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#5486029c4d68e3db4b0cbbbd2c4c711e"</span>>PanicClient</a>( Message(), EBadDescriptor );
<a name="l00161"></a>00161 <a name=<span class="stringliteral">"l00142"</span>></a>00142 }
<a name="l00162"></a>00162 <a name=<span class="stringliteral">"l00143"</span>></a>00143 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">else</span></span>
<a name="l00163"></a>00163 <a name=<span class="stringliteral">"l00144"</span>></a>00144 {
<a name="l00164"></a>00164 <a name=<span class="stringliteral">"l00145"</span>></a>00145 Message().Complete( aError );
<a name="l00165"></a>00165 <a name=<span class="stringliteral">"l00146"</span>></a>00146 }
<a name="l00166"></a>00166 <a name=<span class="stringliteral">"l00147"</span>></a>00147
<a name="l00167"></a>00167 <a name=<span class="stringliteral">"l00148"</span>></a>00148 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// The leave will result in an early return from CServer::RunL(), skipping</span></span>
<a name="l00168"></a>00168 <a name=<span class="stringliteral">"l00149"</span>></a>00149 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// the call to request another message. So do that now in order to keep the</span></span>
<a name="l00169"></a>00169 <a name=<span class="stringliteral">"l00150"</span>></a>00150 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// server running.</span></span>
<a name="l00170"></a>00170 <a name=<span class="stringliteral">"l00151"</span>></a>00151 ReStart();
<a name="l00171"></a>00171 <a name=<span class="stringliteral">"l00152"</span>></a>00152
<a name="l00172"></a>00172 <a name=<span class="stringliteral">"l00153"</span>></a>00153 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> KErrNone; <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Handled the error fully</span></span>
<a name="l00173"></a>00173 <a name=<span class="stringliteral">"l00154"</span>></a>00154 }
<a name="l00174"></a>00174 <a name=<span class="stringliteral">"l00155"</span>></a>00155
<a name="l00175"></a>00175 <a name=<span class="stringliteral">"l00156"</span>></a>00156 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00176"></a>00176 <a name=<span class="stringliteral">"l00157"</span>></a>00157 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::PanicClient()</span></span>
<a name="l00177"></a>00177 <a name=<span class="stringliteral">"l00158"</span>></a>00158 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Panics the client.</span></span>
<a name="l00178"></a>00178 <a name=<span class="stringliteral">"l00159"</span>></a>00159 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00179"></a>00179 <a name=<span class="stringliteral">"l00160"</span>></a>00160 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00180"></a>00180 <a name=<span class="stringliteral">"l00161"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#5486029c4d68e3db4b0cbbbd2c4c711e"</span>>00161</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#5486029c4d68e3db4b0cbbbd2c4c711e"</span>>CTimeServer::PanicClient</a>( <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">const</span></span> RMessage2&amp; aMessage, TTimeServPanic aPanic )
<a name="l00181"></a>00181 <a name=<span class="stringliteral">"l00162"</span>></a>00162 {
<a name="l00182"></a>00182 <a name=<span class="stringliteral">"l00163"</span>></a>00163 aMessage.Panic( KCSAsyncServer, aPanic );
<a name="l00183"></a>00183 <a name=<span class="stringliteral">"l00164"</span>></a>00164 }
<a name="l00184"></a>00184 <a name=<span class="stringliteral">"l00165"</span>></a>00165
<a name="l00185"></a>00185 <a name=<span class="stringliteral">"l00166"</span>></a>00166 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00186"></a>00186 <a name=<span class="stringliteral">"l00167"</span>></a>00167 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::PanicServer()</span></span>
<a name="l00187"></a>00187 <a name=<span class="stringliteral">"l00168"</span>></a>00168 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Panics the server.</span></span>
<a name="l00188"></a>00188 <a name=<span class="stringliteral">"l00169"</span>></a>00169 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00189"></a>00189 <a name=<span class="stringliteral">"l00170"</span>></a>00170 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00190"></a>00190 <a name=<span class="stringliteral">"l00171"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#57317bfd7bbf407064d8f0b845a16d46"</span>>00171</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#57317bfd7bbf407064d8f0b845a16d46"</span>>CTimeServer::PanicServer</a>( TTimeServPanic aPanic )
<a name="l00191"></a>00191 <a name=<span class="stringliteral">"l00172"</span>></a>00172 {
<a name="l00192"></a>00192 <a name=<span class="stringliteral">"l00173"</span>></a>00173 User::Panic( KCSAsyncServer, aPanic );
<a name="l00193"></a>00193 <a name=<span class="stringliteral">"l00174"</span>></a>00174 }
<a name="l00194"></a>00194 <a name=<span class="stringliteral">"l00175"</span>></a>00175
<a name="l00195"></a>00195 <a name=<span class="stringliteral">"l00176"</span>></a>00176 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00196"></a>00196 <a name=<span class="stringliteral">"l00177"</span>></a>00177 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::WaitForTickL()</span></span>
<a name="l00197"></a>00197 <a name=<span class="stringliteral">"l00178"</span>></a>00178 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Activates the heartbeat.</span></span>
<a name="l00198"></a>00198 <a name=<span class="stringliteral">"l00179"</span>></a>00179 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00199"></a>00199 <a name=<span class="stringliteral">"l00180"</span>></a>00180 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00200"></a>00200 <a name=<span class="stringliteral">"l00181"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a8205372b5d379fa4b803e98b0726473"</span>>00181</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a8205372b5d379fa4b803e98b0726473"</span>><a class="code" href="class_c_time_server.html#a6787f6b173c59446b202ae04177a5d88">CTimeServer::WaitForTickL</a></a>()
<a name="l00201"></a>00201 <a name=<span class="stringliteral">"l00182"</span>></a>00182 {
<a name="l00202"></a>00202 <a name=<span class="stringliteral">"l00183"</span>></a>00183 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( !<a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#bd20aae428bf045cb28f7958102a14e1"</span>>iHeartbeat</a> )
<a name="l00203"></a>00203 <a name=<span class="stringliteral">"l00184"</span>></a>00184 {
<a name="l00204"></a>00204 <a name=<span class="stringliteral">"l00185"</span>></a>00185 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#bd20aae428bf045cb28f7958102a14e1"</span>>iHeartbeat</a> = CHeartbeat::NewL( EPriorityHigh );
<a name="l00205"></a>00205 <a name=<span class="stringliteral">"l00186"</span>></a>00186 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#bd20aae428bf045cb28f7958102a14e1"</span>>iHeartbeat</a>-&gt;Start( ETwelveOClock, <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>>this</span> );
<a name="l00206"></a>00206 <a name=<span class="stringliteral">"l00187"</span>></a>00187 }
<a name="l00207"></a>00207 <a name=<span class="stringliteral">"l00188"</span>></a>00188 }
<a name="l00208"></a>00208 <a name=<span class="stringliteral">"l00189"</span>></a>00189
<a name="l00209"></a>00209 <a name=<span class="stringliteral">"l00190"</span>></a>00190 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00210"></a>00210 <a name=<span class="stringliteral">"l00191"</span>></a>00191 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::Beat()</span></span>
<a name="l00211"></a>00211 <a name=<span class="stringliteral">"l00192"</span>></a>00192 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// A clock tick has occured.</span></span>
<a name="l00212"></a>00212 <a name=<span class="stringliteral">"l00193"</span>></a>00193 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00213"></a>00213 <a name=<span class="stringliteral">"l00194"</span>></a>00194 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00214"></a>00214 <a name=<span class="stringliteral">"l00195"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#8bc39d8613772fe04fa5d6a845ede8cd"</span>>00195</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#8bc39d8613772fe04fa5d6a845ede8cd"</span>><a class="code" href="class_c_time_server.html#aaf1149f0fedf24e384705ce734d6d7fe">CTimeServer::Beat</a></a>()
<a name="l00215"></a>00215 <a name=<span class="stringliteral">"l00196"</span>></a>00196 {
<a name="l00216"></a>00216 <a name=<span class="stringliteral">"l00197"</span>></a>00197 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#993249bd000d59f1d0437eea0ab25fc3"</span>>SendTimeToSessions</a>();
<a name="l00217"></a>00217 <a name=<span class="stringliteral">"l00198"</span>></a>00198 }
<a name="l00218"></a>00218 <a name=<span class="stringliteral">"l00199"</span>></a>00199
<a name="l00219"></a>00219 <a name=<span class="stringliteral">"l00200"</span>></a>00200 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00220"></a>00220 <a name=<span class="stringliteral">"l00201"</span>></a>00201 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::Synchronize()</span></span>
<a name="l00221"></a>00221 <a name=<span class="stringliteral">"l00202"</span>></a>00202 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Several clock ticks have occured.</span></span>
<a name="l00222"></a>00222 <a name=<span class="stringliteral">"l00203"</span>></a>00203 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00223"></a>00223 <a name=<span class="stringliteral">"l00204"</span>></a>00204 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00224"></a>00224 <a name=<span class="stringliteral">"l00205"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a6043d9cad7048bb64b0d0d125ddc875"</span>>00205</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#a6043d9cad7048bb64b0d0d125ddc875"</span>><a class="code" href="class_c_time_server.html#adf49f002c1503eb70fb6e0e623ade0d8">CTimeServer::Synchronize</a></a>()
<a name="l00225"></a>00225 <a name=<span class="stringliteral">"l00206"</span>></a>00206 {
<a name="l00226"></a>00226 <a name=<span class="stringliteral">"l00207"</span>></a>00207 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#993249bd000d59f1d0437eea0ab25fc3"</span>>SendTimeToSessions</a>();
<a name="l00227"></a>00227 <a name=<span class="stringliteral">"l00208"</span>></a>00208 }
<a name="l00228"></a>00228 <a name=<span class="stringliteral">"l00209"</span>></a>00209
<a name="l00229"></a>00229 <a name=<span class="stringliteral">"l00210"</span>></a>00210 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00230"></a>00230 <a name=<span class="stringliteral">"l00211"</span>></a>00211 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::SendTimeToSessions()</span></span>
<a name="l00231"></a>00231 <a name=<span class="stringliteral">"l00212"</span>></a>00212 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Informs all the clients that a time change has occured.</span></span>
<a name="l00232"></a>00232 <a name=<span class="stringliteral">"l00213"</span>></a>00213 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00233"></a>00233 <a name=<span class="stringliteral">"l00214"</span>></a>00214 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00234"></a>00234 <a name=<span class="stringliteral">"l00215"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#993249bd000d59f1d0437eea0ab25fc3"</span>>00215</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#993249bd000d59f1d0437eea0ab25fc3"</span>>CTimeServer::SendTimeToSessions</a>()
<a name="l00235"></a>00235 <a name=<span class="stringliteral">"l00216"</span>></a>00216 {
<a name="l00236"></a>00236 <a name=<span class="stringliteral">"l00217"</span>></a>00217 iSessionIter.SetToFirst();
<a name="l00237"></a>00237 <a name=<span class="stringliteral">"l00218"</span>></a>00218 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server_session.html"</span>><a class="code" href="class_c_time_server_session.html">CTimeServerSession</a></a>* session;
<a name="l00238"></a>00238 <a name=<span class="stringliteral">"l00219"</span>></a>00219 session = reinterpret_cast&lt;<a class="code" href="class_c_time_server_session.html">CTimeServerSession</a>*&gt;( iSessionIter++ );
<a name="l00239"></a>00239 <a name=<span class="stringliteral">"l00220"</span>></a>00220 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">while</span></span> ( session )
<a name="l00240"></a>00240 <a name=<span class="stringliteral">"l00221"</span>></a>00221 {
<a name="l00241"></a>00241 <a name=<span class="stringliteral">"l00222"</span>></a>00222 session-&gt;<a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server_session.html#ecff8e289d914777ae0c503db937cf33"</span>>SendTimeToClient</a>();
<a name="l00242"></a>00242 <a name=<span class="stringliteral">"l00223"</span>></a>00223 session = reinterpret_cast&lt;<a class="code" href="class_c_time_server_session.html">CTimeServerSession</a>*&gt;( iSessionIter++ );
<a name="l00243"></a>00243 <a name=<span class="stringliteral">"l00224"</span>></a>00224 }
<a name="l00244"></a>00244 <a name=<span class="stringliteral">"l00225"</span>></a>00225 }
<a name="l00245"></a>00245 <a name=<span class="stringliteral">"l00226"</span>></a>00226
<a name="l00246"></a>00246 <a name=<span class="stringliteral">"l00227"</span>></a>00227 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00247"></a>00247 <a name=<span class="stringliteral">"l00228"</span>></a>00228 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::ThreadFunctionL()</span></span>
<a name="l00248"></a>00248 <a name=<span class="stringliteral">"l00229"</span>></a>00229 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Second stage startup for the server thread.</span></span>
<a name="l00249"></a>00249 <a name=<span class="stringliteral">"l00230"</span>></a>00230 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00250"></a>00250 <a name=<span class="stringliteral">"l00231"</span>></a>00231 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00251"></a>00251 <a name=<span class="stringliteral">"l00232"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#be5e4a4628587739b7c76951f9577e8e"</span>>00232</a> <span <span class="keyword">class</span>=<span class="stringliteral">"keywordtype"</span>><span class="keywordtype">void</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#be5e4a4628587739b7c76951f9577e8e"</span>>CTimeServer::ThreadFunctionL</a>()
<a name="l00252"></a>00252 <a name=<span class="stringliteral">"l00233"</span>></a>00233 {
<a name="l00253"></a>00253 <a name=<span class="stringliteral">"l00234"</span>></a>00234 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Construct active scheduler</span></span>
<a name="l00254"></a>00254 <a name=<span class="stringliteral">"l00235"</span>></a>00235 CActiveScheduler* activeScheduler = <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">new</span></span> ( ELeave ) CActiveScheduler;
<a name="l00255"></a>00255 <a name=<span class="stringliteral">"l00236"</span>></a>00236 CleanupStack::PushL( activeScheduler );
<a name="l00256"></a>00256 <a name=<span class="stringliteral">"l00237"</span>></a>00237
<a name="l00257"></a>00257 <a name=<span class="stringliteral">"l00238"</span>></a>00238 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Install active scheduler</span></span>
<a name="l00258"></a>00258 <a name=<span class="stringliteral">"l00239"</span>></a>00239 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// We don't need to check whether an active scheduler is already installed</span></span>
<a name="l00259"></a>00259 <a name=<span class="stringliteral">"l00240"</span>></a>00240 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// as this is a new thread, so there won't be one</span></span>
<a name="l00260"></a>00260 <a name=<span class="stringliteral">"l00241"</span>></a>00241 CActiveScheduler::Install( activeScheduler );
<a name="l00261"></a>00261 <a name=<span class="stringliteral">"l00242"</span>></a>00242
<a name="l00262"></a>00262 <a name=<span class="stringliteral">"l00243"</span>></a>00243 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Construct our server</span></span>
<a name="l00263"></a>00263 <a name=<span class="stringliteral">"l00244"</span>></a>00244 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#94389c6729b439332fc74a54ac683740"</span>><a class="code" href="class_c_time_server.html#a599b3712d5d1f6e9e2017508c689d2e5">CTimeServer::NewLC</a></a>(); <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Anonymous</span></span>
<a name="l00264"></a>00264 <a name=<span class="stringliteral">"l00245"</span>></a>00245
<a name="l00265"></a>00265 <a name=<span class="stringliteral">"l00246"</span>></a>00246 RSemaphore semaphore;
<a name="l00266"></a>00266 <a name=<span class="stringliteral">"l00247"</span>></a>00247 User::LeaveIfError( semaphore.OpenGlobal( KTimeServerSemaphoreName ) );
<a name="l00267"></a>00267 <a name=<span class="stringliteral">"l00248"</span>></a>00248
<a name="l00268"></a>00268 <a name=<span class="stringliteral">"l00249"</span>></a>00249 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Semaphore opened ok</span></span>
<a name="l00269"></a>00269 <a name=<span class="stringliteral">"l00250"</span>></a>00250 semaphore.Signal();
<a name="l00270"></a>00270 <a name=<span class="stringliteral">"l00251"</span>></a>00251 semaphore.Close();
<a name="l00271"></a>00271 <a name=<span class="stringliteral">"l00252"</span>></a>00252
<a name="l00272"></a>00272 <a name=<span class="stringliteral">"l00253"</span>></a>00253 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Start handling requests</span></span>
<a name="l00273"></a>00273 <a name=<span class="stringliteral">"l00254"</span>></a>00254 CActiveScheduler::Start();
<a name="l00274"></a>00274 <a name=<span class="stringliteral">"l00255"</span>></a>00255
<a name="l00275"></a>00275 <a name=<span class="stringliteral">"l00256"</span>></a>00256 CleanupStack::PopAndDestroy( 2, activeScheduler ); <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//Anonymous CTimeServer</span></span>
<a name="l00276"></a>00276 <a name=<span class="stringliteral">"l00257"</span>></a>00257 }
<a name="l00277"></a>00277 <a name=<span class="stringliteral">"l00258"</span>></a>00258
<a name="l00278"></a>00278 <a name=<span class="stringliteral">"l00259"</span>></a>00259 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00279"></a>00279 <a name=<span class="stringliteral">"l00260"</span>></a>00260 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// CTimeServer::ThreadFunction()</span></span>
<a name="l00280"></a>00280 <a name=<span class="stringliteral">"l00261"</span>></a>00261 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Main function for the server thread.</span></span>
<a name="l00281"></a>00281 <a name=<span class="stringliteral">"l00262"</span>></a>00262 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00282"></a>00282 <a name=<span class="stringliteral">"l00263"</span>></a>00263 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00283"></a>00283 <a name=<span class="stringliteral">"l00264"</span>></a><a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#61b4b595801bf9fedbb0df14ed44332c"</span>>00264</a> TInt <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#61b4b595801bf9fedbb0df14ed44332c"</span>><a class="code" href="class_c_time_server.html#af9f826864fde246cd6c53af89563ba70">CTimeServer::ThreadFunction</a></a>( TAny* <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">/*aNone*/</span></span> )
<a name="l00284"></a>00284 <a name=<span class="stringliteral">"l00265"</span>></a>00265 {
<a name="l00285"></a>00285 <a name=<span class="stringliteral">"l00266"</span>></a>00266 CTrapCleanup* cleanupStack = CTrapCleanup::New();
<a name="l00286"></a>00286 <a name=<span class="stringliteral">"l00267"</span>></a>00267 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( !( cleanupStack ) )
<a name="l00287"></a>00287 <a name=<span class="stringliteral">"l00268"</span>></a>00268 {
<a name="l00288"></a>00288 <a name=<span class="stringliteral">"l00269"</span>></a>00269 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#57317bfd7bbf407064d8f0b845a16d46"</span>>PanicServer</a>( <a class="code" href="secureserver_8h.html#a091a5ad2956fb84c4470a59010a0d4efa36f3ebda4e94aedb5817599162216e69">ECreateTrapCleanup</a> );
<a name="l00289"></a>00289 <a name=<span class="stringliteral">"l00270"</span>></a>00270 }
<a name="l00290"></a>00290 <a name=<span class="stringliteral">"l00271"</span>></a>00271
<a name="l00291"></a>00291 <a name=<span class="stringliteral">"l00272"</span>></a>00272 TRAPD( err, <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#be5e4a4628587739b7c76951f9577e8e"</span>>ThreadFunctionL</a>() );
<a name="l00292"></a>00292 <a name=<span class="stringliteral">"l00273"</span>></a>00273 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">if</span></span> ( err != KErrNone )
<a name="l00293"></a>00293 <a name=<span class="stringliteral">"l00274"</span>></a>00274 {
<a name="l00294"></a>00294 <a name=<span class="stringliteral">"l00275"</span>></a>00275 <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#57317bfd7bbf407064d8f0b845a16d46"</span>>PanicServer</a>( ESrvCreateServer );
<a name="l00295"></a>00295 <a name=<span class="stringliteral">"l00276"</span>></a>00276 }
<a name="l00296"></a>00296 <a name=<span class="stringliteral">"l00277"</span>></a>00277
<a name="l00297"></a>00297 <a name=<span class="stringliteral">"l00278"</span>></a>00278 <span <span class="keyword">class</span>=<span class="stringliteral">"keyword"</span>><span class="keyword">delete</span></span> cleanupStack;
<a name="l00298"></a>00298 <a name=<span class="stringliteral">"l00279"</span>></a>00279 cleanupStack = NULL;
<a name="l00299"></a>00299 <a name=<span class="stringliteral">"l00280"</span>></a>00280
<a name="l00300"></a>00300 <a name=<span class="stringliteral">"l00281"</span>></a>00281 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> KErrNone;
<a name="l00301"></a>00301 <a name=<span class="stringliteral">"l00282"</span>></a>00282 }
<a name="l00302"></a>00302 <a name=<span class="stringliteral">"l00283"</span>></a>00283
<a name="l00303"></a>00303 <a name=<span class="stringliteral">"l00284"</span>></a>00284
<a name="l00304"></a>00304 <a name=<span class="stringliteral">"l00285"</span>></a>00285 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00305"></a>00305 <a name=<span class="stringliteral">"l00286"</span>></a>00286 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// E32Main()</span></span>
<a name="l00306"></a>00306 <a name=<span class="stringliteral">"l00287"</span>></a>00287 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Provides the API for the operating system to start the executable.</span></span>
<a name="l00307"></a>00307 <a name=<span class="stringliteral">"l00288"</span>></a>00288 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// Returns the address of the function to be called.</span></span>
<a name="l00308"></a>00308 <a name=<span class="stringliteral">"l00289"</span>></a>00289 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// -----------------------------------------------------------------------------</span></span>
<a name="l00309"></a>00309 <a name=<span class="stringliteral">"l00290"</span>></a>00290 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">//</span></span>
<a name="l00310"></a>00310 <a name=<span class="stringliteral">"l00291"</span>></a>00291 TInt E32Main()
<a name="l00311"></a>00311 <a name=<span class="stringliteral">"l00292"</span>></a>00292 {
<a name="l00312"></a>00312 <a name=<span class="stringliteral">"l00293"</span>></a>00293 <span <span class="keyword">class</span>=<span class="stringliteral">"keywordflow"</span>><span class="keywordflow">return</span></span> <a <span class="keyword">class</span>=<span class="stringliteral">"code"</span> href=<span class="stringliteral">"class_c_time_server.html#61b4b595801bf9fedbb0df14ed44332c"</span>><a class="code" href="class_c_time_server.html#af9f826864fde246cd6c53af89563ba70">CTimeServer::ThreadFunction</a></a>( NULL );
<a name="l00313"></a>00313 <a name=<span class="stringliteral">"l00294"</span>></a>00294 }
<a name="l00314"></a>00314 <a name=<span class="stringliteral">"l00295"</span>></a>00295
<a name="l00315"></a>00315 <a name=<span class="stringliteral">"l00296"</span>></a>00296
<a name="l00316"></a>00316 <a name=<span class="stringliteral">"l00297"</span>></a>00297
<a name="l00317"></a>00317 <a name=<span class="stringliteral">"l00298"</span>></a>00298 <span <span class="keyword">class</span>=<span class="stringliteral">"comment"</span>><span class="comment">// End of File</span></span>
<a name="l00318"></a>00318 </pre></div><hr>
<a name="l00319"></a>00319
<a name="l00320"></a>00320 <table x-use-null-cells
<a name="l00321"></a>00321 style=<span class="stringliteral">"x-cell-content-align: top;</span>
<a name="l00322"></a>00322 <span class="stringliteral"> width: 100%;</span>
<a name="l00323"></a>00323 <span class="stringliteral"> border-spacing: 0px;</span>
<a name="l00324"></a>00324 <span class="stringliteral"> border-spacing: 0px;"</span>
<a name="l00325"></a>00325 cellspacing=0
<a name="l00326"></a>00326 width=100%>
<a name="l00327"></a>00327 <col style=<span class="stringliteral">"width: 50%;"</span>>
<a name="l00328"></a>00328 <col style=<span class="stringliteral">"width: 50%;"</span>>
<a name="l00329"></a>00329
<a name="l00330"></a>00330 <tr style=<span class="stringliteral">"x-cell-content-align: top;"</span>
<a name="l00331"></a>00331 valign=top>
<a name="l00332"></a>00332 <td style=<span class="stringliteral">"width: 50%;</span>
<a name="l00333"></a>00333 <span class="stringliteral"> padding-right: 10px;</span>
<a name="l00334"></a>00334 <span class="stringliteral"> padding-left: 10px;</span>
<a name="l00335"></a>00335 <span class="stringliteral"> border-right-style: None;</span>
<a name="l00336"></a>00336 <span class="stringliteral"> border-left-style: None;</span>
<a name="l00337"></a>00337 <span class="stringliteral"> border-top-style: None;</span>
<a name="l00338"></a>00338 <span class="stringliteral"> border-bottom-style: None;"</span>
<a name="l00339"></a>00339 width=50%>
<a name="l00340"></a>00340 <p style=<span class="stringliteral">"font-family: Arial;"</span>><small style=<span class="stringliteral">"font-size: smaller;"</span>>© Nokia 2009</small></td>
<a name="l00341"></a>00341 <td style=<span class="stringliteral">"width: 50%;</span>
<a name="l00342"></a>00342 <span class="stringliteral"> padding-right: 10px;</span>
<a name="l00343"></a>00343 <span class="stringliteral"> padding-left: 10px;</span>
<a name="l00344"></a>00344 <span class="stringliteral"> border-top-style: None;</span>
<a name="l00345"></a>00345 <span class="stringliteral"> border-bottom-style: None;</span>
<a name="l00346"></a>00346 <span class="stringliteral"> border-right-style: None;"</span>
<a name="l00347"></a>00347 width=50%>
<a name="l00348"></a>00348 <p style=<span class="stringliteral">"text-align: right; margin-right: -4px;"</span>
<a name="l00349"></a>00349 align=right><span style=<span class="stringliteral">"font-weight: bold;"</span>><a href=<span class="stringliteral">"#Top"</span>
<a name="l00350"></a>00350 title=<span class="stringliteral">"Back to top"</span>><img
<a name="l00351"></a>00351 src=<span class="stringliteral">"top.gif"</span>
<a name="l00352"></a>00352 x-maintain-ratio=TRUE
<a name="l00353"></a>00353 alt=<span class="stringliteral">"Back to top"</span>
<a name="l00354"></a>00354 style=<span class="stringliteral">"border: none;</span>
<a name="l00355"></a>00355 <span class="stringliteral"> width: 18px;</span>
<a name="l00356"></a>00356 <span class="stringliteral"> height: 15px;</span>
<a name="l00357"></a>00357 <span class="stringliteral"> float: none;</span>
<a name="l00358"></a>00358 <span class="stringliteral"> border-style: none;</span>
<a name="l00359"></a>00359 <span class="stringliteral"> border-style: none;"</span>
<a name="l00360"></a>00360 width=18
<a name="l00361"></a>00361 height=15
<a name="l00362"></a>00362 border=0></a></span></td></tr>
<a name="l00363"></a>00363 </table>
<a name="l00364"></a>00364 </body>
<a name="l00365"></a>00365 </html>
<a name="l00366"></a>00366
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>