diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/classNLNET_1_1CNamingClient.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/classNLNET_1_1CNamingClient.html | 1408 |
1 files changed, 1408 insertions, 0 deletions
diff --git a/docs/doxygen/nel/classNLNET_1_1CNamingClient.html b/docs/doxygen/nel/classNLNET_1_1CNamingClient.html new file mode 100644 index 00000000..92a4a2d6 --- /dev/null +++ b/docs/doxygen/nel/classNLNET_1_1CNamingClient.html @@ -0,0 +1,1408 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.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">Compound List</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">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>NLNET::CNamingClient Class Reference</h1>Client side of Naming Service. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="naming__client_8h-source.html">naming_client.h</a>></code> +<p> +<a href="classNLNET_1_1CNamingClient-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0> +<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d0">connect</a> (const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr, <a class="el" href="classNLNET_1_1CCallbackNetBase.html#s3">CCallbackNetBase::TRecordingState</a> rec)</td></tr> +<tr><td> </td><td><font size=-1><em>Connect to the naming service.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d1">connected</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Return true if the connection to the Naming Service was done.</em> <a href="#d1">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d2">disconnect</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Close the connection to the naming service.</em> <a href="#d2">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>std::string </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d3">info</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Returns information about the naming connection (connected or not, which naming service and so on).</em> <a href="#d3">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="namespaceNLNET.html#a19">TServiceId</a> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d4">registerService</a> (const std::string &name, const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr)</td></tr> +<tr><td> </td><td><font size=-1><em>Register a service within the naming service.</em> <a href="#d4">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d5">registerServiceWithSId</a> (const std::string &name, const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr, <a class="el" href="namespaceNLNET.html#a19">TServiceId</a> sid)</td></tr> +<tr><td> </td><td><font size=-1><em>Register a service within the naming service, using a specified service identifier.</em> <a href="#d5">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d6">unregisterService</a> (<a class="el" href="namespaceNLNET.html#a19">TServiceId</a> sid)</td></tr> +<tr><td> </td><td><font size=-1><em>Unregister a service from the naming service, service identifier.</em> <a href="#d6">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d7">unregisterAllServices</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Unregister all services registered by this client. You don't have to.</em> <a href="#d7">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="types__nl_8h.html#a7">uint16</a> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d8">queryServicePort</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Requests the naming service to choose a port for the service.</em> <a href="#d8">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d9">lookup</a> (const std::string &name, <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr)</td></tr> +<tr><td> </td><td><font size=-1><em>Returns true and the address of the specified service if it is found, otherwise returns false.</em> <a href="#d9">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d10">lookup</a> (<a class="el" href="namespaceNLNET.html#a19">TServiceId</a> sid, <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr)</td></tr> +<tr><td> </td><td><font size=-1><em>Same as lookup(const string&, CInetAddress&, uint16&).</em> <a href="#d10">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d11">lookupAlternate</a> (const std::string &name, <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> &addr)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d12">lookupAll</a> (const std::string &name, std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > &addresses)</td></tr> +<tr><td> </td><td><font size=-1><em>Returns all services corresponding to the specified short name.</em> <a href="#d12">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>const <a class="el" href="classstd_1_1list.html">std::list</a>< <a class="el" href="structNLNET_1_1CNamingClient_1_1CServiceEntry.html">CServiceEntry</a> > & </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d13">getRegisteredServices</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Returns all registered services.</em> <a href="#d13">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d14">lookupAndConnect</a> (const std::string &name, <a class="el" href="classNLNET_1_1CCallbackClient.html">CCallbackClient</a> &sock)</td></tr> +<tr><td> </td><td><font size=-1><em>Obtains a socket connected to a service providing the service <em>name</em>.</em> <a href="#d14">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d15">update</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Call it evenly.</em> <a href="#d15">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d16">setRegistrationBroadcastCallback</a> (<a class="el" href="namespaceNLNET.html#a20">TBroadcastCallback</a> cb)</td></tr> +<tr><td> </td><td><font size=-1><em>You can link a callback if you want to know when a new service is registered (NULL to disable callback).</em> <a href="#d16">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#d17">setUnregistrationBroadcastCallback</a> (<a class="el" href="namespaceNLNET.html#a20">TBroadcastCallback</a> cb)</td></tr> +<tr><td> </td><td><font size=-1><em>You can link a callback if you want to know when a new service is unregistered (NULL to disable callback).</em> <a href="#d17">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan=2><br><h2>Static Protected Methods</h2></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#e0">checkThreadId</a> ()</td></tr> +<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="types__nl_8h.html#a13">uint</a> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#q0">_ThreadId</a> = 0xFFFFFFFF</td></tr> +<tr><td colspan=2><br><h2>Private Types</h2></td></tr> +<tr><td nowrap align=right valign=top>typedef std::map< <a class="el" href="namespaceNLNET.html#a19">TServiceId</a>,<br> + std::string > </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#u0">TRegServices</a></td></tr> +<tr><td> </td><td><font size=-1><em>Type of map of registered services.</em> <a href="#u0">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan=2><br><h2>Private Methods</h2></td></tr> +<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#c0">CNamingClient</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Constructor.</em> <a href="#c0">More...</a><em></em></font><br><br></td></tr> +<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#c1">~CNamingClient</a> ()</td></tr> +<tr><td> </td><td><font size=-1><em>Destructor.</em> <a href="#c1">More...</a><em></em></font><br><br></td></tr> +<tr><td colspan=2><br><h2>Static Private Methods</h2></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#f0">doReceiveLookupAnswer</a> (const std::string &name, std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > &addrs)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#f1">displayRegisteredServices</a> ()</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#f2">find</a> (const std::string &name, std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > &addrs)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#f3">find</a> (<a class="el" href="namespaceNLNET.html#a19">TServiceId</a> sid, std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > &addrs)</td></tr> +<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="classNLNET_1_1CCallbackClient.html">CCallbackClient</a> * </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#r0">_Connection</a> = NULL</td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="classNLNET_1_1CNamingClient.html#u0">TRegServices</a> </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#r1">_RegisteredServices</a></td></tr> +<tr><td nowrap align=right valign=top><a class="el" href="classstd_1_1list.html">std::list</a>< <a class="el" href="structNLNET_1_1CNamingClient_1_1CServiceEntry.html">CServiceEntry</a> > </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#r2">RegisteredServices</a></td></tr> +<tr><td nowrap align=right valign=top>NLMISC::CMutex </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#r3">RegisteredServicesMutex</a></td></tr> +<tr><td colspan=2><br><h2>Friends</h2></td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#l0">cbRegisterBroadcast</a> (<a class="el" href="classNLNET_1_1CMessage.html">CMessage</a> &msgin, <a class="el" href="namespaceNLNET.html#a0">TSockId</a> <a class="el" href="ytable_8cpp.html#a132">from</a>, <a class="el" href="classNLNET_1_1CCallbackNetBase.html">CCallbackNetBase</a> &netbase)</td></tr> +<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classNLNET_1_1CNamingClient.html#l1">cbUnregisterBroadcast</a> (<a class="el" href="classNLNET_1_1CMessage.html">CMessage</a> &msgin, <a class="el" href="namespaceNLNET.html#a0">TSockId</a> <a class="el" href="ytable_8cpp.html#a132">from</a>, <a class="el" href="classNLNET_1_1CCallbackNetBase.html">CCallbackNetBase</a> &netbase)</td></tr> +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Client side of Naming Service. +<p> +Allows to register/unregister services, and to lookup for a registered service. +<p> +<dl compact><dt><b> +Warning: </b><dd> +the Naming Service can be down, it will reconnect when up but if other services try to register during the NS is offline, it will cause bug</dl><dl compact><dt><b> +Author: </b><dd> +Olivier Cado , Vianney Lecroart , Nevrax France </dl><dl compact><dt><b> +Date: </b><dd> +2001 </dl> +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00058">58</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>.<hr><h2>Member Typedef Documentation</h2> +<a name="u0" doxytag="NLNET::CNamingClient::TRegServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> typedef std::map<<a class="el" href="namespaceNLNET.html#a19">TServiceId</a>, std::string> NLNET::CNamingClient::TRegServices<code> [private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Type of map of registered services. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00173">173</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. </td> + </tr> +</table> +<hr><h2>Constructor & Destructor Documentation</h2> +<a name="c0" doxytag="NLNET::CNamingClient::CNamingClient"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLNET::CNamingClient::CNamingClient </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Constructor. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00178">178</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. </td> + </tr> +</table> +<a name="c1" doxytag="NLNET::CNamingClient::~CNamingClient"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLNET::CNamingClient::~CNamingClient </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Destructor. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00181">181</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. </td> + </tr> +</table> +<hr><h2>Member Function Documentation</h2> +<a name="e0" doxytag="NLNET::CNamingClient::checkThreadId"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::checkThreadId </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static, protected]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00471">471</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00057">_ThreadId</a>, <a class="el" href="common_8cpp-source.html#l00081">NLMISC::getThreadId</a>, and <a class="el" href="debug_8h-source.html#l00126">nlerror</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00218">disconnect</a>, <a class="el" href="naming__client_8cpp-source.html#l00341">queryServicePort</a>, <a class="el" href="naming__client_8cpp-source.html#l00255">registerService</a>, <a class="el" href="naming__client_8cpp-source.html#l00285">registerServiceWithSId</a>, <a class="el" href="naming__client_8cpp-source.html#l00328">unregisterAllServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00315">unregisterService</a>, and <a class="el" href="naming__client_8cpp-source.html#l00463">update</a>. </td> + </tr> +</table> +<a name="d0" doxytag="NLNET::CNamingClient::connect"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::connect </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CCallbackNetBase.html#s3">CCallbackNetBase::TRecordingState</a> </td> + <td class="mdname" nowrap> <em>rec</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> +Connect to the naming service. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00189">189</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00057">_ThreadId</a>, <a class="el" href="naming__client_8cpp-source.html#l00107">NLNET::FirstRegisteredBroadcast</a>, <a class="el" href="common_8cpp-source.html#l00081">NLMISC::getThreadId</a>, <a class="el" href="naming__client_8cpp-source.html#l00180">NLNET::NamingClientCallbackArray</a>, and <a class="el" href="debug_8h-source.html#l00247">nlassert</a>. </td> + </tr> +</table> +<a name="d1" doxytag="NLNET::CNamingClient::connected"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::connected </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline, static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return true if the connection to the Naming Service was done. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00079">79</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00238">info</a>. </td> + </tr> +</table> +<a name="d2" doxytag="NLNET::CNamingClient::disconnect"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::disconnect </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Close the connection to the naming service. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00218">218</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00052">_RegisteredServices</a>, and <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>. </td> + </tr> +</table> +<a name="f1" doxytag="NLNET::CNamingClient::displayRegisteredServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::displayRegisteredServices </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline, static, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00190">190</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. +<p> +References <a class="el" href="debug_8h-source.html#l00080">nldebug</a>, and <a class="el" href="classNLNET_1_1CNamingClient.html#r3">RegisteredServicesMutex</a>. </td> + </tr> +</table> +<a name="f0" doxytag="NLNET::CNamingClient::doReceiveLookupAnswer"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::doReceiveLookupAnswer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > & </td> + <td class="mdname" nowrap> <em>addrs</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [static, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a name="f3" doxytag="NLNET::CNamingClient::find"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::find </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="namespaceNLNET.html#a19">TServiceId</a> </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > & </td> + <td class="mdname" nowrap> <em>addrs</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, static, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00211">211</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. +<p> +References <a class="el" href="classNLNET_1_1CNamingClient.html#r3">RegisteredServicesMutex</a>, and <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>. </td> + </tr> +</table> +<a name="f2" doxytag="NLNET::CNamingClient::find"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::find </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > & </td> + <td class="mdname" nowrap> <em>addrs</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline, static, private]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00202">202</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. +<p> +References <a class="el" href="classNLNET_1_1CNamingClient.html#r3">RegisteredServicesMutex</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00359">lookup</a>, <a class="el" href="naming__client_8cpp-source.html#l00421">lookupAll</a>, and <a class="el" href="naming__client_8cpp-source.html#l00392">lookupAlternate</a>. </td> + </tr> +</table> +<a name="d13" doxytag="NLNET::CNamingClient::getRegisteredServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> const <a class="el" href="classstd_1_1list.html">std::list</a><<a class="el" href="structNLNET_1_1CNamingClient_1_1CServiceEntry.html">CServiceEntry</a>>& NLNET::CNamingClient::getRegisteredServices </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [inline, static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Returns all registered services. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8h-source.html#l00143">143</a> of file <a class="el" href="naming__client_8h-source.html">naming_client.h</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00059">RegisteredServices</a>. </td> + </tr> +</table> +<a name="d3" doxytag="NLNET::CNamingClient::info"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> string NLNET::CNamingClient::info </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Returns information about the naming connection (connected or not, which naming service and so on). +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00238">238</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, and <a class="el" href="naming__client_8h-source.html#l00079">connected</a>. </td> + </tr> +</table> +<a name="d10" doxytag="NLNET::CNamingClient::lookup"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::lookup </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="namespaceNLNET.html#a19">TServiceId</a> </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</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> +Same as lookup(const string&, CInetAddress&, uint16&). +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00375">375</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8h-source.html#l00202">find</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, and <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>. </td> + </tr> +</table> +<a name="d9" doxytag="NLNET::CNamingClient::lookup"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::lookup </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</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> +Returns true and the address of the specified service if it is found, otherwise returns false. +<p> +<dl compact><dt><b> +Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>name</em> </td><td> +[in] Short name of the service to find </td></tr> +<tr><td valign=top><em>addr</em> </td><td> +[out] Address of the service </td></tr> +<tr><td valign=top><em>validitytime</em> </td><td> +[out] After this number of seconds are elapsed, another lookup will be necessary before sending a message to the service </td></tr> +</table> +</dl><dl compact><dt><b> +Returns: </b><dd> +true if all worked fine </dl> +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00359">359</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8h-source.html#l00202">find</a>, and <a class="el" href="debug_8h-source.html#l00247">nlassert</a>. </td> + </tr> +</table> +<a name="d12" doxytag="NLNET::CNamingClient::lookupAll"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::lookupAll </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>std::vector< <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> > & </td> + <td class="mdname" nowrap> <em>addresses</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> +Returns all services corresponding to the specified short name. +<p> +Ex: lookupAll ("AS", addresses); +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00421">421</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8h-source.html#l00202">find</a>, and <a class="el" href="debug_8h-source.html#l00247">nlassert</a>. </td> + </tr> +</table> +<a name="d11" doxytag="NLNET::CNamingClient::lookupAlternate"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::lookupAlternate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</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> +<dl compact><dt><b> +Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>name</em> </td><td> +[in] Short name of the service to find </td></tr> +<tr><td valign=top><em>addr</em> </td><td> +[in/out] In: Address of the service that does not respond. Out: Alternative address </td></tr> +<tr><td valign=top><em>validitytime</em> </td><td> +[out] After this number of seconds are elapsed, another lookup will be necessary before sending a message to the service </td></tr> +</table> +</dl><dl compact><dt><b> +Returns: </b><dd> +true if all worked fine. </dl> +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00392">392</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8h-source.html#l00202">find</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="naming__client_8cpp-source.html#l00059">RegisteredServices</a>, and <a class="el" href="classNLNET_1_1CNamingClient.html#r3">RegisteredServicesMutex</a>. </td> + </tr> +</table> +<a name="d14" doxytag="NLNET::CNamingClient::lookupAndConnect"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::lookupAndConnect </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CCallbackClient.html">CCallbackClient</a> & </td> + <td class="mdname" nowrap> <em>sock</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> +Obtains a socket connected to a service providing the service <em>name</em>. +<p> +In case of failure to connect, the method informs the Naming Service and tries to get another service. <dl compact><dt><b> +Parameters: </b><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em>name</em> </td><td> +[in] Short name of the service to find and connected </td></tr> +<tr><td valign=top><em>sock</em> </td><td> +[out] The connected socket. </td></tr> +<tr><td valign=top><em>validitytime</em> </td><td> +[out] After this number of seconds are elapsed, another lookup will be necessary before sending a message to the service. </td></tr> +</table> +</dl><dl compact><dt><b> +Returns: </b><dd> +false if the service was not found. </dl> +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00428">428</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, and <a class="el" href="debug_8h-source.html#l00080">nldebug</a>. </td> + </tr> +</table> +<a name="d8" doxytag="NLNET::CNamingClient::queryServicePort"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="types__nl_8h.html#a7">uint16</a> NLNET::CNamingClient::queryServicePort </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Requests the naming service to choose a port for the service. +<p> +<dl compact><dt><b> +Returns: </b><dd> +An empty port number </dl> +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00341">341</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="debug_8h-source.html#l00080">nldebug</a>, <a class="el" href="naming__client_8cpp-source.html#l00094">NLNET::QueryPort</a>, <a class="el" href="naming__client_8cpp-source.html#l00095">NLNET::QueryPortPort</a>, and <a class="el" href="types__nl_8h-source.html#l00191">uint16</a>. </td> + </tr> +</table> +<a name="d4" doxytag="NLNET::CNamingClient::registerService"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="namespaceNLNET.html#a19">TServiceId</a> NLNET::CNamingClient::registerService </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</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> +Register a service within the naming service. +<p> +Returns the service identifier assigned by the NS (or 0 if it failed) +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00255">255</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00052">_RegisteredServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="debug_8h-source.html#l00080">nldebug</a>, <a class="el" href="debug_8h-source.html#l00126">nlerror</a>, <a class="el" href="naming__client_8cpp-source.html#l00076">NLNET::Registered</a>, <a class="el" href="naming__client_8cpp-source.html#l00078">NLNET::RegisteredSID</a>, and <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>. </td> + </tr> +</table> +<a name="d5" doxytag="NLNET::CNamingClient::registerServiceWithSId"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> bool NLNET::CNamingClient::registerServiceWithSId </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="classNLNET_1_1CInetAddress.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>addr</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="namespaceNLNET.html#a19">TServiceId</a> </td> + <td class="mdname" nowrap> <em>sid</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> +Register a service within the naming service, using a specified service identifier. +<p> +Returns false if the service identifier is unavailable i.e. the registration failed. +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00285">285</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00052">_RegisteredServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="debug_8h-source.html#l00080">nldebug</a>, <a class="el" href="debug_8h-source.html#l00126">nlerror</a>, <a class="el" href="naming__client_8cpp-source.html#l00076">NLNET::Registered</a>, <a class="el" href="naming__client_8cpp-source.html#l00078">NLNET::RegisteredSID</a>, <a class="el" href="naming__client_8cpp-source.html#l00077">NLNET::RegisteredSuccess</a>, and <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>. </td> + </tr> +</table> +<a name="d16" doxytag="NLNET::CNamingClient::setRegistrationBroadcastCallback"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::setRegistrationBroadcastCallback </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="namespaceNLNET.html#a20">TBroadcastCallback</a> </td> + <td class="mdname1" valign="top" nowrap> <em>cb</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +You can link a callback if you want to know when a new service is registered (NULL to disable callback). +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00062">62</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00054">NLNET::_RegistrationBroadcastCallback</a>, and <a class="el" href="naming__client_8h-source.html#l00044">NLNET::TBroadcastCallback</a>. </td> + </tr> +</table> +<a name="d17" doxytag="NLNET::CNamingClient::setUnregistrationBroadcastCallback"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::setUnregistrationBroadcastCallback </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="namespaceNLNET.html#a20">TBroadcastCallback</a> </td> + <td class="mdname1" valign="top" nowrap> <em>cb</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +You can link a callback if you want to know when a new service is unregistered (NULL to disable callback). +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00067">67</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00055">NLNET::_UnregistrationBroadcastCallback</a>, and <a class="el" href="naming__client_8h-source.html#l00044">NLNET::TBroadcastCallback</a>. </td> + </tr> +</table> +<a name="d7" doxytag="NLNET::CNamingClient::unregisterAllServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::unregisterAllServices </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unregister all services registered by this client. You don't have to. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00328">328</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00052">_RegisteredServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>, and <a class="el" href="naming__client_8cpp-source.html#l00315">unregisterService</a>. </td> + </tr> +</table> +<a name="d6" doxytag="NLNET::CNamingClient::unregisterService"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::unregisterService </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="namespaceNLNET.html#a19">TServiceId</a> </td> + <td class="mdname1" valign="top" nowrap> <em>sid</em> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Unregister a service from the naming service, service identifier. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00315">315</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, <a class="el" href="naming__client_8cpp-source.html#l00052">_RegisteredServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, <a class="el" href="debug_8h-source.html#l00247">nlassert</a>, <a class="el" href="debug_8h-source.html#l00080">nldebug</a>, and <a class="el" href="naming__client_8h-source.html#l00042">NLNET::TServiceId</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00328">unregisterAllServices</a>. </td> + </tr> +</table> +<a name="d15" doxytag="NLNET::CNamingClient::update"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void NLNET::CNamingClient::update </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top">) </td> + <td class="md" nowrap><code> [static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Call it evenly. +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00463">463</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +References <a class="el" href="naming__client_8cpp-source.html#l00051">_Connection</a>, and <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>. </td> + </tr> +</table> +<hr><h2>Friends And Related Function Documentation</h2> +<a name="l0" doxytag="NLNET::CNamingClient::cbRegisterBroadcast"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void cbRegisterBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="classNLNET_1_1CMessage.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="namespaceNLNET.html#a0">TSockId</a> </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CCallbackNetBase.html">CCallbackNetBase</a> & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [friend]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00109">109</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. </td> + </tr> +</table> +<a name="l1" doxytag="NLNET::CNamingClient::cbUnregisterBroadcast"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> void cbUnregisterBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="classNLNET_1_1CMessage.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="namespaceNLNET.html#a0">TSockId</a> </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td></td> + <td></td> + <td class="md" nowrap><a class="el" href="classNLNET_1_1CCallbackNetBase.html">CCallbackNetBase</a> & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [friend]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00143">143</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. </td> + </tr> +</table> +<hr><h2>Member Data Documentation</h2> +<a name="r0" doxytag="NLNET::CNamingClient::_Connection"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="classNLNET_1_1CCallbackClient.html">CCallbackClient</a> * NLNET::CNamingClient::_Connection = NULL<code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00051">51</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00189">connect</a>, <a class="el" href="naming__client_8h-source.html#l00079">connected</a>, <a class="el" href="naming__client_8cpp-source.html#l00218">disconnect</a>, <a class="el" href="naming__client_8cpp-source.html#l00238">info</a>, <a class="el" href="naming__client_8cpp-source.html#l00359">lookup</a>, <a class="el" href="naming__client_8cpp-source.html#l00421">lookupAll</a>, <a class="el" href="naming__client_8cpp-source.html#l00392">lookupAlternate</a>, <a class="el" href="naming__client_8cpp-source.html#l00428">lookupAndConnect</a>, <a class="el" href="naming__client_8cpp-source.html#l00341">queryServicePort</a>, <a class="el" href="naming__client_8cpp-source.html#l00255">registerService</a>, <a class="el" href="naming__client_8cpp-source.html#l00285">registerServiceWithSId</a>, <a class="el" href="naming__client_8cpp-source.html#l00328">unregisterAllServices</a>, <a class="el" href="naming__client_8cpp-source.html#l00315">unregisterService</a>, and <a class="el" href="naming__client_8cpp-source.html#l00463">update</a>. </td> + </tr> +</table> +<a name="r1" doxytag="NLNET::CNamingClient::_RegisteredServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="classNLNET_1_1CNamingClient.html#u0">CNamingClient::TRegServices</a> NLNET::CNamingClient::_RegisteredServices<code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00052">52</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00218">disconnect</a>, <a class="el" href="naming__client_8cpp-source.html#l00255">registerService</a>, <a class="el" href="naming__client_8cpp-source.html#l00285">registerServiceWithSId</a>, <a class="el" href="naming__client_8cpp-source.html#l00328">unregisterAllServices</a>, and <a class="el" href="naming__client_8cpp-source.html#l00315">unregisterService</a>. </td> + </tr> +</table> +<a name="q0" doxytag="NLNET::CNamingClient::_ThreadId"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="types__nl_8h.html#a13">uint</a> NLNET::CNamingClient::_ThreadId = 0xFFFFFFFF<code> [static, protected]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<dl compact><dt><b> +<a class="el" href="todo.html#_todo000019">Todo: </a></b><dd> + ace: debug feature that we should remove one day before releasing the game</dl> +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00057">57</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="naming__client_8cpp-source.html#l00471">checkThreadId</a>, and <a class="el" href="naming__client_8cpp-source.html#l00189">connect</a>. </td> + </tr> +</table> +<a name="r2" doxytag="NLNET::CNamingClient::RegisteredServices"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> <a class="el" href="classstd_1_1list.html">std::list</a>< <a class="el" href="structNLNET_1_1CNamingClient_1_1CServiceEntry.html">CNamingClient::CServiceEntry</a> > NLNET::CNamingClient::RegisteredServices<code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="naming__client_8cpp-source.html#l00059">59</a> of file <a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="naming__client_8h-source.html#l00143">getRegisteredServices</a>, and <a class="el" href="naming__client_8cpp-source.html#l00392">lookupAlternate</a>. </td> + </tr> +</table> +<a name="r3" doxytag="NLNET::CNamingClient::RegisteredServicesMutex"></a><p> +<table width="100%" cellpadding="2" cellspacing="0" border="0"> + <tr> + <td class="md"> + <table cellpadding="0" cellspacing="0" border="0"> + <tr> + <td class="md" nowrap valign="top"> NLMISC::CMutex NLNET::CNamingClient::RegisteredServicesMutex<code> [static, private]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="naming__client_8h-source.html#l00190">displayRegisteredServices</a>, <a class="el" href="naming__client_8h-source.html#l00202">find</a>, and <a class="el" href="naming__client_8cpp-source.html#l00392">lookupAlternate</a>. </td> + </tr> +</table> +<hr>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="naming__client_8h-source.html">naming_client.h</a><li><a class="el" href="naming__client_8cpp-source.html">naming_client.cpp</a></ul> + + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |