diff options
Diffstat (limited to 'docs/doxygen/nel/a02826.html')
-rw-r--r-- | docs/doxygen/nel/a02826.html | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02826.html b/docs/doxygen/nel/a02826.html new file mode 100644 index 00000000..56f27651 --- /dev/null +++ b/docs/doxygen/nel/a02826.html @@ -0,0 +1,252 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>NeL: NLNET::CLoginClient class Reference</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.3.6 --> +<div class="qindex"> <form class="search" action="search.php" method="get"> +<a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLNET::CLoginClient Class Reference</h1><code>#include <<a class="el" href="a05959.html">login_client.h</a>></code> +<p> +<hr><a name="_details"></a><h2>Detailed Description</h2> +<dl compact><dt><b>Author:</b></dt><dd>Vianney Lecroart <p> +Nevrax France </dd></dl> +<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl> + +<p> + +<p> +Definition at line <a class="el" href="a05959.html#l00051">51</a> of file <a class="el" href="a05959.html">login_client.h</a>.<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html#NLNET_1_1CLoginCliente0">connectToShard</a> (const std::string &<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a03627.html">CUdpSimSock</a> &cnx)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html#NLNET_1_1CLoginCliente1">connectToShard</a> (const std::string &<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a03628.html">CUdpSock</a> &cnx)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html#NLNET_1_1CLoginCliente2">connectToShard</a> (<a class="el" href="a02827.html">CLoginCookie</a> &lc, const std::string &<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a02305.html">CCallbackClient</a> &cnx)</td></tr> + +</table> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="NLNET_1_1CLoginCliente0" doxytag="NLNET::CLoginClient::connectToShard" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> string NLNET::CLoginClient::connectToShard </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>addr</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03627.html">CUdpSimSock</a> & </td> + <td class="mdname" nowrap> <em>cnx</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Try to connect to the shard and return an UDP simulate connection to the shard. +<p> +Definition at line <a class="el" href="a05958.html#l00125">125</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a06641.html#l00226">NLNET::CUdpSimSock::connect()</a>, <a class="el" href="a06641.html#l00306">NLNET::CUdpSimSock::connected()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05958.html#l00047">NLNET::ShardValidateReason</a>. +<p> +<div class="fragment"><pre>00126 { +00127 <a class="code" href="a04199.html#a6">nlassert</a> (!cnx.connected()); +00128 +00129 <span class="keywordflow">try</span> +00130 { +00131 <span class="comment">//</span> +00132 <span class="comment">// S12: connect to the FES. Note: In UDP mode, it's the user that have to send the cookie to the front end</span> +00133 <span class="comment">//</span> +00134 <span class="comment">// See firewall comment in connectToShard(string,CUdpSock)</span> +00135 <span class="comment">//</span> +00136 cnx.connect (<a class="code" href="a02665.html">CInetAddress</a>(addr)); +00137 } +00138 <span class="keywordflow">catch</span> (ESocket &e) +00139 { +00140 <span class="keywordflow">return</span> string(<span class="stringliteral">"FES refused the connection ("</span>) + e.what () + <span class="stringliteral">")"</span>; +00141 } +00142 +00143 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a18">ShardValidateReason</a>; +00144 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLNET_1_1CLoginCliente1" doxytag="NLNET::CLoginClient::connectToShard" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> string NLNET::CLoginClient::connectToShard </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>addr</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a03628.html">CUdpSock</a> & </td> + <td class="mdname" nowrap> <em>cnx</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Try to connect to the shard and return an UDP connection to the shard. +<p> +Definition at line <a class="el" href="a05958.html#l00101">101</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2103_1">NLNET::CSock::connect()</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2109_0">NLNET::CSock::connected()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05958.html#l00047">NLNET::ShardValidateReason</a>. +<p> +<div class="fragment"><pre>00102 { +00103 <a class="code" href="a04199.html#a6">nlassert</a> (!cnx.connected()); +00104 +00105 <span class="keywordflow">try</span> +00106 { +00107 <span class="comment">//</span> +00108 <span class="comment">// S12: connect to the FES. Note: In UDP mode, it's the user that have to send the cookie to the front end</span> +00109 <span class="comment">//</span> +00110 <span class="comment">// If a personal firewall such as ZoneAlarm is installed and permission not granted yet,</span> +00111 <span class="comment">// the connect blocks until the user makes a choice.</span> +00112 <span class="comment">// If the user denies the connection, the exception ESocket is thrown.</span> +00113 <span class="comment">// Other firewalls such as Kerio make the send() fail instead.</span> +00114 <span class="comment">//</span> +00115 cnx.connect (<a class="code" href="a02665.html">CInetAddress</a>(addr)); +00116 } +00117 <span class="keywordflow">catch</span> (ESocket &e) +00118 { +00119 <span class="keywordflow">return</span> string(<span class="stringliteral">"FES refused the connection ("</span>) + e.what () + <span class="stringliteral">")"</span>; +00120 } +00121 +00122 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a18">ShardValidateReason</a>; +00123 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="NLNET_1_1CLoginCliente2" doxytag="NLNET::CLoginClient::connectToShard" ></a><p> +<table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> + <tr> + <td class="mdRow"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> string NLNET::CLoginClient::connectToShard </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02827.html">CLoginCookie</a> & </td> + <td class="mdname" nowrap> <em>lc</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::string & </td> + <td class="mdname" nowrap> <em>addr</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a02305.html">CCallbackClient</a> & </td> + <td class="mdname" nowrap> <em>cnx</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Try to connect to the shard and return a TCP connection to the shard. +<p> +Definition at line <a class="el" href="a05958.html#l00063">63</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +References <a class="el" href="a05526.html#l00184">NLNET::CCallbackNetBase::addCallbackArray()</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05524.html#l00286">NLNET::CCallbackClient::connect()</a>, <a class="el" href="a05525.html#l00069">NLNET::CCallbackClient::connected()</a>, <a class="el" href="a05526.html#l00464">NLNET::CCallbackNetBase::displayAllMyAssociations()</a>, <a class="el" href="a05958.html#l00058">NLNET::FESCallbackArray</a>, <a class="el" href="a05527.html#l00129">NLNET::CCallbackNetBase::getSIDA()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05586.html#l00073">NLMISC::nlSleep()</a>, <a class="el" href="a05524.html#l00079">NLNET::CCallbackClient::send()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05958.html#l00046">NLNET::ShardValidate</a>, <a class="el" href="a05958.html#l00047">NLNET::ShardValidateReason</a>, and <a class="el" href="a05524.html#l00162">NLNET::CCallbackClient::update()</a>. +<p> +<div class="fragment"><pre>00064 { +00065 <a class="code" href="a04199.html#a6">nlassert</a> (!cnx.connected()); +00066 +00067 <span class="keywordflow">try</span> +00068 { +00069 <span class="comment">//</span> +00070 <span class="comment">// S12: connect to the FES and send "SV" message to the FES</span> +00071 <span class="comment">//</span> +00072 cnx.connect (<a class="code" href="a02665.html">CInetAddress</a>(addr)); +00073 cnx.addCallbackArray (FESCallbackArray, <span class="keyword">sizeof</span>(FESCallbackArray)/<span class="keyword">sizeof</span>(FESCallbackArray[0])); +00074 +00075 cnx.displayAllMyAssociations (); +00076 +00077 <span class="comment">// send the cookie</span> +00078 <a class="code" href="a02918.html">CMessage</a> msgout2 (cnx.getSIDA (), <span class="stringliteral">"SV"</span>); +00079 msgout2.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (lc); +00080 cnx.send (msgout2); +00081 +00082 <span class="comment">// wait the answer of the connection</span> +00083 <a class="code" href="a05379.html#a17">ShardValidate</a> = <span class="keyword">false</span>; +00084 <span class="keywordflow">while</span> (cnx.connected() && !<a class="code" href="a05379.html#a17">ShardValidate</a>) +00085 { +00086 cnx.update (); +00087 <a class="code" href="a05378.html#a256">nlSleep</a>(10); +00088 } +00089 +00090 <span class="comment">// have we received the answer?</span> +00091 <span class="keywordflow">if</span> (!<a class="code" href="a05379.html#a17">ShardValidate</a>) <span class="keywordflow">return</span> <span class="stringliteral">"FES disconnect me"</span>; +00092 } +00093 <span class="keywordflow">catch</span> (ESocket &e) +00094 { +00095 <span class="keywordflow">return</span> string(<span class="stringliteral">"FES refused the connection ("</span>) + e.what () + <span class="stringliteral">")"</span>; +00096 } +00097 +00098 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a18">ShardValidateReason</a>; +00099 } +</pre></div> </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="a05959.html">login_client.h</a><li><a class="el" href="a05958.html">login_client.cpp</a></ul> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:58:22 2004 for NeL by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 > +</a>1.3.6 </small></address> +</body> +</html> |