aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02826.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a02826.html')
-rw-r--r--docs/doxygen/nel/a02826.html252
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&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLNET::CLoginClient Class Reference</h1><code>#include &lt;<a class="el" href="a05959.html">login_client.h</a>&gt;</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&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html#NLNET_1_1CLoginCliente0">connectToShard</a> (const std::string &amp;<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a03627.html">CUdpSimSock</a> &amp;cnx)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html#NLNET_1_1CLoginCliente1">connectToShard</a> (const std::string &amp;<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a03628.html">CUdpSock</a> &amp;cnx)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</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> &amp;lc, const std::string &amp;<a class="el" href="a04223.html#a657">addr</a>, <a class="el" href="a02305.html">CCallbackClient</a> &amp;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">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</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> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cnx</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </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 &amp;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">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</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> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cnx</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </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 &amp;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">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02827.html">CLoginCookie</a> &amp;&nbsp;</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 &amp;&nbsp;</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> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cnx</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </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() &amp;&amp; !<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 &amp;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>