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/a05379.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a05379.html')
-rw-r--r-- | docs/doxygen/nel/a05379.html | 11744 |
1 files changed, 11744 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a05379.html b/docs/doxygen/nel/a05379.html new file mode 100644 index 00000000..f7bad428 --- /dev/null +++ b/docs/doxygen/nel/a05379.html @@ -0,0 +1,11744 @@ +<!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 Namespace 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 Namespace Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> +This namespace contains all network class. +<p> + +<p> +<table border=0 cellpadding=0 cellspacing=0> +<tr><td></td></tr> +<tr><td colspan=2><br><h2>Data Structures</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02141.html">_CUniTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02193.html">CAlarm</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02257.html">CBaseStruct</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02295.html">CBufClient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02300.html">CBufferizedOutPacket</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02296.html">CBufNetBase</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02302.html">CBufServer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02303.html">CBufSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02305.html">CCallbackClient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02306.html">CCallbackNetBase</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02307.html">CCallbackServer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02352.html">CClientReceiveTask</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02443.html">CDummyTcpSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02601.html">CGraphUpdate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02665.html">CInetAddress</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02769.html">CListenSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02770.html">CListenTask</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02826.html">CLoginClient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02827.html">CLoginCookie</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02828.html">CLoginServer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02918.html">CMessage</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02921.html">CMessageRecorder</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02980.html">CNamingClient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a02981.html">CNamingClient::CServiceEntry</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02985.html">CNetDisplayer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02986.html">CNetLog</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02987.html">CNetManager</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02991.html">CNonBlockingBufSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03035.html">CPacsClient</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03077.html">CPendingUser</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03327.html">CRequest</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03365.html">CServerBufSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03366.html">CServerReceiveTask</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02771.html">CServerTask</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02444.html">CSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a02445.html">CTcpSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03614.html">CTransportClass</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03627.html">CUdpSimSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03628.html">CUdpSock</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03632.html">CUnifiedNetwork</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03633.html">CUnifiedNetwork::CUnifiedConnection</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">This may contains a <a class="el" href="a02305.html">CCallbackClient</a> or a TSockId, depending on which type of connection it is. </em> <a href="a03633.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03634.html">CUnifiedNetwork::CUnifiedConnection::TConnection</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">The connection structure. </em> <a href="a03634.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03635.html">CUnifiedNetwork::TNameMappedConnection</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">A map of service ids, referred by a service name. </em> <a href="a03635.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03771.html">EAccessDenied</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception raised when an unauthorized access has been done. </em> <a href="a03771.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03809.html">EServiceNotFound</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception raised when a the NS does not find the service looked-up. </em> <a href="a03809.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03810.html">ESocket</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03811.html">ESocketConnectionClosed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception raised when a connection is gracefully closed by peer. </em> <a href="a03811.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03812.html">ESocketConnectionFailed</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception raised when connect() fails. </em> <a href="a03812.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>class </td><td class="memItemRight" valign=bottom><a class="el" href="a03876.html">IService</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03900.html">TCallbackItem</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback items. See CMsgSocket::update() for an explanation on how the callbacks are called. </em> <a href="a03900.html#_details">More...</a><em><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03909.html">TMessageRecord</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="a03917.html">TUnifiedCallbackItem</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback items. See CMsgSocket::update() for an explanation on how the callbacks are called. </em> <a href="a03917.html#_details">More...</a><em><br><br></td></tr> +<tr><td colspan=2><br><h2>Typedefs</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::set< <a class="el" href="a02303.html">TSockId</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a82">CConnections</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef CSynchronizedFIFO::CAccessor </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a79">CFifoAccessor</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Accessor of mutexed FIFO buffer. <a href="#a79"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef NLMISC::CSynchronized<<br> + <a class="el" href="a02301.html">NLMISC::CBufFIFO</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a78">CSynchronizedFIFO</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Synchronized FIFO buffer. <a href="#a78"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector< <a class="el" href="a03880.html">NLMISC::IThread</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a81">CThreadPool</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a80">TBlockSize</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Size of a block. <a href="#a80"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a94">TBroadcastCallback</a> )(const std::string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const std::vector< <a class="el" href="a02665.html">CInetAddress</a> > &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a85">TDisconnectClientCallback</a> )(<a class="el" href="a04558.html#a11">uint32</a> userId)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function type called when a client need to be disconnected (double login...). <a href="#a85"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a83">TMsgCallback</a> )(<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a76">TNetCallback</a> )(<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function for message processing. <a href="#a76"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a95">TNetManagerCallback</a> )(const std::string &serviceName, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function type for message processing. <a href="#a95"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a84">TNewClientCallback</a> )(<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, const <a class="el" href="a02827.html">CLoginCookie</a> &cookie)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function type called when a new client is identified (with the login password procedure). <a href="#a84"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a73">TRemoteClientCallback</a> )(<a class="el" href="a04558.html#a11">uint32</a> rid, const std::string &cmd, const std::string &entityNames)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a93">TServiceId</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a02303.html">CBufSock</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a74">TSockId</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Socket identifier. <a href="#a74"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::pair< <a class="el" href="a05379.html#a76">TNetCallback</a>,<br> + <a class="el" href="a02303.html">TSockId</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a77">TStoredNetCallback</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Storing a TNetCallback call for future call. <a href="#a77"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a98">TUnifiedMsgCallback</a> )(<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void(* </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a97">TUnifiedNetCallback</a> )(const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid, void *arg)</td></tr> + +<tr><td colspan=2><br><h2>Enumerations</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>enum </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a225">TNetworkEvent</a> { <br> + <a class="el" href="a05379.html#a225a86">Sending</a>, +<a class="el" href="a05379.html#a225a87">Receiving</a>, +<a class="el" href="a05379.html#a225a88">Connecting</a>, +<a class="el" href="a05379.html#a225a89">ConnFailing</a>, +<br> + <a class="el" href="a05379.html#a225a90">Accepting</a>, +<a class="el" href="a05379.html#a225a91">Disconnecting</a>, +<a class="el" href="a05379.html#a225a92">Error</a> +<br> + }</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Type of network events (if changed, don't forget to change EventToString() and StringToEvent(). <a href="#a225">More...</a><br><br></td></tr> +<tr><td colspan=2><br><h2>Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a222">addRequestAnswer</a> (<a class="el" href="a04558.html#a11">uint32</a> rid, const std::vector< std::string > &variables, const std::vector< std::string > &values)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a109">addRequestAnswer</a> (<a class="el" href="a04558.html#a11">uint32</a> rid, const vector< string > &variables, const vector< string > &values)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a107">addRequestWaitingNb</a> (<a class="el" href="a04558.html#a11">uint32</a> rid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03646.html">CVariable</a>< bool > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a170">Bench</a> ("Bench","1 if benching 0 if not", 0, true)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a102">cbAdminPing</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a104">cbAESConnection</a> (const string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a105">cbAESDisconnection</a> (const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a219">cbClientGetUniversalTime</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a127">cbcMessageRecvAllAssociations</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a175">cbDirectoryChanged</a> (<a class="el" href="a03648.html">IVariable</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a101">cbExecCommand</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a178">cbExecuteCommands</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a217">cbGetUniversalTime</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a99">cbInfo</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a177">cbLogFilter</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a129">cbnbMessageAskAssociations</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a128">cbnbMessageRecvAssociations</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a130">cbnbNewDisconnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *<a class="el" href="a04223.html#a637">data</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a224">cbPacsAnswer</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a160">cbQueryPort</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a176">cbReceiveShardId</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> serviceId)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a159">cbRegister</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a161">cbRegisterBroadcast</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a218">cbServerAskUniversalTime</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a100">cbServGetView</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a141">cbShardValidate</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a146">cbShardValidation</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a198">cbSimVar</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a131">cbsNewConnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *<a class="el" href="a04223.html#a637">data</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a103">cbStopService</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a194">cbTCReceiveMessage</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const string &name, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a195">cbTCReceiveOtherSideClass</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const string &name, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a196">cbTCUpService</a> (const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a162">cbUnregisterBroadcast</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a144">cbWSChooseShard</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a145">cbWSDisconnectClient</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a151">cfcbAcceptInvalidCookie</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a150">cfcbDefaultUserPriv</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a149">cfcbListenAddress</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a152">cfcbTimeBeforeEraseCookie</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a111">cleanRequest</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a147">ClientConnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a205">createMessage</a> (<a class="el" href="a02918.html">CMessage</a> &msgout, const vector< string > &args, CLog &log)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a110">emptyRequest</a> (<a class="el" href="a04558.html#a11">uint32</a> rid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a157">EventToString</a> (<a class="el" href="a05379.html#a225">TNetworkEvent</a> e)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">TNetworkEvent -> string. <a href="#a157"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a197">getNameOfMessageOrTransportClass</a> (<a class="el" href="a02918.html">NLNET::CMessage</a> &msgin, std::string &msgName)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a115">initAdmin</a> (bool dontUseAES)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a174">initSignal</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a140">internalIPAddressToString</a> (<a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Take an internal address and convert it to a internet dot string. <a href="#a140"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a112">isRemoteCommand</a> (string &str)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03646.html">CVariable</a>< <a class="el" href="a04558.html#a10">sint32</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a169">NetSpeedLoop</a> ("NetSpeedLoop","duration of the last user loop(<a class="el" href="a04223.html#a647">in</a> ms)", 10, false)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>NLMISC::CMutex </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a125">nettrace_mutex</a> ("nettrace_mutex")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a216">NLMISC_COMMAND</a> (isServiceLocal,"Says if a service is local or not compare with this service","< sid >|< service name >")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a215">NLMISC_COMMAND</a> (l5Callback,"Displays all callback registered <a class="el" href="a04223.html#a647">in</a> layer5","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a214">NLMISC_COMMAND</a> (l5InternalTables,"Displays internal table of network layer5","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a213">NLMISC_COMMAND</a> (l5QueuesStats,"Displays queues stats of network layer5","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a212">NLMISC_COMMAND</a> (msgout,"Send a message to a specified service(ex:msgout 128 REGISTER u32 10 b 1 f 1.5)","< ServiceName >|< ServiceId >< MessageName >[< ParamType >< Param >]*")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a211">NLMISC_COMMAND</a> (msgin,"Simulate an input message <a class="el" href="a04113.html#a70">from</a> another service(ex:msgin 128 REGISTER u32 10 b 1 f 1.5)","< ServiceName >|< ServiceId >< MessageName >[< ParamType >< Param >]*")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a191">NLMISC_COMMAND</a> (getUnknownConfigFileVariables,"display the variables <a class="el" href="a04113.html#a70">from</a> config <a class="el" href="a04115.html#a95">file</a> that are called but not present","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a190">NLMISC_COMMAND</a> (displayConfigFile,"display the variables of the default configfile","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a189">NLMISC_COMMAND</a> (getWinDisplayerInfo,"display the info about the pos and <a class="el" href="a04223.html#a587">size</a> of the window displayer","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a188">NLMISC_COMMAND</a> (resetMeasures,"reset hierarchical timer","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a187">NLMISC_COMMAND</a> (serviceInfo,"display information about this service","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a186">NLMISC_COMMAND</a> (brutalQuit,"exit the service brutally","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a185">NLMISC_COMMAND</a> (quit,"exit the service","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a163">NLMISC_COMMAND</a> (services,"displays registered services","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a154">NLMISC_COMMAND</a> (lsPending,"displays the <a class="el" href="a03889.html">list</a> of all pending users","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a153">NLMISC_COMMAND</a> (lsUsers,"displays the <a class="el" href="a03889.html">list</a> of all connected users","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a119">NLMISC_COMMAND</a> (getView,"send a view and receive an array as result","< varpath >")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a118">NLMISC_COMMAND</a> (displayInformations,"displays all admin informations","")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a210">NLMISC_DYNVARIABLE</a> (<a class="el" href="a04558.html#a13">uint64</a>, SentBytes,"total of bytes sent by this service")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a209">NLMISC_DYNVARIABLE</a> (<a class="el" href="a04558.html#a13">uint64</a>, ReceivedBytes,"total of bytes received by this service")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a208">NLMISC_DYNVARIABLE</a> (<a class="el" href="a04558.html#a13">uint64</a>, ReceiveQueueSize,"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of all receive queues")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a207">NLMISC_DYNVARIABLE</a> (<a class="el" href="a04558.html#a13">uint64</a>, SendQueueSize,"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of all send queues")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a192">NLMISC_DYNVARIABLE</a> (string, State,"Set this <a class="el" href="a04223.html#a658">value</a> to 0 to shutdown the service and 1 to start the service")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a184">NLMISC_DYNVARIABLE</a> (string, Scroller,"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of the sent queue <a class="el" href="a04223.html#a587">size</a>")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a180">NLMISC_DYNVARIABLE</a> (string, Uptime,"time <a class="el" href="a04113.html#a70">from</a> the launching of the <a class="el" href="a04223.html#a568">program</a>")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a179">NLMISC_DYNVARIABLE</a> (string, <a class="el" href="a05379.html#a53">LaunchingDate</a>,"date of the launching of the <a class="el" href="a04223.html#a568">program</a>")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a155">NLMISC_DYNVARIABLE</a> (string, LSListenAddress,"the listen <a class="el" href="a04223.html#a569">address</a> sended to the client to connect on this front_end")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a206">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a64">TotalCallbackCalled</a>,"Total callback called number on layer 5")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a183">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a54">NbUserUpdate</a>,"number of time the user IService::update() called")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a182">NLMISC_VARIABLE</a> (string, <a class="el" href="a05379.html#a55">CompilationMode</a>,"mode of the compilation")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a181">NLMISC_VARIABLE</a> (string, <a class="el" href="a05379.html#a52">CompilationDate</a>,"date of the compilation")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a156">NLMISC_VARIABLE</a> (string, <a class="el" href="a05379.html#a24">DefaultUserPriv</a>,"Default User priv for people who don'<a class="el" href="a04223.html#a627">t</a> use the login system")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a124">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a10">NbServerReceiveTask</a>,"Number of server receive thread")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a123">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a9">NbServerListenTask</a>,"Number of server listen thread")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a122">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a8">NbNetworkTask</a>,"Number of server and client thread")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a121">NLMISC_VARIABLE</a> (<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a05379.html#a7">NbClientReceiveTask</a>,"Number of client receive thread")</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a164">nmNewConnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a165">nmNewDisconnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a137">operator<</a> (const <a class="el" href="a02665.html">CInetAddress</a> &a1, const <a class="el" href="a02665.html">CInetAddress</a> &a2)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a142">operator==</a> (const <a class="el" href="a02827.html">CLoginCookie</a> &c1, const <a class="el" href="a02827.html">CLoginCookie</a> &c2)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a136">operator==</a> (const <a class="el" href="a02665.html">CInetAddress</a> &a1, const <a class="el" href="a02665.html">CInetAddress</a> &a2)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a143">refreshPendingList</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a166">RegistrationBroadcast</a> (const std::string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const vector< <a class="el" href="a02665.html">CInetAddress</a> > &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a114">sendAdminEmail</a> (char *<a class="el" href="a04223.html#a641">format</a>,...)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a223">sendEmail</a> (const std::string &smtpServer, const std::string &<a class="el" href="a04113.html#a70">from</a>, const std::string &to, const std::string &subject, const std::string &body, const std::string &attachedFile="", bool onlyCheck=false)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a134">sendEmail</a> (const string &smtpServer, const string &<a class="el" href="a04113.html#a70">from</a>, const string &to, const string &subject, const string &body, const string &attachedFile, bool onlyCheck)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a133">sendEMailCommand</a> (<a class="el" href="a02445.html">CTcpSock</a> &sock, const std::string &command, <a class="el" href="a04558.html#a11">uint32</a> code=250)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a221">serviceGetView</a> (<a class="el" href="a04558.html#a11">uint32</a> rid, const std::string &rawvarpath, std::vector< std::pair< std::vector< std::string >, std::vector< std::string > > > &answer, bool async=false)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a113">serviceGetView</a> (<a class="el" href="a04558.html#a11">uint32</a> rid, const string &rawvarpath, vector< pair< vector< string >, vector< string > > > &answer, bool async)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a135">setDefaultEmailParams</a> (const std::string &smtpServer, const std::string &<a class="el" href="a04113.html#a70">from</a>, const std::string &to)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a220">setInformations</a> (const std::vector< std::string > &alarms, const std::vector< std::string > &graphupdate)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a117">setInformations</a> (const vector< string > &alarms, const vector< string > &graphupdate)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a148">setListenAddress</a> (const string &la)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a106">setRemoteClientCallback</a> (<a class="el" href="a05379.html#a73">TRemoteClientCallback</a> cb)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a173">sigHandler</a> (int Sig)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a126">stringFromVectorPart</a> (const vector< <a class="el" href="a04558.html#a7">uint8</a> > &<a class="el" href="a04223.html#a576">v</a>, <a class="el" href="a04558.html#a11">uint32</a> pos, <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a04223.html#a571">len</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a225">TNetworkEvent</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a158">StringToEvent</a> (string &<a class="el" href="a04223.html#a626">s</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">string -> TNetworkEvent <a href="#a158"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a139">stringToInternalIPAddress</a> (const std::string &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Take a internet dot string and convert it in an uint32 internal format for example "128.64.32.16" -> 0xF0804020. <a href="#a139"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a108">subRequestWaitingNb</a> (<a class="el" href="a04558.html#a11">uint32</a> rid)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a193">typeToString</a> (<a class="el" href="a03614.html#NLNET_1_1CTransportClassw15">CTransportClass::TProp</a> <a class="el" href="a04223.html#a581">type</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a201">uncbConnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a202">uncbDisconnection</a> (<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a204">uncbMsgProcessing</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a203">uncbServiceIdentification</a> (<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a199">uNetRegistrationBroadcast</a> (const string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const vector< <a class="el" href="a02665.html">CInetAddress</a> > &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a200">uNetUnregistrationBroadcast</a> (const string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const vector< <a class="el" href="a02665.html">CInetAddress</a> > &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a167">UnregistrationBroadcast</a> (const std::string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const vector< <a class="el" href="a02665.html">CInetAddress</a> > &<a class="el" href="a04223.html#a657">addr</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a116">updateAdmin</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03646.html">CVariable</a>< <a class="el" href="a04558.html#a11">uint32</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a172">UpdateAssertionThreadTimeout</a> ("UpdateAssertionThreadTimeout","<a class="el" href="a04223.html#a647">in</a> millisecond, timeout before thread assertion", 0, 0, true, UpdateAssertionThreadTimeoutCB)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a171">UpdateAssertionThreadTimeoutCB</a> (<a class="el" href="a03648.html">IVariable</a> &var)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a13">uint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a120">updateStatCounter</a> (<a class="el" href="a04558.html#a13">uint64</a> &counter, <a class="el" href="a04558.html#a13">uint64</a> newvalue)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03646.html">CVariable</a>< <a class="el" href="a04558.html#a10">sint32</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a168">UserSpeedLoop</a> ("UserSpeedLoop","duration of the last network loop(<a class="el" href="a04223.html#a647">in</a> ms)", 10, false)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a132">uuencode</a> (const char *<a class="el" href="a04223.html#a626">s</a>, const char *store, const int length)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>std::string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a138">vectorCInetAddressToString</a> (const std::vector< <a class="el" href="a02665.html">CInetAddress</a> > &addrs)</td></tr> + +<tr><td colspan=2><br><h2>Variables</h2></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a94">TBroadcastCallback</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a33">_RegistrationBroadcastCallback</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a94">TBroadcastCallback</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a34">_UnregistrationBroadcastCallback</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a23">AcceptInvalidCookie</a> = false</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a3">AlarmCheckDelay</a> = 5</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>vector< <a class="el" href="a02193.html">CAlarm</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a1">Alarms</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a65">allstuffs</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a13">uint64</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a63">AppIdDeadConnection</a> = 0xDEAD</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a7">uint8</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a60">buffer</a> [10000]</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>queue< <a class="el" href="a02300.html">CBufferizedOutPacket</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a59">BufferizedInPackets</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>queue< <a class="el" href="a02300.html">CBufferizedOutPacket</a> * > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a58">BufferizedOutPackets</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03917.html">TUnifiedCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a57">builtinServiceCallbacks</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03917.html">TUnifiedCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a6">CallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a12">cbnbMessageAssociationArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a31">ClientCallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a11">ClientMessageAssociationArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02985.html">CNetDisplayer</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a51">commandDisplayer</a> (false)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a52">CompilationDate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a55">CompilationMode</a> = "???"</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a14">DefaultFrom</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a13">DefaultSMTPServer</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a15">DefaultTo</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a24">DefaultUserPriv</a> = ""</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a85">TDisconnectClientCallback</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a25">DisconnectClientCallback</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03917.html">TUnifiedCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a47">EmptyCallbackArray</a> [1] = { { "", NULL } }</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a48">ExitSignalAsked</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02525.html">CFileDisplayer</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a50">fd</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a19">FESCallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a71">GetClientUniversalTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>TTime </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a72">GetClientUniversalTimeUniTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a67">GetUniversalTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a68">GetUniversalTimeSecondsSince1970</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>TTime </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a69">GetUniversalTimeUniTime</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>vector< <a class="el" href="a02601.html">CGraphUpdate</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a2">GraphUpdates</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02303.html">TSockId</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a75">InvalidSockId</a> = (<a class="el" href="a02303.html">TSockId</a>) NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a53">LaunchingDate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a22">ListenAddr</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a32">LockedSubMessageError</a> = "a sub message is forbidden"</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a8">sint16</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a42">LOG_CBINDEX</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a26">ModeTcp</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03537.html">CTimeoutAssertionThread</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a56">MyTAT</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a41">NamingClientCallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a7">NbClientReceiveTask</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a8">NbNetworkTask</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a9">NbServerListenTask</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a10">NbServerReceiveTask</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a54">NbUserUpdate</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a46">NegFiltersNames</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02986.html">CNetLog</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a43">NetLog</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a84">TNewClientCallback</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a29">NewClientCallback</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a96">PacsCallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03889.html">list</a>< <a class="el" href="a03077.html">CPendingUser</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a20">PendingUsers</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a39">QueryPort</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a9">uint16</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a40">QueryPortPort</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a38">Reason</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a35">Registered</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a93">TServiceId</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a37">RegisteredSID</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a36">RegisteredSuccess</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05379.html#a73">TRemoteClientCallback</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a0">RemoteClientCallback</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>vector< <a class="el" href="a03327.html">CRequest</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a4">Requests</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a5">RequestTimeout</a> = 4</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02307.html">CCallbackServer</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a21">Server</a> = NULL</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a70">ServerTimeServiceCallbackArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>bool </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a17">ShardValidate</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>string </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a18">ShardValidateReason</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a14">sint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a44">Signal</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a49">SignalisedThread</a></td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>const char * </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a45">SignalName</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>char </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a16">tbl</a> [65]</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>CLog </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a61">test</a> (CLog::LOG_INFO)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a62">ThreadCreator</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a27">TimeBeforeEraseCookie</a> = 120</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a64">TotalCallbackCalled</a> = 0</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03900.html">TCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a66">unServerCbArray</a> []</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>map< <a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a02303.html">TSockId</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a28">UserIdSockAssociations</a></td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">contains the correspondance between userid and the sockid <a href="#a28"></a><br><br></td></tr> +<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03917.html">TUnifiedCallbackItem</a> </td><td class="memItemRight" valign=bottom><a class="el" href="a05379.html#a30">WSCallbackArray</a> []</td></tr> + +</table> +<hr><h2>Typedef Documentation</h2> +<a class="anchor" name="a82" doxytag="NLNET::CConnections" ></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"> typedef std::set<<a class="el" href="a02303.html">TSockId</a>> <a class="el" href="a05379.html#a82">NLNET::CConnections</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05513.html#l00382">382</a> of file <a class="el" href="a05513.html">buf_server.h</a>. </td> + </tr> +</table> +<a class="anchor" name="a79" doxytag="NLNET::CFifoAccessor" ></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"> typedef CSynchronizedFIFO::CAccessor <a class="el" href="a05379.html#a79">NLNET::CFifoAccessor</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Accessor of mutexed FIFO buffer. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00056">56</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05512.html#l00364">NLNET::CBufServer::dataAvailable()</a>, <a class="el" href="a05506.html#l00140">NLNET::CBufClient::dataAvailable()</a>, <a class="el" href="a05506.html#l00318">NLNET::CBufClient::disconnect()</a>, <a class="el" href="a05511.html#l00094">NLNET::CBufNetBase::displayReceiveQueueStat()</a>, <a class="el" href="a05511.html#l00088">NLNET::CBufNetBase::getReceiveQueueSize()</a>, <a class="el" href="a05511.html#l00164">NLNET::CBufNetBase::pushMessageIntoReceiveQueue()</a>, <a class="el" href="a05512.html#l00565">NLNET::CBufServer::receive()</a>, <a class="el" href="a05506.html#l00272">NLNET::CBufClient::receive()</a>, and <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>. </td> + </tr> +</table> +<a class="anchor" name="a78" doxytag="NLNET::CSynchronizedFIFO" ></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"> typedef NLMISC::CSynchronized<<a class="el" href="a02301.html">NLMISC::CBufFIFO</a>> <a class="el" href="a05379.html#a78">NLNET::CSynchronizedFIFO</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Synchronized FIFO buffer. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00053">53</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05511.html#l00154">NLNET::CBufNetBase::receiveQueue()</a>. </td> + </tr> +</table> +<a class="anchor" name="a81" doxytag="NLNET::CThreadPool" ></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"> typedef std::vector<<a class="el" href="a03880.html">NLMISC::IThread</a>*> <a class="el" href="a05379.html#a81">NLNET::CThreadPool</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05513.html#l00115">115</a> of file <a class="el" href="a05513.html">buf_server.h</a>. +<p> +Referenced by <a class="el" href="a05512.html#l00958">NLNET::CBufServer::addNewThread()</a>. </td> + </tr> +</table> +<a class="anchor" name="a80" doxytag="NLNET::TBlockSize" ></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"> typedef <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a80">NLNET::TBlockSize</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Size of a block. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00059">59</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05514.html#l00137">NLNET::CBufSock::flush()</a>, <a class="el" href="a05513.html#l00298">NLNET::CBufServer::pushBufferToHost()</a>, <a class="el" href="a05512.html#l00565">NLNET::CBufServer::receive()</a>, and <a class="el" href="a05514.html#l00386">NLNET::CNonBlockingBufSock::receivePart()</a>. </td> + </tr> +</table> +<a class="anchor" name="a94" doxytag="NLNET::TBroadcastCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a94">NLNET::TBroadcastCallback</a>)(const std::string &name, <a class="el" href="a05379.html#a93">TServiceId</a> sid, const std::vector<<a class="el" href="a02665.html">CInetAddress</a>> &<a class="el" href="a04223.html#a657">addr</a>) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06090.html#l00044">44</a> of file <a class="el" href="a06090.html">naming_client.h</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00066">NLNET::CNamingClient::setRegistrationBroadcastCallback()</a>, and <a class="el" href="a06089.html#l00071">NLNET::CNamingClient::setUnregistrationBroadcastCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a85" doxytag="NLNET::TDisconnectClientCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a85">NLNET::TDisconnectClientCallback</a>)(<a class="el" href="a04558.html#a11">uint32</a> userId) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type called when a client need to be disconnected (double login...). +<p> + +<p> +Definition at line <a class="el" href="a05963.html#l00050">50</a> of file <a class="el" href="a05963.html">login_server.h</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00353">NLNET::CLoginServer::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a83" doxytag="NLNET::TMsgCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a83">NLNET::TMsgCallback</a>)(<a class="el" href="a02918.html">CMessage</a> &msgin, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, <a class="el" href="a02306.html">CCallbackNetBase</a> &netbase) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type for message processing<p> +msgin contains parameters of the message from is the SockId of the connection, for a client, from is always the same value +<p> +Definition at line <a class="el" href="a05527.html#l00055">55</a> of file <a class="el" href="a05527.html">callback_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05526.html#l00223">NLNET::CCallbackNetBase::processOneMessage()</a>, and <a class="el" href="a05527.html#l00110">NLNET::CCallbackNetBase::setDefaultCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a76" doxytag="NLNET::TNetCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a76">NLNET::TNetCallback</a>)( <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg ) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function for message processing. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00047">47</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05513.html#l00311">NLNET::CBufServer::connectionCallback()</a>, <a class="el" href="a05511.html#l00157">NLNET::CBufNetBase::disconnectionCallback()</a>, <a class="el" href="a05529.html#l00061">NLNET::CCallbackServer::setConnectionCallback()</a>, <a class="el" href="a05513.html#l00184">NLNET::CBufServer::setConnectionCallback()</a>, <a class="el" href="a05529.html#l00064">NLNET::CCallbackServer::setDisconnectionCallback()</a>, <a class="el" href="a05527.html#l00113">NLNET::CCallbackNetBase::setDisconnectionCallback()</a>, <a class="el" href="a05525.html#l00080">NLNET::CCallbackClient::setDisconnectionCallback()</a>, and <a class="el" href="a05511.html#l00085">NLNET::CBufNetBase::setDisconnectionCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a95" doxytag="NLNET::TNetManagerCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a95">NLNET::TNetManagerCallback</a>)(const std::string &serviceName, <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, void *arg) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type for message processing. +<p> + +<p> +Definition at line <a class="el" href="a06099.html#l00052">52</a> of file <a class="el" href="a06099.html">net_manager.h</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00472">NLNET::CNetManager::setConnectionCallback()</a>, and <a class="el" href="a06098.html#l00480">NLNET::CNetManager::setDisconnectionCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a84" doxytag="NLNET::TNewClientCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a84">NLNET::TNewClientCallback</a>)(<a class="el" href="a02303.html">TSockId</a> <a class="el" href="a04113.html#a70">from</a>, const <a class="el" href="a02827.html">CLoginCookie</a> &cookie) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type called when a new client is identified (with the login password procedure). +<p> + +<p> +Definition at line <a class="el" href="a05963.html#l00047">47</a> of file <a class="el" href="a05963.html">login_server.h</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a73" doxytag="NLNET::TRemoteClientCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a73">NLNET::TRemoteClientCallback</a>)(<a class="el" href="a04558.html#a11">uint32</a> rid, const std::string &cmd, const std::string &entityNames) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05392.html#l00066">66</a> of file <a class="el" href="a05392.html">admin.h</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00211">setRemoteClientCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a93" doxytag="NLNET::TServiceId" ></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"> typedef <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a05379.html#a93">NLNET::TServiceId</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06090.html#l00042">42</a> of file <a class="el" href="a06090.html">naming_client.h</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00201">NLNET::CNetManager::addServer()</a>, <a class="el" href="a06089.html#l00119">cbRegisterBroadcast()</a>, <a class="el" href="a06089.html#l00178">cbUnregisterBroadcast()</a>, <a class="el" href="a06090.html#l00063">NLNET::CNamingClient::CServiceEntry::CServiceEntry()</a>, <a class="el" href="a06090.html#l00220">NLNET::CNamingClient::find()</a>, <a class="el" href="a06365.html#l00215">NLNET::IService::getServiceId()</a>, <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>, <a class="el" href="a06089.html#l00448">NLNET::CNamingClient::lookup()</a>, <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>, <a class="el" href="a06089.html#l00340">NLNET::CNamingClient::registerServiceWithSId()</a>, <a class="el" href="a06098.html#l00131">RegistrationBroadcast()</a>, <a class="el" href="a06089.html#l00373">NLNET::CNamingClient::resendRegisteration()</a>, <a class="el" href="a06645.html#l00058">uNetRegistrationBroadcast()</a>, <a class="el" href="a06645.html#l00100">uNetUnregistrationBroadcast()</a>, <a class="el" href="a06089.html#l00398">NLNET::CNamingClient::unregisterAllServices()</a>, <a class="el" href="a06089.html#l00385">NLNET::CNamingClient::unregisterService()</a>, and <a class="el" href="a06098.html#l00164">UnregistrationBroadcast()</a>. </td> + </tr> +</table> +<a class="anchor" name="a74" doxytag="NLNET::TSockId" ></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"> typedef <a class="el" href="a02303.html">CBufSock</a>* <a class="el" href="a02303.html">NLNET::TSockId</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Socket identifier. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00042">42</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. +<p> +Referenced by <a class="el" href="a05513.html#l00432">NLNET::CServerReceiveTask::addNewSocket()</a>, <a class="el" href="a05513.html#l00449">NLNET::CServerReceiveTask::addToRemoveSet()</a>, <a class="el" href="a05515.html#l00120">NLNET::CBufSock::advertiseDisconnection()</a>, <a class="el" href="a05515.html#l00135">NLNET::CBufSock::advertiseSystemEvent()</a>, <a class="el" href="a05526.html#l00471">NLNET::CCallbackNetBase::authorizeOnly()</a>, <a class="el" href="a06650.html#l00296">cbClientGetUniversalTime()</a>, <a class="el" href="a05524.html#l00043">cbcMessageRecvAllAssociations()</a>, <a class="el" href="a06650.html#l00139">cbGetUniversalTime()</a>, <a class="el" href="a05526.html#l00088">cbnbMessageAskAssociations()</a>, <a class="el" href="a05526.html#l00055">cbnbMessageRecvAssociations()</a>, <a class="el" href="a05526.html#l00127">cbnbNewDisconnection()</a>, <a class="el" href="a06138.html#l00495">cbPacsAnswer()</a>, <a class="el" href="a06089.html#l00109">cbQueryPort()</a>, <a class="el" href="a06089.html#l00085">cbRegister()</a>, <a class="el" href="a06089.html#l00119">cbRegisterBroadcast()</a>, <a class="el" href="a06650.html#l00262">cbServerAskUniversalTime()</a>, <a class="el" href="a05958.html#l00048">cbShardValidate()</a>, <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, <a class="el" href="a05528.html#l00045">cbsNewConnection()</a>, <a class="el" href="a06089.html#l00178">cbUnregisterBroadcast()</a>, <a class="el" href="a05512.html#l01191">NLNET::CServerReceiveTask::clearClosedConnections()</a>, <a class="el" href="a05962.html#l00230">ClientConnection()</a>, <a class="el" href="a05512.html#l00364">NLNET::CBufServer::dataAvailable()</a>, <a class="el" href="a05528.html#l00246">NLNET::CCallbackServer::disconnect()</a>, <a class="el" href="a05527.html#l00138">NLNET::CCallbackNetBase::disconnect()</a>, <a class="el" href="a05524.html#l00354">NLNET::CCallbackClient::disconnect()</a>, <a class="el" href="a05512.html#l00251">NLNET::CBufServer::disconnect()</a>, <a class="el" href="a05529.html#l00086">NLNET::CCallbackServer::displaySendQueueStat()</a>, <a class="el" href="a05525.html#l00089">NLNET::CCallbackClient::displaySendQueueStat()</a>, <a class="el" href="a05512.html#l00713">NLNET::CBufServer::displaySendQueueStat()</a>, <a class="el" href="a05515.html#l00368">NLNET::CServerBufSock::fillSockIdAndEventType()</a>, <a class="el" href="a05529.html#l00055">NLNET::CCallbackServer::flush()</a>, <a class="el" href="a05524.html#l00134">NLNET::CCallbackClient::flush()</a>, <a class="el" href="a05513.html#l00232">NLNET::CBufServer::flush()</a>, <a class="el" href="a06645.html#l01335">NLNET::CUnifiedNetwork::getNetBase()</a>, <a class="el" href="a05512.html#l00660">NLNET::CBufServer::getSendQueueSize()</a>, <a class="el" href="a05528.html#l00268">NLNET::CCallbackServer::getSockId()</a>, <a class="el" href="a05524.html#l00272">NLNET::CCallbackClient::getSockId()</a>, <a class="el" href="a05529.html#l00077">NLNET::CCallbackServer::hostAddress()</a>, <a class="el" href="a05526.html#l00443">NLNET::CCallbackNetBase::hostAddress()</a>, <a class="el" href="a05525.html#l00071">NLNET::CCallbackClient::hostAddress()</a>, <a class="el" href="a05513.html#l00241">NLNET::CBufServer::hostAddress()</a>, <a class="el" href="a05507.html#l00198">NLNET::CBufClient::id()</a>, <a class="el" href="a06645.html#l02048">NLMISC_COMMAND()</a>, <a class="el" href="a06098.html#l00062">nmNewConnection()</a>, <a class="el" href="a06098.html#l00074">nmNewDisconnection()</a>, <a class="el" href="a05526.html#l00223">NLNET::CCallbackNetBase::processOneMessage()</a>, <a class="el" href="a05513.html#l00298">NLNET::CBufServer::pushBufferToHost()</a>, <a class="el" href="a05528.html#l00205">NLNET::CCallbackServer::receive()</a>, <a class="el" href="a05524.html#l00220">NLNET::CCallbackClient::receive()</a>, <a class="el" href="a05512.html#l00565">NLNET::CBufServer::receive()</a>, <a class="el" href="a06028.html#l00141">NLNET::CMessageRecorder::recordNext()</a>, <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>, <a class="el" href="a06098.html#l00455">NLNET::CNetManager::send()</a>, <a class="el" href="a05528.html#l00124">NLNET::CCallbackServer::send()</a>, <a class="el" href="a05524.html#l00079">NLNET::CCallbackClient::send()</a>, <a class="el" href="a05512.html#l00299">NLNET::CBufServer::send()</a>, <a class="el" href="a05528.html#l00091">NLNET::CCallbackServer::sendAllMyAssociations()</a>, <a class="el" href="a05513.html#l00226">NLNET::CBufServer::setSizeFlushTrigger()</a>, <a class="el" href="a05513.html#l00221">NLNET::CBufServer::setTimeFlushTrigger()</a>, <a class="el" href="a05507.html#l00059">NLNET::CClientReceiveTask::sockId()</a>, <a class="el" href="a06646.html#l00272">NLNET::CUnifiedNetwork::CUnifiedConnection::TConnection::TConnection()</a>, <a class="el" href="a06029.html#l00068">NLNET::TMessageRecord::TMessageRecord()</a>, <a class="el" href="a06645.html#l00172">uncbConnection()</a>, <a class="el" href="a06645.html#l00179">uncbDisconnection()</a>, <a class="el" href="a06645.html#l00406">uncbMsgProcessing()</a>, and <a class="el" href="a06645.html#l00284">uncbServiceIdentification()</a>. </td> + </tr> +</table> +<a class="anchor" name="a77" doxytag="NLNET::TStoredNetCallback" ></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"> typedef std::pair<<a class="el" href="a05379.html#a76">TNetCallback</a>,<a class="el" href="a02303.html">TSockId</a>> <a class="el" href="a05379.html#a77">NLNET::TStoredNetCallback</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Storing a TNetCallback call for future call. +<p> + +<p> +Definition at line <a class="el" href="a05511.html#l00050">50</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. </td> + </tr> +</table> +<a class="anchor" name="a98" doxytag="NLNET::TUnifiedMsgCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a98">NLNET::TUnifiedMsgCallback</a>)(<a class="el" href="a02918.html">CMessage</a> &msgin, const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type for message processing <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>msgin</em> </td><td>message received </td></tr> + <tr><td valign=top><em>serviceName</em> </td><td>name of the service that sent the message </td></tr> + <tr><td valign=top><em>sid</em> </td><td>id of the service that sent the message </td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06646.html#l00052">52</a> of file <a class="el" href="a06646.html">unified_network.h</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01393">NLNET::CUnifiedNetwork::findCallback()</a>, and <a class="el" href="a06645.html#l01983">NLMISC_COMMAND()</a>. </td> + </tr> +</table> +<a class="anchor" name="a97" doxytag="NLNET::TUnifiedNetCallback" ></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"> typedef void(* <a class="el" href="a05379.html#a97">NLNET::TUnifiedNetCallback</a>)(const std::string &serviceName, <a class="el" href="a04558.html#a9">uint16</a> sid, void *arg) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Callback function type for service up/down processing <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>serviceName</em> </td><td>name of the service that is un/registered to the naming service </td></tr> + <tr><td valign=top><em>arg</em> </td><td>a pointer initialized by the user </td></tr> + </table> +</dl> + +<p> +Definition at line <a class="el" href="a06646.html#l00045">45</a> of file <a class="el" href="a06646.html">unified_network.h</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01797">NLNET::CUnifiedNetwork::callServiceDownCallback()</a>, <a class="el" href="a06645.html#l01768">NLNET::CUnifiedNetwork::callServiceUpCallback()</a>, <a class="el" href="a06645.html#l01216">NLNET::CUnifiedNetwork::setServiceDownCallback()</a>, and <a class="el" href="a06645.html#l01197">NLNET::CUnifiedNetwork::setServiceUpCallback()</a>. </td> + </tr> +</table> +<hr><h2>Enumeration Type Documentation</h2> +<a class="anchor" name="a225" doxytag="NLNET::TNetworkEvent" ></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"> enum <a class="el" href="a05379.html#a225">NLNET::TNetworkEvent</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Type of network events (if changed, don't forget to change <a class="el" href="a05379.html#a157">EventToString()</a> and <a class="el" href="a05379.html#a158">StringToEvent()</a>. +<p> +<dl compact><dt><b>Enumeration values: </b></dt><dd> +<table border=0 cellspacing=2 cellpadding=0> +<tr><td valign=top><em><a class="anchor" name="a225a86" doxytag="Sending" ></a>Sending</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a87" doxytag="Receiving" ></a>Receiving</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a88" doxytag="Connecting" ></a>Connecting</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a89" doxytag="ConnFailing" ></a>ConnFailing</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a90" doxytag="Accepting" ></a>Accepting</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a91" doxytag="Disconnecting" ></a>Disconnecting</em> </td><td> +</td></tr> +<tr><td valign=top><em><a class="anchor" name="a225a92" doxytag="Error" ></a>Error</em> </td><td> +</td></tr> +</table> +</dl> + +<p> +Definition at line <a class="el" href="a06029.html#l00049">49</a> of file <a class="el" href="a06029.html">message_recorder.h</a>. +<p> +Referenced by <a class="el" href="a06028.html#l00308">NLNET::CMessageRecorder::checkNextOne()</a>, <a class="el" href="a05524.html#l00286">NLNET::CCallbackClient::connect()</a>, <a class="el" href="a06028.html#l00326">NLNET::CMessageRecorder::replayConnectionAttempt()</a>, and <a class="el" href="a06028.html#l00054">StringToEvent()</a>. +<p> +<div class="fragment"><pre>00049 { <a class="code" href="a05379.html#a225a86">Sending</a>, <a class="code" href="a05379.html#a225a87">Receiving</a>, <a class="code" href="a05379.html#a225a88">Connecting</a>, <a class="code" href="a05379.html#a225a89">ConnFailing</a>, <a class="code" href="a05379.html#a225a90">Accepting</a>, <a class="code" href="a05379.html#a225a91">Disconnecting</a>, <a class="code" href="a05379.html#a225a92">Error</a> }; +</pre></div> </td> + </tr> +</table> +<hr><h2>Function Documentation</h2> +<a class="anchor" name="a222" doxytag="NLNET::addRequestAnswer" ></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"> void addRequestAnswer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>rid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< std::string > & </td> + <td class="mdname" nowrap> <em>variables</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< std::string > & </td> + <td class="mdname" nowrap> <em>values</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a109" doxytag="NLNET::addRequestAnswer" ></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"> void addRequestAnswer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>rid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< string > & </td> + <td class="mdname" nowrap> <em>variables</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< string > & </td> + <td class="mdname" nowrap> <em>values</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00275">275</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00386">serviceGetView()</a>. +<p> +<div class="fragment"><pre>00276 { +00277 <span class="keywordflow">if</span> (!variables.empty() && variables[0] == <span class="stringliteral">"__log"</span>) +00278 { <a class="code" href="a04199.html#a6">nlassert</a> (variables.size() == 1); } +00279 <span class="keywordflow">else</span> +00280 { <a class="code" href="a04199.html#a6">nlassert</a> (variables.size() == values.size()); } +00281 +00282 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i < <a class="code" href="a05379.html#a4">Requests</a>.size (); i++) +00283 { +00284 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].Id == rid) +00285 { +00286 <a class="code" href="a05379.html#a4">Requests</a>[i].Answers.push_back (make_pair(variables, values)); +00287 +00288 <a class="code" href="a05379.html#a4">Requests</a>[i].NbReceived++; +00289 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"ADMIN: ++ i %d rid %d NbWaiting %d NbReceived+ %d"</span>, i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); +00290 +00291 <span class="keywordflow">return</span>; +00292 } +00293 } +00294 <span class="comment">// we received an unknown request, forget it</span> +00295 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: Receive an answer for unknown request %d"</span>, rid); +00296 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a107" doxytag="NLNET::addRequestWaitingNb" ></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"> void addRequestWaitingNb </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>rid</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00221">221</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00386">serviceGetView()</a>. +<p> +<div class="fragment"><pre>00222 { +00223 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i < <a class="code" href="a05379.html#a4">Requests</a>.size (); i++) +00224 { +00225 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].Id == rid) +00226 { +00227 <a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting++; +00228 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"ADMIN: ++ i %d rid %d NbWaiting+ %d NbReceived %d"</span>, i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); +00229 <span class="comment">// if we add a waiting, reset the timer</span> +00230 <a class="code" href="a05379.html#a4">Requests</a>[i].Time = CTime::getSecondsSince1970 (); +00231 <span class="keywordflow">return</span>; +00232 } +00233 } +00234 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: addRequestWaitingNb: can't find the rid %d"</span>, rid); +00235 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a170" doxytag="NLNET::Bench" ></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"> <a class="el" href="a03646.html">CVariable</a><bool> Bench </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">"Bench" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"1 if benching 0 if not" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>0 </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>true </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a102" doxytag="NLNET::cbAdminPing" ></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"> void cbAdminPing </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00155">155</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00156 { +00157 <span class="comment">// Send back a pong to say to the AES that I'm alive</span> +00158 <a class="code" href="a02918.html">CMessage</a> msgout(<span class="stringliteral">"ADMIN_PONG"</span>); +00159 CUnifiedNetwork::getInstance()->send(sid, msgout); +00160 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a104" doxytag="NLNET::cbAESConnection" ></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"> void cbAESConnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const string & </td> + <td class="mdname" nowrap> <em>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00169">169</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00636">initAdmin()</a>. +<p> +<div class="fragment"><pre>00170 { +00171 <span class="comment">// established a connection to the AES, identify myself</span> +00172 +00173 <span class="comment">//</span> +00174 <span class="comment">// Sends the identification message with the name of the service and all commands available on this service</span> +00175 <span class="comment">//</span> +00176 +00177 <a class="code" href="a02918.html">CMessage</a> msgout (<span class="stringliteral">"SID"</span>); +00178 <a class="code" href="a04558.html#a11">uint32</a> pid = getpid (); +00179 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (IService::getInstance()->_AliasName, IService::getInstance()->_LongName, pid); +00180 ICommand::serialCommands (msgout); +00181 CUnifiedNetwork::getInstance()->send(<span class="stringliteral">"AES"</span>, msgout); +00182 +00183 <span class="keywordflow">if</span> (IService::getInstance()->_Initialized) +00184 { +00185 <a class="code" href="a02918.html">CMessage</a> msgout2 (<span class="stringliteral">"SR"</span>); +00186 CUnifiedNetwork::getInstance()->send(<span class="stringliteral">"AES"</span>, msgout2); +00187 } +00188 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a105" doxytag="NLNET::cbAESDisconnection" ></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"> void cbAESDisconnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00191">191</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00636">initAdmin()</a>. +<p> +<div class="fragment"><pre>00192 { +00193 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"Lost connection to the %s-%hu"</span>, serviceName.c_str(), sid); +00194 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a219" doxytag="NLNET::cbClientGetUniversalTime" ></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"> void cbClientGetUniversalTime </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06650.html#l00296">296</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +References <a class="el" href="a06650.html#l00293">GetClientUniversalTime</a>, <a class="el" href="a06650.html#l00294">GetClientUniversalTimeUniTime</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00297 { +00298 <a class="code" href="a04199.html#a12">nlstop</a>; +00299 <span class="comment">// get the association between a date and unitime</span> +00300 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (GetClientUniversalTimeUniTime); +00301 <a class="code" href="a05379.html#a71">GetClientUniversalTime</a> = <span class="keyword">true</span>; +00302 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a127" doxytag="NLNET::cbcMessageRecvAllAssociations" ></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"> void cbcMessageRecvAllAssociations </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a05524.html#l00043">43</a> of file <a class="el" href="a05524.html">callback_client.cpp</a>. +<p> +References <a class="el" href="a05526.html#l00055">cbnbMessageRecvAssociations()</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05527.html#l00129">NLNET::CCallbackNetBase::getSIDA()</a>, <a class="el" href="a06468.html#l00176">NLMISC::CStringIdArray::ignoreAllUnknownId()</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00044 { +00045 netbase.getSIDA().ignoreAllUnknownId (<span class="keyword">false</span>); +00046 <a class="code" href="a05379.html#a128">cbnbMessageRecvAssociations</a> (msgin, from, netbase); +00047 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a175" doxytag="NLNET::cbDirectoryChanged" ></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"> void cbDirectoryChanged </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03648.html">IVariable</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a06364.html#l00230">230</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a03648.html#NLMISC_1_1IVariablea1">NLMISC::IVariable::fromString()</a>, <a class="el" href="a05585.html#l00145">NLMISC::ICommand::getName()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a03648.html#NLMISC_1_1IVariablea4">NLMISC::IVariable::toString()</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00278">NLNET::IService::IService()</a>. +<p> +<div class="fragment"><pre>00231 { +00232 string vp = CPath::getFullPath(var.<a class="code" href="a03648.html#NLMISC_1_1IVariablea4">toString</a>()); +00233 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: '%s' changed to '%s'"</span>, var.<a class="code" href="a03647.html#NLMISC_1_1IVariablea2">getName</a>().c_str(), vp.c_str()); +00234 var.<a class="code" href="a03648.html#NLMISC_1_1IVariablea1">fromString</a>(vp); +00235 +00236 <span class="keywordflow">if</span> (var.<a class="code" href="a03647.html#NLMISC_1_1IVariablea2">getName</a>() == <span class="stringliteral">"RunningDirectory"</span>) +00237 { +00238 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span> +00239 <span class="preprocessor"></span> _chdir (vp.c_str()); +00240 <span class="preprocessor">#else</span> +00241 <span class="preprocessor"></span> chdir (vp.c_str()); +00242 <span class="preprocessor">#endif</span> +00243 <span class="preprocessor"></span> } +00244 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a101" doxytag="NLNET::cbExecCommand" ></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"> void cbExecCommand </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00144">144</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00145 { +00146 string command; +00147 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (command); +00148 +00149 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Executing command from network : '%s'"</span>, command.c_str()); +00150 ICommand::execute (command, IService::getInstance()->CommandLog); +00151 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a178" doxytag="NLNET::cbExecuteCommands" ></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"> void cbExecuteCommands </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a06364.html#l00405">405</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05597.html#l00216">NLMISC::CConfigFile::CVar::size()</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00406 { +00407 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i < var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVara4">size</a>(); i++) +00408 { +00409 ICommand::execute (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>(i), IService::getInstance()->CommandLog); +00410 } +00411 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a217" doxytag="NLNET::cbGetUniversalTime" ></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"> void cbGetUniversalTime </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06650.html#l00139">139</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +References <a class="el" href="a06650.html#l00134">GetUniversalTime</a>, <a class="el" href="a06650.html#l00135">GetUniversalTimeSecondsSince1970</a>, <a class="el" href="a06650.html#l00136">GetUniversalTimeUniTime</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00140 { +00141 <a class="code" href="a04199.html#a12">nlstop</a>; +00142 <span class="comment">// get the association between a date and unitime</span> +00143 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (GetUniversalTimeSecondsSince1970); +00144 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (GetUniversalTimeUniTime); +00145 <a class="code" href="a05379.html#a67">GetUniversalTime</a> = <span class="keyword">true</span>; +00146 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a99" doxytag="NLNET::cbInfo" ></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"> void cbInfo </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00100">100</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05979.html#l00423">NLMISC::CMemStream::serialCont()</a>, <a class="el" href="a05391.html#l00797">setInformations()</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00101 { +00102 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Updating admin informations"</span>); +00103 +00104 vector<string> alarms; +00105 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (alarms); +00106 vector<string> graphupdate; +00107 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (graphupdate); +00108 +00109 <a class="code" href="a05379.html#a117">setInformations</a> (alarms, graphupdate); +00110 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a177" doxytag="NLNET::cbLogFilter" ></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"> void cbLogFilter </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a06364.html#l00361">361</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05943.html#l00593">NLMISC::CLog::addNegativeFilter()</a>, <a class="el" href="a05621.html#l00093">NLMISC::AssertLog</a>, <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, <a class="el" href="a05621.html#l00092">NLMISC::DebugLog</a>, <a class="el" href="a05621.html#l00089">NLMISC::ErrorLog</a>, <a class="el" href="a05621.html#l00091">NLMISC::InfoLog</a>, <a class="el" href="a05598.html#l00188">NLMISC::CConfigFile::CVar::Name</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05943.html#l00556">NLMISC::CLog::removeFilter()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05597.html#l00216">NLMISC::CConfigFile::CVar::size()</a>, and <a class="el" href="a05621.html#l00090">NLMISC::WarningLog</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00362 { +00363 CLog *log = NULL; +00364 <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"NegFiltersDebug"</span>) +00365 { +00366 log = <a class="code" href="a05378.html#a13">DebugLog</a>; +00367 } +00368 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"NegFiltersInfo"</span>) +00369 { +00370 log = <a class="code" href="a05378.html#a12">InfoLog</a>; +00371 } +00372 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"NegFiltersWarning"</span>) +00373 { +00374 log = <a class="code" href="a05378.html#a11">WarningLog</a>; +00375 } +00376 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"NegFiltersAssert"</span>) +00377 { +00378 log = <a class="code" href="a05378.html#a14">AssertLog</a>; +00379 } +00380 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"NegFiltersError"</span>) +00381 { +00382 log = <a class="code" href="a05378.html#a10">ErrorLog</a>; +00383 } +00384 <span class="keywordflow">else</span> +00385 { +00386 <a class="code" href="a04199.html#a12">nlstop</a>; +00387 } +00388 +00389 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: Updating %s from config file"</span>, var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a>.c_str()); +00390 +00391 <span class="comment">// remove all old filters from config file</span> +00392 <a class="code" href="a02402.html">CConfigFile::CVar</a> &oldvar = IService::getInstance()->ConfigFile.getVar (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a>); +00393 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> j = 0; j < oldvar.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVara4">size</a>(); j++) +00394 { +00395 log->removeFilter (oldvar.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>(j).c_str()); +00396 } +00397 +00398 <span class="comment">// add all new filters from config file</span> +00399 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i < var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVara4">size</a>(); i++) +00400 { +00401 log->addNegativeFilter (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>(i).c_str()); +00402 } +00403 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a129" doxytag="NLNET::cbnbMessageAskAssociations" ></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"> void cbnbMessageAskAssociations </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05526.html#l00088">88</a> of file <a class="el" href="a05526.html">callback_net_base.cpp</a>. +<p> +References <a class="el" href="a05527.html#l00193">NLNET::CCallbackNetBase::_OutputSIDA</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06468.html#l00089">NLMISC::CStringIdArray::getId()</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="a05622.html#l00101">nldebug</a>, <a class="el" href="a02306.html#NLNET_1_1CCallbackNetBasea19">NLNET::CCallbackNetBase::send()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a06468.html#l00054">NLMISC::CStringIdArray::TStringId</a>. +<p> +<div class="fragment"><pre>00089 { +00090 <a class="code" href="a02918.html">CMessage</a> msgout (netbase.getSIDA(), <span class="stringliteral">"RA"</span>); +00091 <a class="code" href="a03449.html#NLMISC_1_1CStringIdArrayw0">CStringIdArray::TStringId</a> <a class="code" href="a04223.html#a587">size</a>; +00092 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (size); +00093 +00094 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"LNETL3NB_ASSOC: The other side want %d string associations"</span>, size); +00095 +00096 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (size); +00097 +00098 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i < <a class="code" href="a04223.html#a587">size</a>; i++) +00099 { +00100 string name; +00101 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00102 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"LNETL3NB_ASSOC: sending association '%s' -> %d"</span>, name.c_str (), netbase._OutputSIDA.getId(name)); +00103 +00104 <span class="comment">// if this assert occurs, it means that the other side ask an unknown message</span> +00105 <span class="comment">// or that there are different types of client (with differents callbackarray) and one of the client doesn't have this callback</span> +00106 <a class="code" href="a04199.html#a6">nlassert</a>(netbase._OutputSIDA.getId(name) != -1); +00107 +00108 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00109 +00110 <a class="code" href="a03449.html#NLMISC_1_1CStringIdArrayw0">CStringIdArray::TStringId</a> <span class="keywordtype">id</span> = netbase._OutputSIDA.getId (name); +00111 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (<span class="keywordtype">id</span>); +00112 } +00113 <span class="comment">// send the message to the other side</span> +00114 netbase.send (msgout, from); +00115 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a128" doxytag="NLNET::cbnbMessageRecvAssociations" ></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"> void cbnbMessageRecvAssociations </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05526.html#l00055">55</a> of file <a class="el" href="a05526.html">callback_net_base.cpp</a>. +<p> +References <a class="el" href="a06468.html#l00059">NLMISC::CStringIdArray::addString()</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="a05622.html#l00101">nldebug</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a06468.html#l00054">NLMISC::CStringIdArray::TStringId</a>. +<p> +Referenced by <a class="el" href="a05524.html#l00043">cbcMessageRecvAllAssociations()</a>. +<p> +<div class="fragment"><pre>00056 { +00057 <span class="comment">// receive a new message association</span> +00058 +00059 <a class="code" href="a03449.html#NLMISC_1_1CStringIdArrayw0">CStringIdArray::TStringId</a> <a class="code" href="a04223.html#a587">size</a>; +00060 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (size); +00061 +00062 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"LNETL3NB_ASSOC: The other side gave me %d association strings"</span>, size); +00063 +00064 <span class="keywordflow">for</span> (<a class="code" href="a03449.html#NLMISC_1_1CStringIdArrayw0">CStringIdArray::TStringId</a> i = 0; i < <a class="code" href="a04223.html#a587">size</a>; i++) +00065 { +00066 std::string name; +00067 <a class="code" href="a03449.html#NLMISC_1_1CStringIdArrayw0">CStringIdArray::TStringId</a> <span class="keywordtype">id</span>; +00068 +00069 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00070 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (<span class="keywordtype">id</span>); +00071 +00072 <span class="comment">// if id == -1, it means that there are no callback associated to this message</span> +00073 <span class="comment">// it should not happen, it mean that one side send a message that the other side</span> +00074 <span class="comment">// can't manage in his callbackarray.</span> +00075 <span class="comment">// to resolve the problem, add the callback in the callbackarray in the other side</span> +00076 <span class="comment">// and put NULL if you don't want to manage this message</span> +00077 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keywordtype">id</span> != -1); +00078 +00079 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"LNETL3NB_ASSOC: association '%s' -> %d"</span>, name.c_str (), <span class="keywordtype">id</span>); +00080 netbase.getSIDA().addString (name, <span class="keywordtype">id</span>); +00081 } +00082 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a130" doxytag="NLNET::cbnbNewDisconnection" ></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"> void cbnbNewDisconnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05526.html#l00127">127</a> of file <a class="el" href="a05526.html">callback_net_base.cpp</a>. +<p> +References <a class="el" href="a05527.html#l00222">NLNET::CCallbackNetBase::_DisconnectionCallback</a>, <a class="el" href="a05527.html#l00223">NLNET::CCallbackNetBase::_DisconnectionCbArg</a>, <a class="el" href="a05646.html#l01013">data</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +Referenced by <a class="el" href="a05526.html#l00148">NLNET::CCallbackNetBase::CCallbackNetBase()</a>. +<p> +<div class="fragment"><pre>00128 { +00129 <a class="code" href="a04199.html#a6">nlassert</a> (data != NULL); +00130 CCallbackNetBase *base = (CCallbackNetBase *)<a class="code" href="a04223.html#a637">data</a>; +00131 +00132 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"LNETL3NB: cbnbNewDisconnection()"</span>); +00133 +00134 <span class="preprocessor">#ifdef USE_MESSAGE_RECORDER</span> +00135 <span class="preprocessor"></span> <span class="comment">// Record or replay disconnection</span> +00136 base->noticeDisconnection( from ); +00137 <span class="preprocessor">#endif</span> +00138 <span class="preprocessor"></span> +00139 <span class="comment">// Call the client callback if necessary</span> +00140 <span class="keywordflow">if</span> (base->_DisconnectionCallback != NULL) +00141 base->_DisconnectionCallback (from, base->_DisconnectionCbArg); +00142 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a224" doxytag="NLNET::cbPacsAnswer" ></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"> void cbPacsAnswer </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06138.html#l00495">495</a> of file <a class="el" href="a06138.html">pacs_client.h</a>. +<p> +References <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06138.html#l00486">NLNET::CPacsClient::getPositionSpeedCallback()</a>, <a class="el" href="a06138.html#l00448">NLNET::CPacsClient::messageCallback()</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05621.html#l00134">NLMISC::nlError()</a>, <a class="el" href="a06138.html#l00038">NLNET_PACS_PROTOCOL_VERSION</a>, <a class="el" href="a06138.html#l00457">NLNET::CPacsClient::rayTestCallback()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a06462.html#l00520">NLMISC::IStream::serialCheck()</a>, <a class="el" href="a05979.html#l00423">NLMISC::CMemStream::serialCont()</a>, <a class="el" href="a06138.html#l00476">NLNET::CPacsClient::testMoveCallback()</a>, <a class="el" href="a06138.html#l00467">NLNET::CPacsClient::triggerCallback()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a06615.html#l00058">NLPACS::UMovePrimitive::TUserData</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00496 { +00497 <span class="comment">// Get the client pointer</span> +00498 CPacsClient *client=(CPacsClient*)(<a class="code" href="a04558.html#a15">uint</a>)<a class="code" href="a05333.html#a132">from</a>->appId (); +00499 +00500 <span class="comment">// Check stream</span> +00501 msgin.<a class="code" href="a02270.html#NLMISC_1_1IStreamz2035_0">serialCheck</a> ((<a class="code" href="a04558.html#a11">uint32</a>)NLNET_PACS_PROTOCOL_VERSION); +00502 +00503 <span class="comment">// Message callback</span> +00504 client->messageCallback (); +00505 +00506 <span class="keywordtype">bool</span> again; +00507 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (again); +00508 +00509 <span class="keywordflow">while</span> (again) +00510 { +00511 <span class="comment">// Read the message sub string</span> +00512 std::string subMessage; +00513 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (subMessage); +00514 +00515 <span class="comment">// This code can work only if sizeof (uint) == sizeof (void*)</span> +00516 <a class="code" href="a04199.html#a6">nlassert</a> (<span class="keyword">sizeof</span> (<a class="code" href="a04558.html#a15">uint</a>)==<span class="keyword">sizeof</span> (<span class="keywordtype">void</span>*)); +00517 +00518 <span class="comment">// Raytrace callback ?</span> +00519 <span class="keywordflow">if</span> (subMessage==<span class="stringliteral">"RY"</span>) +00520 { +00521 <span class="comment">// Read test id and test result</span> +00522 <a class="code" href="a04558.html#a11">uint32</a> testId; +00523 <span class="keywordtype">bool</span> testResult; +00524 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (testId, testResult); +00525 +00526 <span class="comment">// Call the callback</span> +00527 client->rayTestCallback (testId, testResult); +00528 } +00529 <span class="comment">// Trigger callback ?</span> +00530 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (subMessage==<span class="stringliteral">"TR"</span>) +00531 { +00532 <span class="comment">// Read eval id and trigger info</span> +00533 <a class="code" href="a04558.html#a11">uint32</a> evalId; +00534 std::vector<NLPACS::UTriggerInfo> triggerInfo; +00535 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (evalId); +00536 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (triggerInfo); +00537 +00538 <span class="comment">// Call the callback</span> +00539 client->triggerCallback (evalId, triggerInfo); +00540 } +00541 <span class="comment">// Test move callback ?</span> +00542 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (subMessage==<span class="stringliteral">"TM"</span>) +00543 { +00544 <span class="comment">// Read the primitive id and test result</span> +00545 <a class="code" href="a02947.html#NLPACS_1_1UMovePrimitivew14">NLPACS::UMovePrimitive::TUserData</a> <span class="keywordtype">id</span>; +00546 <span class="keywordtype">bool</span> testResult; +00547 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (<span class="keywordtype">id</span>, testResult); +00548 +00549 <span class="comment">// Call the callback </span> +00550 client->testMoveCallback (<span class="keywordtype">id</span>, testResult); +00551 } +00552 <span class="comment">// Test move callback ?</span> +00553 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (subMessage==<span class="stringliteral">"PS"</span>) +00554 { +00555 <span class="comment">// Read the primitive id and test result</span> +00556 <a class="code" href="a02947.html#NLPACS_1_1UMovePrimitivew14">NLPACS::UMovePrimitive::TUserData</a> <span class="keywordtype">id</span>; +00557 <a class="code" href="a03664.html">NLMISC::CVectorD</a> position; +00558 <a class="code" href="a03664.html">NLMISC::CVectorD</a> speed; +00559 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (<span class="keywordtype">id</span>, position, speed); +00560 +00561 <span class="comment">// Call the callback </span> +00562 client->getPositionSpeedCallback (<span class="keywordtype">id</span>, position, speed); +00563 } +00564 <span class="keywordflow">else</span> +00565 <a class="code" href="a05378.html#a294">NLMISC::nlError</a> (<span class="stringliteral">"Pacs client: unkown sub message string"</span>); +00566 +00567 <span class="comment">// Next message ?</span> +00568 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (again); +00569 } +00570 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a160" doxytag="NLNET::cbQueryPort" ></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"> void cbQueryPort </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06089.html#l00109">109</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +References <a class="el" href="a06089.html#l00106">QueryPort</a>, <a class="el" href="a06089.html#l00107">QueryPortPort</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00110 { +00111 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (QueryPortPort); +00112 <a class="code" href="a05379.html#a39">QueryPort</a> = <span class="keyword">true</span>; +00113 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a176" doxytag="NLNET::cbReceiveShardId" ></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"> void cbReceiveShardId </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>serviceId</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l00251">251</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00252 { +00253 <a class="code" href="a04558.html#a11">uint32</a> shardId; +00254 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>(shardId); +00255 +00256 <span class="keywordflow">if</span> (serviceName != <span class="stringliteral">"WS"</span>) +00257 { +00258 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"SERVICE: received unauthorized R_SH_ID callback from service %s-%d asking to set ShardId to %d"</span>, serviceName.c_str(), serviceId, shardId); +00259 <span class="keywordflow">return</span>; +00260 } +00261 +00262 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"SERVICE: set ShardId to %d"</span>, shardId); +00263 IService::getInstance()->_ShardId = shardId; +00264 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a159" doxytag="NLNET::cbRegister" ></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"> void cbRegister </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06089.html#l00085">85</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +References <a class="el" href="a06089.html#l00119">cbRegisterBroadcast()</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06089.html#l00083">Reason</a>, <a class="el" href="a06089.html#l00080">Registered</a>, <a class="el" href="a06089.html#l00082">RegisteredSID</a>, <a class="el" href="a06089.html#l00081">RegisteredSuccess</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00086 { +00087 <a class="code" href="a04199.html#a6">nlassert</a>(RegisteredSID != NULL); +00088 +00089 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (RegisteredSuccess); +00090 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a36">RegisteredSuccess</a>) +00091 { +00092 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (*RegisteredSID); +00093 +00094 <span class="comment">// decode the registered services at the register process</span> +00095 <a class="code" href="a05379.html#a161">cbRegisterBroadcast</a> (msgin, from, netbase); +00096 } +00097 <span class="keywordflow">else</span> +00098 { +00099 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>( Reason ); +00100 } +00101 <a class="code" href="a05379.html#a35">Registered</a> = <span class="keyword">true</span>; +00102 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a161" doxytag="NLNET::cbRegisterBroadcast" ></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"> void cbRegisterBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06089.html#l00119">119</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +References <a class="el" href="a06089.html#l00055">_RegistrationBroadcastCallback</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05979.html#l00423">NLMISC::CMemStream::serialCont()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05810.html#l00509">vectorCInetAddressToString()</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00085">cbRegister()</a>. +<p> +<div class="fragment"><pre>00120 { +00121 <a class="code" href="a05379.html#a93">TServiceId</a> <a class="code" href="a04223.html#a587">size</a>; +00122 string name; +00123 <a class="code" href="a05379.html#a93">TServiceId</a> sid; +00124 vector<CInetAddress> <a class="code" href="a04223.html#a657">addr</a>; +00125 +00126 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (size); +00127 +00128 <span class="keywordflow">for</span> (<a class="code" href="a05379.html#a93">TServiceId</a> i = 0; i < <a class="code" href="a04223.html#a587">size</a>; i++) +00129 { +00130 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00131 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (sid); +00132 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (addr); +00133 +00134 <span class="comment">// add it in the list</span> +00135 +00136 std::vector<CInetAddress> addrs; +00137 CNamingClient::find (sid, addrs); +00138 +00139 <span class="keywordflow">if</span> (addrs.size() == 0) +00140 { +00141 CNamingClient::RegisteredServicesMutex.enter (); +00142 CNamingClient::RegisteredServices.push_back (CNamingClient::CServiceEntry (name, sid, addr)); +00143 CNamingClient::RegisteredServicesMutex.leave (); +00144 +00145 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"NC: Registration Broadcast of the service %s-%hu '%s'"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid, <a class="code" href="a05379.html#a138">vectorCInetAddressToString</a>(addr).c_str()); +00146 +00147 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a33">_RegistrationBroadcastCallback</a> != NULL) +00148 <a class="code" href="a05379.html#a33">_RegistrationBroadcastCallback</a> (name, sid, addr); +00149 } +00150 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (addrs.size() == 1) +00151 { +00152 CNamingClient::RegisteredServicesMutex.enter (); +00153 <span class="keywordflow">for</span> (std::list<CNamingClient::CServiceEntry>::iterator it = CNamingClient::RegisteredServices.begin(); it != CNamingClient::RegisteredServices.end (); it++) +00154 { +00155 <span class="keywordflow">if</span> (sid == (*it).SId) +00156 { +00157 (*it).Name = name; +00158 (*it).Addr = <a class="code" href="a04223.html#a657">addr</a>; +00159 <span class="keywordflow">break</span>; +00160 } +00161 } +00162 CNamingClient::RegisteredServicesMutex.leave (); +00163 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"NC: Registration Broadcast (update) of the service %s-%hu '%s'"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid, <a class="code" href="a04223.html#a657">addr</a>[0].asString().c_str()); +00164 } +00165 <span class="keywordflow">else</span> +00166 { +00167 <a class="code" href="a04199.html#a12">nlstop</a>; +00168 } +00169 } +00170 +00171 <span class="comment">// FirstRegisteredBroadcast = true;</span> +00172 +00173 <span class="comment">//CNamingClient::displayRegisteredServices ();</span> +00174 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a218" doxytag="NLNET::cbServerAskUniversalTime" ></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"> void cbServerAskUniversalTime </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</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> + +<p> +Definition at line <a class="el" href="a06650.html#l00262">262</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +References <a class="el" href="a05810.html#l00385">NLNET::CInetAddress::asString()</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05527.html#l00129">NLNET::CCallbackNetBase::getSIDA()</a>, <a class="el" href="a05526.html#l00443">NLNET::CCallbackNetBase::hostAddress()</a>, <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a02306.html#NLNET_1_1CCallbackNetBasea19">NLNET::CCallbackNetBase::send()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a06553.html#l00047">NLMISC::TTime</a>. +<p> +<div class="fragment"><pre>00263 { +00264 <a class="code" href="a04199.html#a12">nlstop</a>; +00265 <a class="code" href="a05378.html#a242">TTime</a> ut = _CUniTime::getUniTime (); +00266 +00267 <span class="comment">// afficher l adresse de celui qui demande</span> +00268 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"UT: Send the universal time %"</span>NL_I64<span class="stringliteral">"d to '%s'"</span>, ut, netbase.hostAddress(from).asString().c_str()); +00269 +00270 <a class="code" href="a02918.html">CMessage</a> msgout (netbase.getSIDA(), <span class="stringliteral">"GUT"</span>); +00271 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (ut); +00272 netbase.send (msgout, from); +00273 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a100" doxytag="NLNET::cbServGetView" ></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"> void cbServGetView </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00112">112</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05391.html#l00386">serviceGetView()</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00113 { +00114 <a class="code" href="a04558.html#a11">uint32</a> rid; +00115 string rawvarpath; +00116 +00117 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (rid); +00118 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (rawvarpath); +00119 +00120 <a class="code" href="a05379.html#a4">Requests</a>.push_back (<a class="code" href="a03327.html">CRequest</a>(rid, sid)); +00121 +00122 vector<pair<vector<string>, vector<string> > > answer; +00123 <span class="comment">// just send the view in async mode, don't retrieve the answer</span> +00124 <a class="code" href="a05379.html#a113">serviceGetView</a> (rid, rawvarpath, answer, <span class="keyword">true</span>); +00125 <a class="code" href="a04199.html#a6">nlassert</a> (answer.empty()); +00126 +00127 <span class="comment">/*</span> +00128 <span class="comment"> CMessage msgout("VIEW");</span> +00129 <span class="comment"> msgout.serial(rid);</span> +00130 <span class="comment"> </span> +00131 <span class="comment"> for (uint i = 0; i < answer.size(); i++)</span> +00132 <span class="comment"> {</span> +00133 <span class="comment"> msgout.serialCont (answer[i].first);</span> +00134 <span class="comment"> msgout.serialCont (answer[i].second);</span> +00135 <span class="comment"> }</span> +00136 <span class="comment"> </span> +00137 <span class="comment"> CUnifiedNetwork::getInstance ()->send (sid, msgout);</span> +00138 <span class="comment"> nlinfo ("ADMIN: Sent result view to service '%s-%hu'", serviceName.c_str(), sid);</span> +00139 <span class="comment">*/</span> +00140 +00141 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a141" doxytag="NLNET::cbShardValidate" ></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"> void cbShardValidate </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05958.html#l00048">48</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +References <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05958.html#l00046">ShardValidate</a>, <a class="el" href="a05958.html#l00047">ShardValidateReason</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +<div class="fragment"><pre>00049 { +00050 <span class="comment">//</span> +00051 <span class="comment">// S14: receive "SV" message from FES</span> +00052 <span class="comment">//</span> +00053 +00054 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (ShardValidateReason); +00055 <a class="code" href="a05379.html#a17">ShardValidate</a> = <span class="keyword">true</span>; +00056 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a146" doxytag="NLNET::cbShardValidation" ></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"> void cbShardValidation </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00181">181</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05962.html#l00056">AcceptInvalidCookie</a>, <a class="el" href="a05810.html#l00385">NLNET::CInetAddress::asString()</a>, <a class="el" href="a05526.html#l00471">NLNET::CCallbackNetBase::authorizeOnly()</a>, <a class="el" href="a05527.html#l00138">NLNET::CCallbackNetBase::disconnect()</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05527.html#l00129">NLNET::CCallbackNetBase::getSIDA()</a>, <a class="el" href="a05961.html#l00105">NLNET::CLoginCookie::getUserId()</a>, <a class="el" href="a05526.html#l00443">NLNET::CCallbackNetBase::hostAddress()</a>, <a class="el" href="a05962.html#l00063">ModeTcp</a>, <a class="el" href="a05962.html#l00071">NewClientCallback</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a02306.html#NLNET_1_1CCallbackNetBasea19">NLNET::CCallbackNetBase::send()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05962.html#l00053">Server</a>, <a class="el" href="a05961.html#l00107">NLNET::CLoginCookie::set()</a>, <a class="el" href="a05961.html#l00095">NLNET::CLoginCookie::toString()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05962.html#l00069">UserIdSockAssociations</a>. +<p> +<div class="fragment"><pre>00182 { +00183 <span class="comment">//</span> +00184 <span class="comment">// S13: receive "SV" message from client</span> +00185 <span class="comment">//</span> +00186 +00187 <span class="comment">// the client send me a cookie</span> +00188 CLoginCookie cookie; +00189 string reason; +00190 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (cookie); +00191 +00192 string userName, userPriv; +00193 <span class="comment">// verify that the user was pending</span> +00194 reason = CLoginServer::isValidCookie (cookie, userName, userPriv); +00195 +00196 <span class="comment">// if the cookie is not valid and we accept them, clear the error</span> +00197 <span class="keywordflow">if</span>(<a class="code" href="a05379.html#a23">AcceptInvalidCookie</a> && !reason.empty()) +00198 { +00199 reason = <span class="stringliteral">""</span>; +00200 cookie.set (rand(), rand(), rand()); +00201 } +00202 +00203 <a class="code" href="a02918.html">CMessage</a> msgout2 (netbase.getSIDA (), <span class="stringliteral">"SV"</span>); +00204 msgout2.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (reason); +00205 netbase.send (msgout2, from); +00206 +00207 <span class="keywordflow">if</span> (!reason.empty()) +00208 { +00209 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LS: User (%s) is not in the pending user list (cookie:%s)"</span>, netbase.hostAddress(from).asString().c_str(), cookie.toString().c_str()); +00210 <span class="comment">// deconnect him</span> +00211 netbase.disconnect (from); +00212 } +00213 <span class="keywordflow">else</span> +00214 { +00215 <span class="comment">// add the user association</span> +00216 <a class="code" href="a04558.html#a11">uint32</a> userid = cookie.getUserId(); +00217 +00218 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a26">ModeTcp</a>) +00219 <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.insert (make_pair(userid, from)); +00220 +00221 <span class="comment">// identification OK, let's call the user callback</span> +00222 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a29">NewClientCallback</a> != NULL) +00223 <a class="code" href="a05379.html#a29">NewClientCallback</a> (from, cookie); +00224 +00225 <span class="comment">// ok, now, he can call all callback</span> +00226 <a class="code" href="a05379.html#a21">Server</a>-><a class="code" href="a02306.html#NLNET_1_1CCallbackServera1">authorizeOnly</a> (NULL, from); +00227 } +00228 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a198" doxytag="NLNET::cbSimVar" ></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"> void cbSimVar </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a06641.html#l00191">191</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>. +<p> +References <a class="el" href="a05597.html#l00058">NLMISC::CConfigFile::CVar::asInt()</a>, <a class="el" href="a05598.html#l00188">NLMISC::CConfigFile::CVar::Name</a>, and <a class="el" href="a05622.html#l00416">nlstop</a>. +<p> +Referenced by <a class="el" href="a06641.html#l00202">NLNET::CUdpSimSock::setSimValues()</a>. +<p> +<div class="fragment"><pre>00192 { +00193 <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimInLag"</span>) CUdpSimSock::_InLag = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00194 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimInPacketLost"</span>) CUdpSimSock::_InPacketLoss = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00195 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutLag"</span>) CUdpSimSock::_OutLag = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00196 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketLost"</span>) CUdpSimSock::_OutPacketLoss = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00197 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketDuplication"</span>) CUdpSimSock::_OutPacketDuplication = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00198 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a> == <span class="stringliteral">"SimOutPacketDisordering"</span>) CUdpSimSock::_OutPacketDisordering = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a> (); +00199 <span class="keywordflow">else</span> <a class="code" href="a04199.html#a12">nlstop</a>; +00200 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a131" doxytag="NLNET::cbsNewConnection" ></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"> void cbsNewConnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>data</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05528.html#l00045">45</a> of file <a class="el" href="a05528.html">callback_server.cpp</a>. +<p> +References <a class="el" href="a05529.html#l00100">NLNET::CCallbackServer::_ConnectionCallback</a>, <a class="el" href="a05529.html#l00101">NLNET::CCallbackServer::_ConnectionCbArg</a>, <a class="el" href="a05646.html#l01013">data</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +Referenced by <a class="el" href="a05528.html#l00070">NLNET::CCallbackServer::CCallbackServer()</a>. +<p> +<div class="fragment"><pre>00046 { +00047 <a class="code" href="a04199.html#a6">nlassert</a> (data != NULL); +00048 CCallbackServer *server = (CCallbackServer *)<a class="code" href="a04223.html#a637">data</a>; +00049 +00050 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"LNETL3S: newConnection()"</span>); +00051 +00052 <span class="preprocessor">#ifdef USE_MESSAGE_RECORDER</span> +00053 <span class="preprocessor"></span> <span class="comment">// Record connection</span> +00054 server->noticeConnection( from ); +00055 <span class="preprocessor">#endif</span> +00056 <span class="preprocessor"></span> +00057 <span class="comment">// send all my association to the new client</span> +00058 <span class="comment">// association are disactivated so we don t need to send them</span> +00059 <span class="comment">// server->sendAllMyAssociations (from);</span> +00060 +00061 <span class="comment">// call the client callback if necessary</span> +00062 <span class="keywordflow">if</span> (server->_ConnectionCallback != NULL) +00063 server->_ConnectionCallback (from, server->_ConnectionCbArg); +00064 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a103" doxytag="NLNET::cbStopService" ></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"> void cbStopService </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00162">162</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00163 { +00164 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Receive a stop from service %s-%d, need to quit"</span>, serviceName.c_str(), sid); +00165 IService::getInstance()->exit (0xFFFF); +00166 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a194" doxytag="NLNET::cbTCReceiveMessage" ></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"> void cbTCReceiveMessage </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06580.html#l00254">254</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00255 { +00256 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: cbReceiveMessage"</span>); +00257 +00258 CTransportClass::TempMessage.clear(); +00259 CTransportClass::TempMessage.assignFromSubMessage( msgin ); +00260 +00261 string className; +00262 CTransportClass::TempMessage.serial (className); +00263 +00264 CTransportClass::TRegisteredClass::iterator it = CTransportClass::LocalRegisteredClass.find (className); +00265 <span class="keywordflow">if</span> (it == CTransportClass::LocalRegisteredClass.end ()) +00266 { +00267 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NETTC: Receive unknown transport class '%s' received from %s-%hu"</span>, className.c_str(), name.c_str(), sid); +00268 <span class="keywordflow">return</span>; +00269 } +00270 +00271 <a class="code" href="a04199.html#a6">nlassert</a> ((*it).second.Instance != NULL); +00272 +00273 <span class="keywordflow">if</span> (!(*it).second.Instance->read (name, (<a class="code" href="a04558.html#a7">uint8</a>)sid)) +00274 { +00275 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NETTC: Can't read the transportclass '%s' received from %s-%hu"</span>, className.c_str(), name.c_str(), sid); +00276 } +00277 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a195" doxytag="NLNET::cbTCReceiveOtherSideClass" ></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"> void cbTCReceiveOtherSideClass </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06580.html#l00279">279</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a06462.html#l00261">NLMISC::IStream::serialEnum()</a>, <a class="el" href="a06580.html#l00077">typeToString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>00280 { +00281 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: cbReceiveOtherSideClass"</span>); +00282 +00283 CTransportClass::TOtherSideRegisteredClass osrc; +00284 +00285 <a class="code" href="a04558.html#a11">uint32</a> nbClass; +00286 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (nbClass); +00287 +00288 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: %d class"</span>, nbClass); +00289 +00290 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < nbClass; i++) +00291 { +00292 string className; +00293 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (className); +00294 +00295 osrc.push_back(make_pair (className, vector<CTransportClass::CRegisteredBaseProp>())); +00296 +00297 <a class="code" href="a04558.html#a11">uint32</a> nbProp; +00298 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (nbProp); +00299 +00300 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: %s (%d prop)"</span>, className.c_str(), nbProp); +00301 +00302 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < nbProp; j++) +00303 { +00304 CTransportClass::CRegisteredBaseProp prop; +00305 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (prop.Name); +00306 msgin.<a class="code" href="a02270.html#NLMISC_1_1IStreama7">serialEnum</a> (prop.Type); +00307 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: %s %s"</span>, prop.Name.c_str(), <a class="code" href="a05379.html#a193">typeToString</a>(prop.Type).c_str()); +00308 osrc[osrc.size()-1].second.push_back (prop); +00309 } +00310 } +00311 +00312 <span class="comment">// we have the good structure</span> +00313 CTransportClass::registerOtherSideClass ((<a class="code" href="a04558.html#a7">uint8</a>)sid, osrc); +00314 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a196" doxytag="NLNET::cbTCUpService" ></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"> void cbTCUpService </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06580.html#l00322">322</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a06580.html#l00330">NLNET::CTransportClass::init()</a>. +<p> +<div class="fragment"><pre>00323 { +00324 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"NETTC: CTransportClass Service %s %d is up"</span>, serviceName.c_str(), sid); +00325 <span class="keywordflow">if</span> (sid >= 256) +00326 <span class="keywordflow">return</span>; +00327 CTransportClass::sendLocalRegisteredClass ((<a class="code" href="a04558.html#a7">uint8</a>)sid); +00328 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a162" doxytag="NLNET::cbUnregisterBroadcast" ></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"> void cbUnregisterBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06089.html#l00178">178</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +References <a class="el" href="a06089.html#l00056">_UnregistrationBroadcastCallback</a>, <a class="el" href="a05622.html#l00333">nlassertex</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00179 { +00180 string name; +00181 <a class="code" href="a05379.html#a93">TServiceId</a> sid; +00182 vector<CInetAddress> addrs; +00183 +00184 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00185 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (sid); +00186 +00187 <span class="comment">// remove it in the list, if the service is not found, ignore it</span> +00188 +00189 CNamingClient::RegisteredServicesMutex.enter (); +00190 <span class="keywordflow">for</span> (std::list<CNamingClient::CServiceEntry>::iterator it = CNamingClient::RegisteredServices.begin(); it != CNamingClient::RegisteredServices.end (); it++) +00191 { +00192 <span class="keywordflow">if</span> ((*it).SId == sid) +00193 { +00194 <span class="comment">// check the structure</span> +00195 <a class="code" href="a04199.html#a8">nlassertex</a> ((*it).Name == name, (<span class="stringliteral">"%s %s"</span>,(*it).Name.c_str(), name.c_str())); +00196 +00197 addrs = (*it).Addr; +00198 +00199 CNamingClient::RegisteredServices.erase (it); +00200 <span class="keywordflow">break</span>; +00201 } +00202 } +00203 CNamingClient::RegisteredServicesMutex.leave (); +00204 +00205 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"NC: Unregistration Broadcast of the service %s-%hu"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid); +00206 +00207 <span class="comment">// send the ACK to the NS</span> +00208 +00209 <a class="code" href="a02918.html">CMessage</a> msgout (CNamingClient::_Connection->getSIDA(), <span class="stringliteral">"ACK_UNI"</span>); +00210 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (sid); +00211 CNamingClient::_Connection->send (msgout); +00212 +00213 <span class="comment">// oh my god, it s my sid! but i m alive, why this f*cking naming service want to kill me? ok, i leave it alone!</span> +00214 <span class="keywordflow">if</span>(CNamingClient::_MySId == sid) +00215 { +00216 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NC: Naming Service asked me to leave, I leave!"</span>); +00217 IService::getInstance()->exit(); +00218 <span class="keywordflow">return</span>; +00219 } +00220 +00221 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a34">_UnregistrationBroadcastCallback</a> != NULL) +00222 <a class="code" href="a05379.html#a34">_UnregistrationBroadcastCallback</a> (name, sid, addrs); +00223 +00224 <span class="comment">//CNamingClient::displayRegisteredServices ();</span> +00225 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a144" doxytag="NLNET::cbWSChooseShard" ></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"> void cbWSChooseShard </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00100">100</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05962.html#l00054">ListenAddr</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05962.html#l00051">PendingUsers</a>, <a class="el" href="a05962.html#l00079">refreshPendingList()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05961.html#l00095">NLNET::CLoginCookie::toString()</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>00101 { +00102 <span class="comment">// the WS call me that a new client want to come in my shard</span> +00103 string reason, userName, userPriv; +00104 CLoginCookie cookie; +00105 +00106 <a class="code" href="a05379.html#a143">refreshPendingList</a> (); +00107 +00108 <span class="comment">//</span> +00109 <span class="comment">// S08: receive "CS" message from WS and send "SCS" message to WS</span> +00110 <span class="comment">//</span> +00111 +00112 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (cookie); +00113 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (userName, userPriv); +00114 +00115 <a class="code" href="a03889.html">list<CPendingUser></a>::iterator it; +00116 <span class="keywordflow">for</span> (it = <a class="code" href="a05379.html#a20">PendingUsers</a>.begin(); it != <a class="code" href="a05379.html#a20">PendingUsers</a>.end (); it++) +00117 { +00118 <span class="keywordflow">if</span> ((*it).Cookie == cookie) +00119 { +00120 <span class="comment">// the cookie already exists, erase it and return false</span> +00121 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LS: Cookie %s is already in the pending user list"</span>, cookie.toString().c_str()); +00122 <a class="code" href="a05379.html#a20">PendingUsers</a>.erase (it); +00123 reason = <span class="stringliteral">"cookie already exists"</span>; +00124 <span class="keywordflow">break</span>; +00125 } +00126 } +00127 <span class="keywordflow">if</span> (it == <a class="code" href="a05379.html#a20">PendingUsers</a>.end ()) +00128 { +00129 <span class="comment">// add it to the awaiting client</span> +00130 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"LS: New cookie %s (name '%s' priv '%s') inserted in the pending user list (awaiting new client)"</span>, cookie.toString().c_str(), userName.c_str(), userPriv.c_str()); +00131 <a class="code" href="a05379.html#a20">PendingUsers</a>.push_back (CPendingUser (cookie, userName, userPriv)); +00132 reason = <span class="stringliteral">""</span>; +00133 } +00134 +00135 <a class="code" href="a02918.html">CMessage</a> msgout (<span class="stringliteral">"SCS"</span>); +00136 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (reason); +00137 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (cookie); +00138 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (ListenAddr); +00139 CUnifiedNetwork::getInstance()->send (<span class="stringliteral">"WS"</span>, msgout); +00140 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a145" doxytag="NLNET::cbWSDisconnectClient" ></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"> void cbWSDisconnectClient </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</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>serviceName</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> </td> + <td class="mdname" nowrap> <em>sid</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00142">142</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05528.html#l00246">NLNET::CCallbackServer::disconnect()</a>, <a class="el" href="a05962.html#l00060">DisconnectClientCallback</a>, <a class="el" href="a05962.html#l00063">ModeTcp</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05962.html#l00053">Server</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05962.html#l00069">UserIdSockAssociations</a>. +<p> +<div class="fragment"><pre>00143 { +00144 <span class="comment">// the WS tells me that i have to disconnect a client</span> +00145 +00146 <a class="code" href="a04558.html#a11">uint32</a> userid; +00147 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (userid); +00148 +00149 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a26">ModeTcp</a>) +00150 { +00151 map<uint32, TSockId>::iterator it = <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.find (userid); +00152 <span class="keywordflow">if</span> (it == <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.end ()) +00153 { +00154 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LS: Can't disconnect the user %d, he is not found"</span>, userid); +00155 } +00156 <span class="keywordflow">else</span> +00157 { +00158 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"LS: Disconnect the user %d"</span>, userid); +00159 <a class="code" href="a05379.html#a21">Server</a>-><a class="code" href="a02307.html#NLNET_1_1CCallbackServera7">disconnect</a> ((*it).second); +00160 } +00161 } +00162 +00163 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a25">DisconnectClientCallback</a> != NULL) +00164 { +00165 <a class="code" href="a05379.html#a25">DisconnectClientCallback</a> (userid); +00166 } +00167 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a151" doxytag="NLNET::cfcbAcceptInvalidCookie" ></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"> void cfcbAcceptInvalidCookie </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05962.html#l00272">272</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05962.html#l00056">AcceptInvalidCookie</a>, <a class="el" href="a05597.html#l00058">NLMISC::CConfigFile::CVar::asInt()</a>, and <a class="el" href="a05622.html#l00111">nlinfo</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00295">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00273 { +00274 <span class="comment">// set the new ListenAddr</span> +00275 <a class="code" href="a05379.html#a23">AcceptInvalidCookie</a> = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a>() == 1; +00276 +00277 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"LS: This service %saccept invalid cookie"</span>, AcceptInvalidCookie?<span class="stringliteral">""</span>:<span class="stringliteral">"doesn't "</span>); +00278 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a150" doxytag="NLNET::cfcbDefaultUserPriv" ></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"> void cfcbDefaultUserPriv </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05962.html#l00264">264</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, <a class="el" href="a05962.html#l00058">DefaultUserPriv</a>, and <a class="el" href="a05622.html#l00111">nlinfo</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00295">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00265 { +00266 <span class="comment">// set the new ListenAddr</span> +00267 <a class="code" href="a05379.html#a24">DefaultUserPriv</a> = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>(); +00268 +00269 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"LS: The default user priv is '%s'"</span>, <a class="code" href="a05379.html#a24">DefaultUserPriv</a>.c_str()); +00270 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a149" doxytag="NLNET::cfcbListenAddress" ></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"> void cfcbListenAddress </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05962.html#l00259">259</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, and <a class="el" href="a05962.html#l00244">setListenAddress()</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00295">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00260 { +00261 <a class="code" href="a05379.html#a148">setListenAddress</a> (var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>()); +00262 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a152" doxytag="NLNET::cfcbTimeBeforeEraseCookie" ></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"> void cfcbTimeBeforeEraseCookie </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05962.html#l00280">280</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05597.html#l00058">NLMISC::CConfigFile::CVar::asInt()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05962.html#l00066">TimeBeforeEraseCookie</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00295">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00281 { +00282 <span class="comment">// set the new ListenAddr</span> +00283 <a class="code" href="a05379.html#a27">TimeBeforeEraseCookie</a> = var.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_2">asInt</a>(); +00284 +00285 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"LS: This service will remove cookie after %d seconds"</span>, TimeBeforeEraseCookie); +00286 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a111" doxytag="NLNET::cleanRequest" ></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"> void cleanRequest </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> + +<p> +Definition at line <a class="el" href="a05391.html#l00310">310</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05943.html#l00467">NLMISC::CLog::displayRaw()</a>, <a class="el" href="a05943.html#l00442">NLMISC::CLog::displayRawNL()</a>, <a class="el" href="a05621.html#l00091">NLMISC::InfoLog</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05391.html#l00093">RequestTimeout</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05979.html#l00423">NLMISC::CMemStream::serialCont()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00648">updateAdmin()</a>. +<p> +<div class="fragment"><pre>00311 { +00312 <a class="code" href="a04558.html#a11">uint32</a> currentTime = CTime::getSecondsSince1970 (); +00313 +00314 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i < <a class="code" href="a05379.html#a4">Requests</a>.size ();) +00315 { +00316 <span class="comment">// timeout</span> +00317 <span class="keywordflow">if</span> (currentTime >= <a class="code" href="a05379.html#a4">Requests</a>[i].Time+<a class="code" href="a05379.html#a5">RequestTimeout</a>) +00318 { +00319 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: **** i %d rid %d -> Requests[i].NbWaiting (%d) != Requests[i].NbReceived (%d)"</span>, i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); +00320 <a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting = <a class="code" href="a05379.html#a4">Requests</a>[i].NbReceived; +00321 } +00322 +00323 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting <= <a class="code" href="a05379.html#a4">Requests</a>[i].NbReceived) +00324 { +00325 <span class="comment">// the request is over, send to the php</span> +00326 +00327 <a class="code" href="a02918.html">CMessage</a> msgout(<span class="stringliteral">"VIEW"</span>); +00328 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (Requests[i].Id); +00329 +00330 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < <a class="code" href="a05379.html#a4">Requests</a>[i].Answers.size (); j++) +00331 { +00332 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (Requests[i].Answers[j].first); +00333 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea54">serialCont</a> (Requests[i].Answers[j].second); +00334 } +00335 +00336 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].SId == 0) +00337 { +00338 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Receive an answer for the fake request %d with %d answers"</span>, Requests[i].Id, Requests[i].Answers.size ()); +00339 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < <a class="code" href="a05379.html#a4">Requests</a>[i].Answers.size (); j++) +00340 { +00341 <a class="code" href="a04558.html#a15">uint</a> k; +00342 <span class="keywordflow">for</span> (k = 0; k < <a class="code" href="a05379.html#a4">Requests</a>[i].Answers[j].first.size(); k++) +00343 { +00344 <a class="code" href="a05378.html#a12">InfoLog</a>->displayRaw (<span class="stringliteral">"%-10s"</span>, Requests[i].Answers[j].first[k].c_str()); +00345 } +00346 <a class="code" href="a05378.html#a12">InfoLog</a>->displayRawNL(<span class="stringliteral">""</span>); +00347 <span class="keywordflow">for</span> (k = 0; k < <a class="code" href="a05379.html#a4">Requests</a>[i].Answers[j].second.size(); k++) +00348 { +00349 <a class="code" href="a05378.html#a12">InfoLog</a>->displayRaw (<span class="stringliteral">"%-10s"</span>, Requests[i].Answers[j].second[k].c_str()); +00350 } +00351 <a class="code" href="a05378.html#a12">InfoLog</a>->displayRawNL(<span class="stringliteral">""</span>); +00352 <a class="code" href="a05378.html#a12">InfoLog</a>->displayRawNL(<span class="stringliteral">"-------------------------"</span>); +00353 } +00354 } +00355 <span class="keywordflow">else</span> +00356 { +00357 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: The request is over, send the result to AES"</span>); +00358 CUnifiedNetwork::getInstance ()->send (Requests[i].SId, msgout); +00359 } +00360 +00361 <span class="comment">// set to 0 to erase it</span> +00362 <a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting = 0; +00363 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"ADMIN: ++ i %d rid %d NbWaiting0 %d NbReceived %d"</span>, i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); +00364 } +00365 +00366 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting == 0) +00367 { +00368 <a class="code" href="a05379.html#a4">Requests</a>.erase (<a class="code" href="a05379.html#a4">Requests</a>.begin ()+i); +00369 } +00370 <span class="keywordflow">else</span> +00371 { +00372 i++; +00373 } +00374 } +00375 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a147" doxytag="NLNET::ClientConnection" ></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"> void ClientConnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00230">230</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05526.html#l00471">NLNET::CCallbackNetBase::authorizeOnly()</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05962.html#l00053">Server</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00231 { +00232 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"LS: new client connection: %s"</span>, <a class="code" href="a05333.html#a132">from</a>->asString ().c_str ()); +00233 +00234 <span class="comment">// the client could only call "SV" message</span> +00235 <a class="code" href="a05379.html#a21">Server</a>-><a class="code" href="a02306.html#NLNET_1_1CCallbackServera1">authorizeOnly</a> (<span class="stringliteral">"SV"</span>, from); +00236 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a205" doxytag="NLNET::createMessage" ></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"> bool createMessage </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgout</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< string > & </td> + <td class="mdname" nowrap> <em>args</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CLog & </td> + <td class="mdname" nowrap> <em>log</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01892">1892</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a05943.html#l00323">NLMISC::CLog::displayNL()</a>, <a class="el" href="a05673.html#l00488">NLMISC::CEntityId::fromString()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05981.html#l00101">sint64</a>, <a class="el" href="a05981.html#l00095">sint8</a>, <a class="el" href="a05646.html#l00244">type</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00102">uint64</a>, <a class="el" href="a05981.html#l00096">uint8</a>, <a class="el" href="a05646.html#l00237">v</a>, and <a class="el" href="a05646.html#l01132">value</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01983">NLMISC_COMMAND()</a>. +<p> +<div class="fragment"><pre>01893 { +01894 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 2; i < args.size (); i+=2) +01895 { +01896 string <a class="code" href="a04223.html#a581">type</a> = args[i+0]; +01897 string <a class="code" href="a04223.html#a658">value</a> = args[i+1]; +01898 +01899 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"s8"</span>) { <a class="code" href="a04558.html#a6">sint8</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01900 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"s16"</span>) { <a class="code" href="a04558.html#a8">sint16</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01901 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"s32"</span>) { <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01902 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"s64"</span>) { <a class="code" href="a04558.html#a12">sint64</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01903 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"u8"</span>) { <a class="code" href="a04558.html#a7">uint8</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01904 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"u16"</span>) { <a class="code" href="a04558.html#a9">uint16</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01905 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"u32"</span>) { <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01906 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"u64"</span>) { <a class="code" href="a04558.html#a13">uint64</a> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01907 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"f"</span>) { <span class="keywordtype">float</span> <a class="code" href="a04223.html#a576">v</a> = (<span class="keywordtype">float</span>)atof(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01908 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"d"</span>) { <span class="keywordtype">double</span> <a class="code" href="a04223.html#a576">v</a> = atof(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01909 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"b"</span>) { <span class="keywordtype">bool</span> <a class="code" href="a04223.html#a576">v</a> = atoi(<a class="code" href="a04223.html#a658">value</a>.c_str()) == 1; msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (v); } +01910 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"s"</span>) { msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (value); } +01911 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> == <span class="stringliteral">"e"</span>) { <a class="code" href="a02189.html">CEntityId</a> e; e.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta6">fromString</a>(<a class="code" href="a04223.html#a658">value</a>.c_str()); msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>(e); } +01912 <span class="keywordflow">else</span> { log.displayNL (<span class="stringliteral">"type '%s' is not a valid type"</span>, <a class="code" href="a04223.html#a581">type</a>.c_str()); <span class="keywordflow">return</span> <span class="keyword">false</span>; } +01913 } +01914 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01915 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a110" doxytag="NLNET::emptyRequest" ></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"> bool emptyRequest </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>rid</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00298">298</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00299 { +00300 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i < <a class="code" href="a05379.html#a4">Requests</a>.size (); i++) +00301 { +00302 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].Id == rid && <a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting != 0) +00303 { +00304 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00305 } +00306 } +00307 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00308 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a157" doxytag="NLNET::EventToString" ></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::EventToString </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TNetworkEvent </td> + <td class="mdname1" valign="top" nowrap> <em>e</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +TNetworkEvent -> string. +<p> + +<p> +Definition at line <a class="el" href="a06028.html#l00039">39</a> of file <a class="el" href="a06028.html">message_recorder.cpp</a>. +<p> +References <a class="el" href="a05379.html#a225a90">Accepting</a>, <a class="el" href="a05379.html#a225a88">Connecting</a>, <a class="el" href="a05379.html#a225a89">ConnFailing</a>, <a class="el" href="a05379.html#a225a91">Disconnecting</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05379.html#a225a87">Receiving</a>, and <a class="el" href="a05379.html#a225a86">Sending</a>. +<p> +Referenced by <a class="el" href="a06028.html#l00308">NLNET::CMessageRecorder::checkNextOne()</a>, and <a class="el" href="a06029.html#l00072">NLNET::TMessageRecord::serial()</a>. +<p> +<div class="fragment"><pre>00040 { +00041 <span class="keywordflow">switch</span> ( e ) +00042 { +00043 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a86">Sending</a>: <span class="keywordflow">return</span> <span class="stringliteral">"SEND"</span>; +00044 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a87">Receiving</a>: <span class="keywordflow">return</span> <span class="stringliteral">"RECV"</span>; +00045 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a88">Connecting</a>: <span class="keywordflow">return</span> <span class="stringliteral">"CONN"</span>; +00046 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a89">ConnFailing</a>: <span class="keywordflow">return</span> <span class="stringliteral">"CNFL"</span>; +00047 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a90">Accepting</a>: <span class="keywordflow">return</span> <span class="stringliteral">"ACCP"</span>; +00048 <span class="keywordflow">case</span> <a class="code" href="a05379.html#a225a91">Disconnecting</a>: <span class="keywordflow">return</span> <span class="stringliteral">"DISC"</span>; +00049 <span class="keywordflow">default</span>: <a class="code" href="a04199.html#a12">nlstop</a>; <span class="keywordflow">return</span> <span class="stringliteral">"-ERR-"</span>; +00050 } +00051 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a197" doxytag="NLNET::getNameOfMessageOrTransportClass" ></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"> void NLNET::getNameOfMessageOrTransportClass </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">NLNET::CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::string & </td> + <td class="mdname" nowrap> <em>msgName</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Get the name of message (for displaying), or extract the class name if it is a transport class.<p> +Preconditions:<ul> +<li>msgin is an input message that contains a valid message</li></ul> +<p> +Postconditions:<ul> +<li>msgin.getPos() was modified</li><li>msgName contains "msg %s" or "transport class %s" where s is the name of message, or the name transport class is the message is a CT_MSG </li></ul> + +<p> +Definition at line <a class="el" href="a06580.html#l00414">414</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +References <a class="el" href="a06026.html#l00309">NLNET::CMessage::getHeaderSize()</a>, <a class="el" href="a06026.html#l00411">NLNET::CMessage::getName()</a>, <a class="el" href="a05978.html#l00177">NLMISC::CMemStream::seek()</a>, and <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>. +<p> +<div class="fragment"><pre>00415 { +00416 <span class="keywordflow">if</span> ( msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a>() == <span class="stringliteral">"CT_MSG"</span> ) +00417 { +00418 <span class="keywordflow">try</span> +00419 { +00420 msgin.<a class="code" href="a02271.html#NLMISC_1_1CStringStreama22">seek</a>( msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea14">getHeaderSize</a>(), <a class="code" href="a02270.html#NLMISC_1_1IStreamz2036_0NLMISC_1_1IStreamw0">NLMISC::IStream::begin</a> ); +00421 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>( msgName ); +00422 } +00423 <span class="keywordflow">catch</span> ( EStreamOverflow& ) +00424 { +00425 msgName = <span class="stringliteral">"<Name not found>"</span>; +00426 } +00427 msgName = <span class="stringliteral">"transport class "</span> + msgName; +00428 } +00429 <span class="keywordflow">else</span> +00430 { +00431 msgName = <span class="stringliteral">"msg "</span> + msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a>(); +00432 } +00433 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a115" doxytag="NLNET::initAdmin" ></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"> void NLNET::initAdmin </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>dontUseAES</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05391.html#l00636">636</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05391.html#l00169">cbAESConnection()</a>, and <a class="el" href="a05391.html#l00191">cbAESDisconnection()</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00637 { +00638 <span class="keywordflow">if</span> (!dontUseAES) +00639 { +00640 CUnifiedNetwork::getInstance()->setServiceUpCallback (<span class="stringliteral">"AES"</span>, cbAESConnection, NULL); +00641 CUnifiedNetwork::getInstance()->setServiceDownCallback (<span class="stringliteral">"AES"</span>, cbAESDisconnection, NULL); +00642 CUnifiedNetwork::getInstance()->addService (<span class="stringliteral">"AES"</span>, <a class="code" href="a02665.html">CInetAddress</a>(<span class="stringliteral">"localhost:49997"</span>)); +00643 } +00644 CUnifiedNetwork::getInstance()->addCallbackArray (CallbackArray, <span class="keyword">sizeof</span>(CallbackArray)/<span class="keyword">sizeof</span>(CallbackArray[0])); +00645 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a174" doxytag="NLNET::initSignal" ></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"> void initSignal </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> + +<p> +Definition at line <a class="el" href="a06364.html#l00211">211</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05586.html#l00093">NLMISC::getThreadId()</a>, <a class="el" href="a06364.html#l00164">sigHandler()</a>, and <a class="el" href="a06364.html#l00126">SignalisedThread</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00212 { +00213 <a class="code" href="a05379.html#a49">SignalisedThread</a> = <a class="code" href="a05378.html#a257">getThreadId</a> (); +00214 <span class="preprocessor">#ifdef NL_DEBUG</span> +00215 <span class="preprocessor"></span> <span class="comment">// in debug mode, we only trap the SIGINT signal</span> +00216 signal(Signal[3], sigHandler); +00217 <span class="comment">//nldebug("Signal : %s (%d) trapped", SignalName[3], Signal[3]);</span> +00218 <span class="preprocessor">#else</span> +00219 <span class="preprocessor"></span> <span class="comment">// in release, redirect all signals</span> +00220 <span class="comment">/* don't redirect now because to hard to debug...</span> +00221 <span class="comment"> for (int i = 0; i < (int)(sizeof(Signal)/sizeof(Signal[0])); i++)</span> +00222 <span class="comment"> {</span> +00223 <span class="comment"> signal(Signal[i], sigHandler);</span> +00224 <span class="comment"> nldebug("Signal %s (%d) trapped", SignalName[i], Signal[i]);</span> +00225 <span class="comment"> }</span> +00226 <span class="comment">*/</span> +00227 <span class="preprocessor">#endif</span> +00228 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a140" doxytag="NLNET::internalIPAddressToString" ></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"> std::string NLNET::internalIPAddressToString </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>addr</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Take an internal address and convert it to a internet dot string. +<p> + +<p> +Definition at line <a class="el" href="a05810.html#l00527">527</a> of file <a class="el" href="a05810.html">inet_address.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01759">NLNET::CUnifiedNetwork::addNetworkAssociation()</a>, and <a class="el" href="a06645.html#l01599">NLNET::CUnifiedNetwork::displayInternalTables()</a>. +<p> +<div class="fragment"><pre>00528 { +00529 string <a class="code" href="a04223.html#a643">res</a>; +00530 <a class="code" href="a04223.html#a643">res</a> = <a class="code" href="a05378.html#a244">toString</a>((addr)&0xFF); +00531 <a class="code" href="a04223.html#a643">res</a> += <span class="stringliteral">"."</span>; +00532 <a class="code" href="a04223.html#a643">res</a> += <a class="code" href="a05378.html#a244">toString</a>((addr>>8)&0xFF); +00533 <a class="code" href="a04223.html#a643">res</a> += <span class="stringliteral">"."</span>; +00534 <a class="code" href="a04223.html#a643">res</a> += <a class="code" href="a05378.html#a244">toString</a>((addr>>16)&0xFF); +00535 <a class="code" href="a04223.html#a643">res</a> += <span class="stringliteral">"."</span>; +00536 <a class="code" href="a04223.html#a643">res</a> += <a class="code" href="a05378.html#a244">toString</a>((addr>>24)&0xFF); +00537 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>; +00538 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a112" doxytag="NLNET::isRemoteCommand" ></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"> bool isRemoteCommand </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string & </td> + <td class="mdname1" valign="top" nowrap> <em>str</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05391.html#l00378">378</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00386">serviceGetView()</a>. +<p> +<div class="fragment"><pre>00379 { +00380 <span class="keywordflow">if</span> (str.size()<2) <span class="keywordflow">return</span> <span class="keyword">false</span>; +00381 <span class="keywordflow">return</span> tolower(str[0]) == <span class="charliteral">'r'</span> && tolower(str[1]) == <span class="charliteral">'c'</span>; +00382 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a169" doxytag="NLNET::NetSpeedLoop" ></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"> <a class="el" href="a03646.html">CVariable</a><<a class="el" href="a04558.html#a10">sint32</a>> NetSpeedLoop </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">"NetSpeedLoop" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"duration of the last user loop(<a class="el" href="a04223.html#a647">in</a> ms)" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>10 </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>false </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a125" doxytag="NLNET::nettrace_mutex" ></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"> NLMISC::CMutex nettrace_mutex </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">"nettrace_mutex" </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a216" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">isServiceLocal </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Says if a service is local or not compare with this service" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"< sid >|< service name >" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l02156">2156</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00448">NLNET::CUnifiedNetwork::_SId</a>, <a class="el" href="a06645.html#l01420">NLNET::CUnifiedNetwork::isServiceLocal()</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>02157 { +02158 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>; +02159 +02160 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +02161 { +02162 log.displayNL(<span class="stringliteral">"Can't do that because the service doesn't use CUnifiedNetwork"</span>); +02163 <span class="keywordflow">return</span> <span class="keyword">false</span>; +02164 } +02165 +02166 <a class="code" href="a04558.html#a9">uint16</a> sid = atoi (args[0].c_str ()); +02167 <span class="keywordflow">if</span> (sid > 0) +02168 { +02169 log.displayNL (<span class="stringliteral">"Service %s-%hu and sid %s are %son the same computer"</span>, CUnifiedNetwork::getInstance ()->_Name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)CUnifiedNetwork::getInstance ()->_SId, args[0].c_str(), CUnifiedNetwork::getInstance ()->isServiceLocal (sid)?<span class="stringliteral">""</span>:<span class="stringliteral">"not "</span>); +02170 } +02171 <span class="keywordflow">else</span> +02172 { +02173 log.displayNL (<span class="stringliteral">"Service %s-%hu and %s are %son the same computer"</span>, CUnifiedNetwork::getInstance ()->_Name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)CUnifiedNetwork::getInstance ()->_SId, args[0].c_str(), CUnifiedNetwork::getInstance ()->isServiceLocal (args[0])?<span class="stringliteral">""</span>:<span class="stringliteral">"not "</span>); +02174 } +02175 +02176 <span class="keywordflow">return</span> <span class="keyword">true</span>; +02177 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a215" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">l5Callback </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Displays all callback registered <a class="el" href="a04223.html#a647">in</a> layer5" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l02136">2136</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00454">NLNET::CUnifiedNetwork::_Callbacks</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>02137 { +02138 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +02139 +02140 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +02141 { +02142 log.displayNL(<span class="stringliteral">"Can't display internal table because layer5 is not used"</span>); +02143 <span class="keywordflow">return</span> <span class="keyword">false</span>; +02144 } +02145 +02146 log.displayNL (<span class="stringliteral">"There're %d registered callbacks:"</span>, CUnifiedNetwork::getInstance()->_Callbacks.size()); +02147 <a class="code" href="a04558.html#a15">uint</a> i = 0; +02148 <span class="keywordflow">for</span> (CUnifiedNetwork::TMsgMappedCallback::iterator it = CUnifiedNetwork::getInstance()->_Callbacks.begin(); it != CUnifiedNetwork::getInstance()->_Callbacks.end(); it++) +02149 { +02150 log.displayNL (<span class="stringliteral">" %d '%s' %s"</span>, i++, (*it).first.c_str(), ((*it).second == NULL?<span class="stringliteral">"have a NULL address"</span>:<span class="stringliteral">""</span>)); +02151 } +02152 +02153 <span class="keywordflow">return</span> <span class="keyword">true</span>; +02154 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a214" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">l5InternalTables </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Displays internal table of network layer5" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l02121">2121</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01599">NLNET::CUnifiedNetwork::displayInternalTables()</a>. +<p> +<div class="fragment"><pre>02122 { +02123 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +02124 +02125 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +02126 { +02127 log.displayNL(<span class="stringliteral">"Can't display internal table because layer5 is not used"</span>); +02128 <span class="keywordflow">return</span> <span class="keyword">false</span>; +02129 } +02130 +02131 CUnifiedNetwork::getInstance ()->displayInternalTables(&log); +02132 +02133 <span class="keywordflow">return</span> <span class="keyword">true</span>; +02134 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a213" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">l5QueuesStats </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Displays queues stats of network layer5" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l02098">2098</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00424">NLNET::CUnifiedNetwork::_IdCnx</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>02099 { +02100 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +02101 +02102 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +02103 { +02104 log.displayNL(<span class="stringliteral">"Can't display internal table because layer5 is not used"</span>); +02105 <span class="keywordflow">return</span> <span class="keyword">false</span>; +02106 } +02107 +02108 log.displayNL (<span class="stringliteral">"%u Unified Connections:"</span>, CUnifiedNetwork::getInstance()->_IdCnx.size ()); +02109 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < CUnifiedNetwork::getInstance()->_IdCnx.size (); i++) +02110 { +02111 <span class="keywordflow">if</span>(CUnifiedNetwork::getInstance()->_IdCnx[i].State != CUnifiedNetwork::CUnifiedConnection::NotUsed) +02112 { +02113 CUnifiedNetwork::getInstance()->_IdCnx[i].display (<span class="keyword">true</span>, &log); +02114 } +02115 } +02116 +02117 <span class="keywordflow">return</span> <span class="keyword">true</span>; +02118 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a212" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">msgout </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Send a message to a specified service(ex:msgout 128 REGISTER u32 10 b 1 f 1.5)" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"< ServiceName >|< ServiceId >< MessageName > *" </td> + <td class="mdname" nowrap>[< ParamType >< Param >]</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l02048">2048</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01892">createMessage()</a>, <a class="el" href="a06645.html#l01335">NLNET::CUnifiedNetwork::getNetBase()</a>, <a class="el" href="a02306.html#NLNET_1_1CCallbackNetBasea19">NLNET::CCallbackNetBase::send()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +<div class="fragment"><pre>02048 : msgout 128 REGISTER u32 10 b 1 f 1.5)<span class="stringliteral">", "</span><ServiceName>|<ServiceId> <MessageName> [<ParamType> <<a class="code" href="a05364.html#a1">Param</a>>]*<span class="stringliteral">")</span> +02049 <span class="stringliteral">{</span> +02050 <span class="stringliteral"> if(args.size() < 2) return false;</span> +02051 <span class="stringliteral"></span> +02052 <span class="stringliteral"> if (!CUnifiedNetwork::isUsed ())</span> +02053 <span class="stringliteral"> {</span> +02054 <span class="stringliteral"> log.displayNL("</span>Can'<a class="code" href="a04223.html#a627">t</a> <span class="keywordflow">do</span> that because the service doesn'<a class="code" href="a04223.html#a627">t</a> use CUnifiedNetwork<span class="stringliteral">");</span> +02055 <span class="stringliteral"> return false;</span> +02056 <span class="stringliteral"> }</span> +02057 <span class="stringliteral"></span> +02058 <span class="stringliteral"> uint16 serviceId = atoi (args[0].c_str());</span> +02059 <span class="stringliteral"> string serviceName = args[0].c_str();</span> +02060 <span class="stringliteral"> string messageName = args[1].c_str();</span> +02061 <span class="stringliteral"> </span> +02062 <span class="stringliteral"> if (serviceId > 255)</span> +02063 <span class="stringliteral"> {</span> +02064 <span class="stringliteral"> log.displayNL ("</span>Service Id %d must be between [1;255]<span class="stringliteral">", serviceId);</span> +02065 <span class="stringliteral"> return false;</span> +02066 <span class="stringliteral"> }</span> +02067 <span class="stringliteral"> </span> +02068 <span class="stringliteral"> if ((args.size()-2) % 2 != 0)</span> +02069 <span class="stringliteral"> {</span> +02070 <span class="stringliteral"> log.displayNL ("</span>The number of parameter must be a multiple of 2<span class="stringliteral">");</span> +02071 <span class="stringliteral"> return false;</span> +02072 <span class="stringliteral"> }</span> +02073 <span class="stringliteral"></span> +02074 <span class="stringliteral"> CMessage msg (messageName);</span> +02075 <span class="stringliteral"></span> +02076 <span class="stringliteral"> if (!createMessage (msg, args, log))</span> +02077 <span class="stringliteral"> return false;</span> +02078 <span class="stringliteral"></span> +02079 <span class="stringliteral"> TSockId host = InvalidSockId;</span> +02080 <span class="stringliteral"> CCallbackNetBase *cnb = NULL;</span> +02081 <span class="stringliteral"></span> +02082 <span class="stringliteral"> if (serviceId != 0)</span> +02083 <span class="stringliteral"> cnb = CUnifiedNetwork::getInstance()->getNetBase ((uint8)serviceId, host);</span> +02084 <span class="stringliteral"> else</span> +02085 <span class="stringliteral"> cnb = CUnifiedNetwork::getInstance()->getNetBase (serviceName, host);</span> +02086 <span class="stringliteral"></span> +02087 <span class="stringliteral"> if (cnb == NULL)</span> +02088 <span class="stringliteral"> {</span> +02089 <span class="stringliteral"> log.displayNL ("</span>'%<a class="code" href="a04223.html#a626">s</a>' is a bad <ServiceId> or <ServiceName><span class="stringliteral">", args[0].c_str());</span> +02090 <span class="stringliteral"> return false;</span> +02091 <span class="stringliteral"> }</span> +02092 <span class="stringliteral"></span> +02093 <span class="stringliteral"> cnb->send (msg, host);</span> +02094 <span class="stringliteral"> </span> +02095 <span class="stringliteral"> return true;</span> +02096 <span class="stringliteral">}</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a211" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">msgin </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Simulate an input message <a class="el" href="a04113.html#a70">from</a> another service(ex:msgin 128 REGISTER u32 10 b 1 f 1.5)" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"< ServiceName >|< ServiceId >< MessageName > *" </td> + <td class="mdname" nowrap>[< ParamType >< Param >]</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01983">1983</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01892">createMessage()</a>, <a class="el" href="a06645.html#l01393">NLNET::CUnifiedNetwork::findCallback()</a>, <a class="el" href="a06027.html#l00198">NLNET::CMessage::invert()</a>, <a class="el" href="a06646.html#l00052">TUnifiedMsgCallback</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +<div class="fragment"><pre>01983 : msgin 128 REGISTER u32 10 b 1 f 1.5)<span class="stringliteral">", "</span><ServiceName>|<ServiceId> <MessageName> [<ParamType> <<a class="code" href="a05364.html#a1">Param</a>>]*<span class="stringliteral">")</span> +01984 <span class="stringliteral">{</span> +01985 <span class="stringliteral"> if(args.size() < 2) return false;</span> +01986 <span class="stringliteral"> </span> +01987 <span class="stringliteral"> if (!CUnifiedNetwork::isUsed ())</span> +01988 <span class="stringliteral"> {</span> +01989 <span class="stringliteral"> log.displayNL("</span>Can'<a class="code" href="a04223.html#a627">t</a> <span class="keywordflow">do</span> that because the service doesn'<a class="code" href="a04223.html#a627">t</a> use CUnifiedNetwork<span class="stringliteral">");</span> +01990 <span class="stringliteral"> return false;</span> +01991 <span class="stringliteral"> }</span> +01992 <span class="stringliteral"></span> +01993 <span class="stringliteral"> uint16 serviceId = atoi (args[0].c_str());</span> +01994 <span class="stringliteral"> string serviceName = args[0].c_str();</span> +01995 <span class="stringliteral"> string messageName = args[1].c_str();</span> +01996 <span class="stringliteral"> </span> +01997 <span class="stringliteral"> if (serviceId > 255)</span> +01998 <span class="stringliteral"> {</span> +01999 <span class="stringliteral"> log.displayNL ("</span>Service Id %d must be between [1;255]<span class="stringliteral">", serviceId);</span> +02000 <span class="stringliteral"> return false;</span> +02001 <span class="stringliteral"> }</span> +02002 <span class="stringliteral"> </span> +02003 <span class="stringliteral"> if ((args.size()-2) % 2 != 0)</span> +02004 <span class="stringliteral"> {</span> +02005 <span class="stringliteral"> log.displayNL ("</span>The number of parameter must be a multiple of 2<span class="stringliteral">");</span> +02006 <span class="stringliteral"> return false;</span> +02007 <span class="stringliteral"> }</span> +02008 <span class="stringliteral"></span> +02009 <span class="stringliteral"> CMessage msg (messageName);</span> +02010 <span class="stringliteral">// msg.clear ();</span> +02011 <span class="stringliteral"></span> +02012 <span class="stringliteral"> if (!createMessage (msg, args, log))</span> +02013 <span class="stringliteral"> return false;</span> +02014 <span class="stringliteral"></span> +02015 <span class="stringliteral"></span> +02016 <span class="stringliteral"> msg.invert ();</span> +02017 <span class="stringliteral"></span> +02018 <span class="stringliteral"></span> +02019 <span class="stringliteral"></span> +02020 <span class="stringliteral"> TUnifiedMsgCallback cb = CUnifiedNetwork::getInstance()->findCallback (messageName);</span> +02021 <span class="stringliteral"> </span> +02022 <span class="stringliteral"> if (cb == NULL)</span> +02023 <span class="stringliteral"> {</span> +02024 <span class="stringliteral"> log.displayNL ("</span>Callback <span class="keywordflow">for</span> message '%<a class="code" href="a04223.html#a626">s</a>' is not found<span class="stringliteral">", messageName.c_str());</span> +02025 <span class="stringliteral"> }</span> +02026 <span class="stringliteral"> else</span> +02027 <span class="stringliteral"> {</span> +02028 <span class="stringliteral"> cb (msg, serviceName, serviceId);</span> +02029 <span class="stringliteral"> }</span> +02030 <span class="stringliteral"> </span> +02031 <span class="stringliteral"> </span> +02032 <span class="stringliteral"> return true;</span> +02033 <span class="stringliteral">}</span> +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a191" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">getUnknownConfigFileVariables </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"display the variables <a class="el" href="a04113.html#a70">from</a> config <a class="el" href="a04115.html#a95">file</a> that are called but not present" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01504">1504</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01505 { +01506 log.displayNL (<span class="stringliteral">"%d Variables not found in the configfile '%s'"</span>, IService::getInstance()->ConfigFile.UnknownVariables.size(), IService::getInstance()->ConfigFile.getFilename().c_str() ); +01507 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < IService::getInstance()->ConfigFile.UnknownVariables.size(); i++) +01508 { +01509 log.displayNL (<span class="stringliteral">" %s"</span>, IService::getInstance()->ConfigFile.UnknownVariables[i].c_str()); +01510 } +01511 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01512 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a190" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">displayConfigFile </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"display the variables of the default configfile" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01498">1498</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +<div class="fragment"><pre>01499 { +01500 IService::getInstance()->ConfigFile.display (&log); +01501 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01502 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a189" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">getWinDisplayerInfo </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"display the info about the pos and <a class="el" href="a04223.html#a587">size</a> of the window displayer" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01490">1490</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05646.html#l00236">w</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +<div class="fragment"><pre>01491 { +01492 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a572">x</a>,<a class="code" href="a04223.html#a573">y</a>,<a class="code" href="a04223.html#a575">w</a>,h; +01493 IService::getInstance()->WindowDisplayer->getWindowPos (x,y,w,h); +01494 log.displayNL (<span class="stringliteral">"Window Displayer : XWinParam = %d; YWinParam = %d; WWinParam = %d; HWinParam = %d;"</span>, x, y, w, h); +01495 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01496 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a188" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">resetMeasures </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"reset hierarchical timer" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01484">1484</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +<div class="fragment"><pre>01485 { +01486 IService::getInstance()->requireResetMeasures(); +01487 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01488 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a187" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">serviceInfo </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"display information about this service" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01454">1454</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00146">CompilationMode</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>01455 { +01456 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +01457 +01458 log.displayNL (<span class="stringliteral">"Service %s '%s' using NeL ("</span>__DATE__<span class="stringliteral">" "</span>__TIME__<span class="stringliteral">")"</span>, IService::getInstance()->getServiceLongName().c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); +01459 log.displayNL (<span class="stringliteral">"Service listening port: %d"</span>, IService::getInstance()->ListeningPort.get()); +01460 log.displayNL (<span class="stringliteral">"Service running directory: '%s'"</span>, IService::getInstance()->RunningDirectory.c_str()); +01461 log.displayNL (<span class="stringliteral">"Service log directory: '%s'"</span>, IService::getInstance()->LogDirectory.c_str()); +01462 log.displayNL (<span class="stringliteral">"Service save files directory: '%s'"</span>, IService::getInstance()->SaveFilesDirectory.c_str()); +01463 log.displayNL (<span class="stringliteral">"Service write files directory: '%s'"</span>, IService::getInstance()->WriteFilesDirectory.c_str()); +01464 log.displayNL (<span class="stringliteral">"Service config directory: '%s' config filename: '%s.cfg'"</span>, IService::getInstance()->ConfigDirectory.c_str(), IService::getInstance()->_LongName.c_str()); +01465 log.displayNL (<span class="stringliteral">"Service id: %d"</span>, IService::getInstance()->_SId); +01466 log.displayNL (<span class="stringliteral">"Service update timeout: %dms"</span>, IService::getInstance()->_UpdateTimeout); +01467 log.displayNL (<span class="stringliteral">"Service %suse naming service"</span>, IService::getInstance()->_DontUseNS?<span class="stringliteral">"don't "</span>:<span class="stringliteral">""</span>); +01468 log.displayNL (<span class="stringliteral">"Service %suse admin executor service"</span>, IService::getInstance()->_DontUseAES?<span class="stringliteral">"don't "</span>:<span class="stringliteral">""</span>); +01469 log.displayNL (<span class="stringliteral">"NeL is compiled in %s mode"</span>, <a class="code" href="a05379.html#a55">CompilationMode</a>.c_str()); +01470 +01471 log.displayNL (<span class="stringliteral">"Services arguments: %d args"</span>, IService::getInstance()->_Args.size ()); +01472 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < IService::getInstance()->_Args.size (); i++) +01473 { +01474 log.displayNL (<span class="stringliteral">" argv[%d] = '%s'"</span>, i, IService::getInstance()->_Args[i].c_str ()); +01475 } +01476 +01477 log.displayNL (<span class="stringliteral">"Naming service info: %s"</span>, CNamingClient::info().c_str()); +01478 +01479 ICommand::execute (<span class="stringliteral">"services"</span>, log); +01480 +01481 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01482 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a186" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">brutalQuit </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"exit the service brutally" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01424">1424</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +<div class="fragment"><pre>01425 { +01426 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +01427 +01428 ::exit (0xFFFFFFFF); +01429 +01430 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01431 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a185" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">quit </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"exit the service" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01414">1414</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00117">ExitSignalAsked</a>. +<p> +<div class="fragment"><pre>01415 { +01416 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +01417 +01418 log.displayNL(<span class="stringliteral">"User ask me with a command to quit"</span>); +01419 <a class="code" href="a05379.html#a48">ExitSignalAsked</a> = 0xFFFF; +01420 +01421 <span class="keywordflow">return</span> <span class="keyword">true</span>; +01422 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a163" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">services </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"displays registered services" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06089.html#l00557">557</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +<div class="fragment"><pre>00558 { +00559 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +00560 +00561 CNamingClient::displayRegisteredServices (&log); +00562 +00563 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00564 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a154" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">lsPending </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"displays the <a class="el" href="a03889.html">list</a> of all pending users" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00452">452</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05962.html#l00051">PendingUsers</a>. +<p> +<div class="fragment"><pre>00453 { +00454 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +00455 +00456 log.displayNL (<span class="stringliteral">"Display the %d pending users :"</span>, <a class="code" href="a05379.html#a20">PendingUsers</a>.size()); +00457 <span class="keywordflow">for</span> (<a class="code" href="a03889.html">list<CPendingUser></a>::iterator it = <a class="code" href="a05379.html#a20">PendingUsers</a>.begin(); it != <a class="code" href="a05379.html#a20">PendingUsers</a>.end (); it++) +00458 { +00459 log.displayNL (<span class="stringliteral">"> %s %s"</span>, (*it).Cookie.toString().c_str(), (*it).UserName.c_str()); +00460 } +00461 log.displayNL (<span class="stringliteral">"End of the list"</span>); +00462 +00463 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00464 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a153" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">lsUsers </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"displays the <a class="el" href="a03889.html">list</a> of all connected users" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00431">431</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05962.html#l00063">ModeTcp</a>, and <a class="el" href="a05962.html#l00069">UserIdSockAssociations</a>. +<p> +<div class="fragment"><pre>00432 { +00433 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>; +00434 +00435 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a26">ModeTcp</a>) +00436 { +00437 log.displayNL (<span class="stringliteral">"Display the %d connected users :"</span>, <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.size()); +00438 <span class="keywordflow">for</span> (map<uint32, TSockId>::iterator it = <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.begin(); it != <a class="code" href="a05379.html#a28">UserIdSockAssociations</a>.end (); it++) +00439 { +00440 log.displayNL (<span class="stringliteral">"> %u %s"</span>, (*it).first, (*it).second->asString().c_str()); +00441 } +00442 log.displayNL (<span class="stringliteral">"End of the list"</span>); +00443 } +00444 <span class="keywordflow">else</span> +00445 { +00446 log.displayNL (<span class="stringliteral">"No user list in udp mode"</span>); +00447 } +00448 +00449 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00450 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a119" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">getView </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"send a view and receive an array as result" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"< varpath >" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00892">892</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05391.html#l00386">serviceGetView()</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00893 { +00894 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>; +00895 +00896 vector<pair<vector<string>, vector<string> > > answer; +00897 <a class="code" href="a05379.html#a113">serviceGetView</a> (0, args[0], answer); +00898 +00899 log.displayNL(<span class="stringliteral">"have %d answer"</span>, answer.size()); +00900 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < answer.size(); i++) +00901 { +00902 log.displayNL(<span class="stringliteral">" have %d value"</span>, answer[i].first.size()); +00903 +00904 <a class="code" href="a04199.html#a6">nlassert</a> (answer[i].first.size() == answer[i].second.size()); +00905 +00906 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < answer[i].first.size(); j++) +00907 { +00908 log.displayNL(<span class="stringliteral">" %s -> %s"</span>, answer[i].first[j].c_str(), answer[i].second[j].c_str()); +00909 } +00910 } +00911 +00912 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00913 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a118" doxytag="NLNET::NLMISC_COMMAND" ></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"> NLMISC_COMMAND </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">displayInformations </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"displays all admin informations" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00875">875</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05391.html#l00084">Alarms</a>, <a class="el" href="a05391.html#l00086">GraphUpdates</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +<div class="fragment"><pre>00876 { +00877 <a class="code" href="a04558.html#a15">uint</a> i; +00878 +00879 log.displayNL(<span class="stringliteral">"There're %d alarms:"</span>, <a class="code" href="a05379.html#a1">Alarms</a>.size()); +00880 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="a05379.html#a1">Alarms</a>.size(); i++) +00881 { +00882 log.displayNL(<span class="stringliteral">" %d %s %d %s %s"</span>, i, Alarms[i].Name.c_str(), <a class="code" href="a05379.html#a1">Alarms</a>[i].Limit, (<a class="code" href="a05379.html#a1">Alarms</a>[i].GT?<span class="stringliteral">"gt"</span>:<span class="stringliteral">"lt"</span>), (<a class="code" href="a05379.html#a1">Alarms</a>[i].Activated?<span class="stringliteral">"on"</span>:<span class="stringliteral">"off"</span>)); +00883 } +00884 log.displayNL(<span class="stringliteral">"There're %d graphupdate:"</span>, <a class="code" href="a05379.html#a2">GraphUpdates</a>.size()); +00885 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="a05379.html#a2">GraphUpdates</a>.size(); i++) +00886 { +00887 log.displayNL(<span class="stringliteral">" %d %s %d %d"</span>, i, GraphUpdates[i].Name.c_str(), <a class="code" href="a05379.html#a2">GraphUpdates</a>[i].Update, <a class="code" href="a05379.html#a2">GraphUpdates</a>[i].LastUpdate); +00888 } +00889 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00890 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a210" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>SentBytes </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"total of bytes sent by this service" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01958">1958</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01239">NLNET::CUnifiedNetwork::getBytesSent()</a>, <a class="el" href="a05646.html#l00233">pointer</a>, and <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +<div class="fragment"><pre>01959 { +01960 <span class="keywordflow">if</span> (get) +01961 { +01962 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +01963 *<a class="code" href="a04223.html#a570">pointer</a> = 0; +01964 <span class="keywordflow">else</span> +01965 *<a class="code" href="a04223.html#a570">pointer</a> = CUnifiedNetwork::getInstance()->getBytesSent (); +01966 } +01967 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a209" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>ReceivedBytes </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"total of bytes received by this service" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01947">1947</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01263">NLNET::CUnifiedNetwork::getBytesReceived()</a>, <a class="el" href="a05646.html#l00233">pointer</a>, and <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +<div class="fragment"><pre>01948 { +01949 <span class="keywordflow">if</span> (get) +01950 { +01951 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +01952 *<a class="code" href="a04223.html#a570">pointer</a> = 0; +01953 <span class="keywordflow">else</span> +01954 *<a class="code" href="a04223.html#a570">pointer</a> = CUnifiedNetwork::getInstance()->getBytesReceived (); +01955 } +01956 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a208" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>ReceiveQueueSize </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of all receive queues" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01935">1935</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01311">NLNET::CUnifiedNetwork::getReceiveQueueSize()</a>, <a class="el" href="a05646.html#l00233">pointer</a>, and <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +<div class="fragment"><pre>01936 { +01937 <span class="keywordflow">if</span> (get) +01938 { +01939 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +01940 *<a class="code" href="a04223.html#a570">pointer</a> = 0; +01941 <span class="keywordflow">else</span> +01942 *<a class="code" href="a04223.html#a570">pointer</a> = CUnifiedNetwork::getInstance()->getReceiveQueueSize(); +01943 } +01944 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a207" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>SendQueueSize </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of all send queues" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l01924">1924</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l01287">NLNET::CUnifiedNetwork::getSendQueueSize()</a>, <a class="el" href="a05646.html#l00233">pointer</a>, and <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +<div class="fragment"><pre>01925 { +01926 <span class="keywordflow">if</span> (get) +01927 { +01928 <span class="keywordflow">if</span> (!CUnifiedNetwork::isUsed ()) +01929 *<a class="code" href="a04223.html#a570">pointer</a> = 0; +01930 <span class="keywordflow">else</span> +01931 *<a class="code" href="a04223.html#a570">pointer</a> = CUnifiedNetwork::getInstance()->getSendQueueSize(); +01932 } +01933 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a192" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>State </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Set this <a class="el" href="a04223.html#a658">value</a> to 0 to shutdown the service and 1 to start the service" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01520">1520</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00117">ExitSignalAsked</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, and <a class="el" href="a05646.html#l00233">pointer</a>. +<p> +<div class="fragment"><pre>01521 { +01522 <span class="keyword">static</span> string running = <span class="stringliteral">"Online"</span>; +01523 +01524 <span class="comment">// read or write the variable</span> +01525 <span class="keywordflow">if</span> (get) +01526 { +01527 *<a class="code" href="a04223.html#a570">pointer</a> = running; +01528 } +01529 <span class="keywordflow">else</span> +01530 { +01531 <span class="keywordflow">if</span> (IService::getInstance()->getServiceShortName() == <span class="stringliteral">"AES"</span> || IService::getInstance()->getServiceShortName() == <span class="stringliteral">"AS"</span>) +01532 { +01533 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: I can't set State=0 because I'm the admin and I should never quit"</span>); +01534 } +01535 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*<a class="code" href="a04223.html#a570">pointer</a> == <span class="stringliteral">"0"</span> || *<a class="code" href="a04223.html#a570">pointer</a> == <span class="stringliteral">"2"</span>) +01536 { +01537 <span class="comment">// ok, we want to set the value to false, just quit</span> +01538 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: User ask me with a command to quit using the State variable"</span>); +01539 <a class="code" href="a05379.html#a48">ExitSignalAsked</a> = 0xFFFE; +01540 running = <span class="stringliteral">"Quitting"</span>; +01541 } +01542 <span class="keywordflow">else</span> +01543 { +01544 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"SERVICE: Unknown value for State '%s'"</span>, (*pointer).c_str()); +01545 } +01546 } +01547 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a184" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>Scroller </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"current <a class="el" href="a04223.html#a587">size</a> <a class="el" href="a04223.html#a647">in</a> bytes of the sent queue <a class="el" href="a04223.html#a587">size</a>" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01402">1402</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00233">pointer</a>. +<p> +<div class="fragment"><pre>01403 { +01404 <span class="keywordflow">if</span> (get) +01405 { +01406 <span class="comment">// display the scroll text</span> +01407 <span class="keyword">static</span> string foo = <span class="stringliteral">"Welcome to NeL Service! This scroll is used to see the update frequency of the main function and to see if the service is frozen or not. Have a nice day and hope you'll like NeL!!! "</span> +01408 <span class="stringliteral">"Welcome to NeL Service! This scroll is used to see the update frequency of the main function and to see if the service is frozen or not. Have a nice day and hope you'll like NeL!!! "</span>; +01409 <span class="keyword">static</span> <span class="keywordtype">int</span> pos = 0; +01410 *<a class="code" href="a04223.html#a570">pointer</a> = foo.substr ((pos++)%(foo.size()/2), 10); +01411 } +01412 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a180" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>Uptime </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"time <a class="el" href="a04113.html#a70">from</a> the launching of the <a class="el" href="a04223.html#a568">program</a>" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01375">1375</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00133">LaunchingDate</a>, <a class="el" href="a05646.html#l00233">pointer</a>, <a class="el" href="a05586.html#l00476">NLMISC::secondsToHumanReadable()</a>, and <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>. +<p> +<div class="fragment"><pre>01376 { +01377 <span class="keywordflow">if</span> (get) +01378 { +01379 <span class="keywordflow">if</span> (human) +01380 *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05378.html#a270">secondsToHumanReadable</a> (CTime::getSecondsSince1970() - LaunchingDate); +01381 <span class="keywordflow">else</span> +01382 *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05378.html#a244">NLMISC::toString</a>(CTime::getSecondsSince1970() - LaunchingDate); +01383 } +01384 <span class="keywordflow">else</span> +01385 { +01386 <a class="code" href="a05379.html#a53">LaunchingDate</a> = CTime::getSecondsSince1970() - atoi ((*pointer).c_str()); +01387 } +01388 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a179" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>LaunchingDate </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"date of the launching of the <a class="el" href="a04223.html#a568">program</a>" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06364.html#l01370">1370</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00133">LaunchingDate</a>, and <a class="el" href="a05646.html#l00233">pointer</a>. +<p> +<div class="fragment"><pre>01371 { +01372 <span class="keywordflow">if</span> (get) *<a class="code" href="a04223.html#a570">pointer</a> = asctime (localtime ((time_t*)&LaunchingDate)); +01373 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a155" doxytag="NLNET::NLMISC_DYNVARIABLE" ></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"> NLMISC_DYNVARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>LSListenAddress </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"the listen <a class="el" href="a04223.html#a569">address</a> sended to the client to connect on this front_end" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05962.html#l00467">467</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05810.html#l00397">NLNET::CInetAddress::asIPString()</a>, <a class="el" href="a05962.html#l00054">ListenAddr</a>, <a class="el" href="a05513.html#l00238">NLNET::CBufServer::listenAddress()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05646.html#l00233">pointer</a>, and <a class="el" href="a05962.html#l00053">Server</a>. +<p> +<div class="fragment"><pre>00468 { +00469 <span class="keywordflow">if</span> (get) +00470 { +00471 *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05379.html#a22">ListenAddr</a>; +00472 } +00473 <span class="keywordflow">else</span> +00474 { +00475 <span class="keywordflow">if</span> ((*pointer).find (<span class="stringliteral">":"</span>) == string::npos) +00476 { +00477 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LS: You must set the address + port (ie: \"itsalive.nevrax.org:38000\")"</span>); +00478 <span class="keywordflow">return</span>; +00479 } +00480 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*pointer).empty()) +00481 { +00482 <a class="code" href="a05379.html#a22">ListenAddr</a> = <a class="code" href="a05379.html#a21">Server</a>-><a class="code" href="a02302.html#NLNET_1_1CCallbackServera24">listenAddress</a> ().<a class="code" href="a02665.html#NLNET_1_1CInetAddressa0">asIPString</a>(); +00483 } +00484 <span class="keywordflow">else</span> +00485 { +00486 <a class="code" href="a05379.html#a22">ListenAddr</a> = *<a class="code" href="a04223.html#a570">pointer</a>; +00487 } +00488 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"LS: Listen Address that will be send to client is '%s'"</span>, <a class="code" href="a05379.html#a22">ListenAddr</a>.c_str()); +00489 } +00490 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a206" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TotalCallbackCalled </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Total callback called number on layer 5" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a183" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>NbUserUpdate </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"number of time the user IService::update() called" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a182" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CompilationMode </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"mode of the compilation" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a181" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CompilationDate </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"date of the compilation" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a156" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>DefaultUserPriv </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Default User priv for people who don'<a class="el" href="a04223.html#a627">t</a> use the login system" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a124" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>NbServerReceiveTask </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Number of server receive thread" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a123" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>NbServerListenTask </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Number of server listen thread" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a122" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>NbNetworkTask </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Number of server and client thread" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a121" doxytag="NLNET::NLMISC_VARIABLE" ></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"> NLMISC_VARIABLE </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>NbClientReceiveTask </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"Number of client receive thread" </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a164" doxytag="NLNET::nmNewConnection" ></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"> void nmNewConnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</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> + +<p> +Definition at line <a class="el" href="a06098.html#l00062">62</a> of file <a class="el" href="a06098.html">net_manager.cpp</a>. +<p> +References <a class="el" href="a06099.html#l00078">NLNET::CBaseStruct::ConnectionCallback</a>, <a class="el" href="a06099.html#l00079">NLNET::CBaseStruct::ConnectionCbArg</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06099.html#l00069">NLNET::CBaseStruct::Name</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00207">NLNET::CNetManager::addServer()</a>. +<p> +<div class="fragment"><pre>00063 { +00064 <a class="code" href="a04199.html#a6">nlassert</a> (arg != NULL); +00065 CBaseStruct *basest = (CBaseStruct *)arg; +00066 +00067 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"HNETL4: nmNewConnection() from service '%s'"</span>, basest->Name.c_str ()); +00068 +00069 <span class="comment">// call the client callback if necessary</span> +00070 <span class="keywordflow">if</span> (basest->ConnectionCallback != NULL) +00071 basest->ConnectionCallback (basest->Name, from, basest->ConnectionCbArg); +00072 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a165" doxytag="NLNET::nmNewDisconnection" ></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"> void nmNewDisconnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</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> + +<p> +Definition at line <a class="el" href="a06098.html#l00074">74</a> of file <a class="el" href="a06098.html">net_manager.cpp</a>. +<p> +References <a class="el" href="a06099.html#l00081">NLNET::CBaseStruct::DisconnectionCallback</a>, <a class="el" href="a06099.html#l00082">NLNET::CBaseStruct::DisconnectionCbArg</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06099.html#l00069">NLNET::CBaseStruct::Name</a>, <a class="el" href="a06099.html#l00076">NLNET::CBaseStruct::NetBase</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a06099.html#l00087">NLNET::CBaseStruct::Type</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00280">NLNET::CNetManager::addClient()</a>, <a class="el" href="a06098.html#l00207">NLNET::CNetManager::addServer()</a>, and <a class="el" href="a06098.html#l00097">NLNET::CNetManager::createConnection()</a>. +<p> +<div class="fragment"><pre>00075 { +00076 <a class="code" href="a04199.html#a6">nlassert</a> (arg != NULL); +00077 CBaseStruct *basest = (CBaseStruct *)arg; +00078 +00079 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"HNETL4: nmNewDisconnection() from service '%s'"</span>, basest->Name.c_str ()); +00080 +00081 <span class="comment">// call the client callback if necessary</span> +00082 <span class="keywordflow">if</span> (basest->DisconnectionCallback != NULL) +00083 basest->DisconnectionCallback (basest->Name, from, basest->DisconnectionCbArg); +00084 +00086 +00087 <span class="comment">// on a client, we have to clear the associations</span> +00088 <span class="keywordflow">if</span> (basest->Type != CBaseStruct::Server) +00089 { +00090 <a class="code" href="a04199.html#a6">nlassert</a> (basest->NetBase.size() == 1); +00091 basest->NetBase[0]->getSIDA ().clear (); +00092 } +00093 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a137" doxytag="NLNET::operator<" ></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"> bool operator< </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02665.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>a1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02665.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>a2</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05810.html#l00153">153</a> of file <a class="el" href="a05810.html">inet_address.cpp</a>. +<p> +References <a class="el" href="a05811.html#l00162">NLNET::CInetAddress::_SockAddr</a>, and <a class="el" href="a05810.html#l00376">NLNET::CInetAddress::port()</a>. +<p> +<div class="fragment"><pre>00154 { +00155 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span> +00156 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.S_un.S_addr == a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.S_un.S_addr ) +00157 { +00158 <span class="keywordflow">return</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressa13">port</a>() < a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressa13">port</a>() ); +00159 } +00160 <span class="keywordflow">else</span> +00161 { +00162 <span class="keywordflow">return</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.S_un.S_addr < a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.S_un.S_addr ); +00163 } +00164 <span class="preprocessor">#elif defined NL_OS_UNIX</span> +00165 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.s_addr == a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.s_addr ) +00166 { +00167 <span class="keywordflow">return</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressa13">port</a>() < a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressa13">port</a>() ); +00168 } +00169 <span class="keywordflow">else</span> +00170 { +00171 <span class="keywordflow">return</span> ( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.s_addr < a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>->sin_addr.s_addr ); +00172 } +00173 <span class="preprocessor">#endif </span> +00174 <span class="preprocessor"></span>} +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a142" doxytag="NLNET::operator==" ></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"> bool operator== </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const CLoginCookie & </td> + <td class="mdname" nowrap> <em>c1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const CLoginCookie & </td> + <td class="mdname" nowrap> <em>c2</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05960.html#l00040">40</a> of file <a class="el" href="a05960.html">login_cookie.cpp</a>. +<p> +References <a class="el" href="a05961.html#l00121">NLNET::CLoginCookie::_UserAddr</a>, <a class="el" href="a05961.html#l00123">NLNET::CLoginCookie::_UserId</a>, <a class="el" href="a05961.html#l00122">NLNET::CLoginCookie::_UserKey</a>, <a class="el" href="a05961.html#l00119">NLNET::CLoginCookie::_Valid</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>. +<p> +<div class="fragment"><pre>00041 { +00042 <a class="code" href="a04199.html#a6">nlassert</a> (c1._Valid && c2._Valid); +00043 +00044 <span class="keywordflow">return</span> c1._UserAddr==c2._UserAddr && c1._UserKey==c2._UserKey && c1._UserId==c2._UserId; +00045 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a136" doxytag="NLNET::operator==" ></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"> bool operator== </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02665.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>a1</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const <a class="el" href="a02665.html">CInetAddress</a> & </td> + <td class="mdname" nowrap> <em>a2</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05810.html#l00143">143</a> of file <a class="el" href="a05810.html">inet_address.cpp</a>. +<p> +References <a class="el" href="a05811.html#l00162">NLNET::CInetAddress::_SockAddr</a>. +<p> +<div class="fragment"><pre>00144 { +00145 <span class="comment">// Compares the sockaddr structure except the last 8 bytes equal to zero.</span> +00146 <span class="keywordflow">return</span> ( memcmp( a1.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>, a2.<a class="code" href="a02665.html#NLNET_1_1CInetAddressr1">_SockAddr</a>, <span class="keyword">sizeof</span>(sockaddr_in)-8 ) == 0 ); +00147 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a143" doxytag="NLNET::refreshPendingList" ></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"> void refreshPendingList </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05962.html#l00079">79</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05962.html#l00051">PendingUsers</a>, <a class="el" href="a05962.html#l00066">TimeBeforeEraseCookie</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00100">cbWSChooseShard()</a>. +<p> +<div class="fragment"><pre>00080 { +00081 <span class="comment">// delete too old cookie</span> +00082 +00083 <a class="code" href="a03889.html">list<CPendingUser></a>::iterator it = <a class="code" href="a05379.html#a20">PendingUsers</a>.begin(); +00084 <a class="code" href="a04558.html#a11">uint32</a> Time = CTime::getSecondsSince1970(); +00085 <span class="keywordflow">while</span> (it != <a class="code" href="a05379.html#a20">PendingUsers</a>.end ()) +00086 { +00087 <span class="keywordflow">if</span> ((*it).Time < Time - <a class="code" href="a05379.html#a27">TimeBeforeEraseCookie</a>) +00088 { +00089 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"LS: Removing cookie '%s' because too old"</span>, (*it).Cookie.toString().c_str()); +00090 it = <a class="code" href="a05379.html#a20">PendingUsers</a>.erase (it); +00091 } +00092 <span class="keywordflow">else</span> +00093 { +00094 it++; +00095 } +00096 } +00097 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a166" doxytag="NLNET::RegistrationBroadcast" ></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"> void RegistrationBroadcast </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 class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TServiceId </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< <a class="el" href="a02665.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"></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="a06098.html#l00131">131</a> of file <a class="el" href="a06098.html">net_manager.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a06099.html#l00171">NLNET::CNetManager::ItBaseMap</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00169">NLNET::CNetManager::init()</a>. +<p> +<div class="fragment"><pre>00132 { +00133 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"HNETL4: RegistrationBroadcast() of service %s-%hu"</span>, name.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)sid); +00134 +00135 <span class="comment">// find if this new service is interesting</span> +00136 <span class="keywordflow">for</span> (CNetManager::ItBaseMap itbm = CNetManager::_BaseMap.begin (); itbm != CNetManager::_BaseMap.end (); itbm++) +00137 { +00138 <span class="keywordflow">if</span> ((*itbm).second.Type == CBaseStruct::Client && !(*itbm).second.NetBase[0]->connected()) +00139 { +00140 <span class="keywordflow">if</span> (name == (*itbm).first) +00141 { +00142 <span class="comment">// ok! it's cool, the service is here, go and connect to him!</span> +00143 <span class="comment">// ace warning don't work if more than one connection</span> +00144 CNetManager::createConnection ((*itbm).second, addr[0], name); +00145 } +00146 } +00147 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*itbm).second.Type == CBaseStruct::Group) +00148 { +00149 <span class="comment">// ok, it's a group, try to see if it wants this!</span> +00150 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < (*itbm).second.ServiceNames.size (); i++) +00151 { +00152 <span class="keywordflow">if</span> ((*itbm).second.ServiceNames[i] == name) +00153 { +00154 <span class="comment">// ace warning don't work if more than one connection</span> +00155 CNetManager::createConnection ((*itbm).second, addr[0], name); +00156 <span class="keywordflow">break</span>; +00157 } +00158 } +00159 } +00160 } +00161 +00162 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a114" doxytag="NLNET::sendAdminEmail" ></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"> void sendAdminEmail </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">char * </td> + <td class="mdname" nowrap> <em>format</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>... </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00612">612</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01016">format</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, and <a class="el" href="a05646.html#l00985">t</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00648">updateAdmin()</a>. +<p> +<div class="fragment"><pre>00613 { +00614 <span class="keywordtype">char</span> *text; +00615 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a> (text, format, 4096); +00616 +00617 time_t <a class="code" href="a04223.html#a627">t</a> = time (&t); +00618 +00619 string str; +00620 str = asctime (localtime (&t)); +00621 str += <span class="stringliteral">" Server "</span> + <a class="code" href="a02665.html#NLNET_1_1CInetAddresse1">CInetAddress::localHost</a>().<a class="code" href="a02665.html#NLNET_1_1CInetAddressa6">hostName</a>(); +00622 str += <span class="stringliteral">" service "</span> + IService::getInstance()->getServiceUnifiedName(); +00623 str += <span class="stringliteral">" : "</span>; +00624 str += text; +00625 +00626 <a class="code" href="a02918.html">CMessage</a> msgout(<span class="stringliteral">"ADMIN_EMAIL"</span>); +00627 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (str); +00628 <span class="keywordflow">if</span>(IService::getInstance ()->getServiceShortName()==<span class="stringliteral">"AES"</span>) +00629 CUnifiedNetwork::getInstance ()->send (<span class="stringliteral">"AS"</span>, msgout); +00630 <span class="keywordflow">else</span> +00631 CUnifiedNetwork::getInstance ()->send (<span class="stringliteral">"AES"</span>, msgout); +00632 +00633 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Forwarded email to AS with '%s'"</span>, str.c_str()); +00634 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a223" doxytag="NLNET::sendEmail" ></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"> bool sendEmail </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>smtpServer</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>from</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>to</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>subject</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>body</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>attachedFile</em> = "", </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>onlyCheck</em> = false</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Send an email <dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign=top><em>smtpServer</em> </td><td>must be a smtp email server. </td></tr> + <tr><td valign=top><em>from</em> </td><td>must be a valid email address. If empty, create a fake email address with anonymous<ipaddress>.com </td></tr> + <tr><td valign=top><em>to</em> </td><td>must be a valid email address. </td></tr> + <tr><td valign=top><em>subject</em> </td><td>subject of the email. Can be empty. </td></tr> + <tr><td valign=top><em>body</em> </td><td>body of the email. Can be empty. </td></tr> + <tr><td valign=top><em>attachedFile</em> </td><td>a filename that will be send with the email. Can be empty. </td></tr> + <tr><td valign=top><em>onlyCheck</em> </td><td>If true, It'll not send the mail but only check if it could be send. </td></tr> + </table> +</dl> + </td> + </tr> +</table> +<a class="anchor" name="a134" doxytag="NLNET::sendEmail" ></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"> bool sendEmail </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const string & </td> + <td class="mdname" nowrap> <em>smtpServer</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>to</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>subject</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>body</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>attachedFile</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>onlyCheck</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05670.html#l00128">128</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2103_0">NLNET::CSock::close()</a>, <a class="el" href="a06487.html#l00080">NLNET::CTcpSock::connect()</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2109_0">NLNET::CSock::connected()</a>, <a class="el" href="a05670.html#l00040">DefaultFrom</a>, <a class="el" href="a05670.html#l00040">DefaultSMTPServer</a>, <a class="el" href="a05670.html#l00040">DefaultTo</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05670.html#l00086">sendEMailCommand()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05586.html#l00536">NLMISC::strlwr()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05670.html#l00061">uuencode()</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00129 { +00130 <span class="keywordtype">bool</span> ok = <span class="keyword">false</span>; +00131 CTcpSock sock; +00132 <a class="code" href="a04558.html#a15">uint</a> i; +00133 +00134 string formatedBody; +00135 string formatedFrom; +00136 string formatedTo; +00137 string formatedSMTPServer; +00138 +00139 <span class="keywordflow">try</span> +00140 { +00141 +00142 <span class="keywordflow">if</span> (smtpServer.empty()) +00143 { +00144 <span class="keywordflow">if</span>(<a class="code" href="a05379.html#a13">DefaultSMTPServer</a>.empty()) +00145 { +00146 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't send email because no SMTPServer was provided"</span>); +00147 <span class="keywordflow">goto</span> end; +00148 } +00149 <span class="keywordflow">else</span> +00150 { +00151 formatedSMTPServer = <a class="code" href="a05379.html#a13">DefaultSMTPServer</a>; +00152 } +00153 } +00154 <span class="keywordflow">else</span> +00155 { +00156 formatedSMTPServer = smtpServer; +00157 } +00158 +00159 sock.connect(<a class="code" href="a02665.html">CInetAddress</a>(formatedSMTPServer, 25)); +00160 +00161 <span class="keywordflow">if</span> (!sock.connected()) +00162 { +00163 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't connect to email server %s"</span>, formatedSMTPServer.c_str()); +00164 <span class="keywordflow">goto</span> end; +00165 } +00166 +00167 <span class="keywordflow">if</span> (to.empty()) +00168 { +00169 <span class="keywordflow">if</span>(<a class="code" href="a05379.html#a15">DefaultTo</a>.empty()) +00170 { +00171 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't send email because no To was provided"</span>); +00172 <span class="keywordflow">goto</span> end; +00173 } +00174 <span class="keywordflow">else</span> +00175 { +00176 formatedTo = <a class="code" href="a05379.html#a15">DefaultTo</a>; +00177 } +00178 } +00179 <span class="keywordflow">else</span> +00180 { +00181 formatedTo = to; +00182 } +00183 +00184 <span class="keywordflow">if</span>(<a class="code" href="a05333.html#a132">from</a>.empty()) +00185 { +00186 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a14">DefaultFrom</a>.empty()) +00187 { +00188 formatedFrom = <a class="code" href="a02665.html#NLNET_1_1CInetAddresse1">CInetAddress::localHost</a>().<a class="code" href="a02665.html#NLNET_1_1CInetAddressa6">hostName</a>(); +00189 formatedFrom += <span class="stringliteral">"@gnu.org"</span>; +00190 } +00191 <span class="keywordflow">else</span> +00192 { +00193 formatedFrom = <a class="code" href="a05379.html#a14">DefaultFrom</a>; +00194 } +00195 } +00196 <span class="keywordflow">else</span> +00197 { +00198 formatedFrom = <a class="code" href="a05333.html#a132">from</a>; +00199 } +00200 +00201 <span class="comment">// we must skip the first line</span> +00202 formatedBody = <span class="stringliteral">"\r\n"</span>; +00203 +00204 <span class="comment">// replace \n with \r\n</span> +00205 <span class="keywordflow">for</span> (i = 0; i < body.size(); i++) +00206 { +00207 <span class="keywordflow">if</span> (body[i] == <span class="charliteral">'\n'</span> && i > 0 && body[i-1] != <span class="charliteral">'\r'</span>) +00208 { +00209 formatedBody += <span class="charliteral">'\r'</span>; +00210 } +00211 formatedBody += body[i]; +00212 } +00213 +00214 <span class="comment">// add attachment if any</span> +00215 <span class="keywordflow">if</span> (!attachedFile.empty()) +00216 { +00217 string ext = CFile::getExtension(attachedFile); +00218 +00219 string mimepart; +00220 +00221 <span class="comment">// mime header and main mail text</span> +00222 +00223 mimepart += <span class="stringliteral">"Mime-Version: 1.0\r\n"</span>; +00224 mimepart += <span class="stringliteral">"Content-Type: multipart/mixed;\r\n"</span>; +00225 mimepart += <span class="stringliteral">" boundary=\"Multipart_nel\"\r\n"</span>; +00226 mimepart += <span class="stringliteral">"\r\n"</span>; +00227 mimepart += <span class="stringliteral">"This is a multi-part message in MIME format.\r\n"</span>; +00228 mimepart += <span class="stringliteral">"\r\n"</span>; +00229 mimepart += <span class="stringliteral">"--Multipart_nel\r\n"</span>; +00230 mimepart += <span class="stringliteral">"Content-Type: text/plain; charset=us-ascii\r\n"</span>; +00231 mimepart += <span class="stringliteral">"Content-Transfer-Encoding: 7bit\r\n"</span>; +00232 +00233 formatedBody = mimepart + formatedBody; +00234 +00235 <span class="comment">// mime attachment</span> +00236 +00237 formatedBody += <span class="stringliteral">"--Multipart_nel\r\n"</span>; +00238 formatedBody += <span class="stringliteral">"Content-Disposition: attachment;\r\n"</span>; +00239 +00240 <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a273">strlwr</a>(ext) == <span class="stringliteral">"tga"</span>) +00241 { +00242 formatedBody += <span class="stringliteral">"Content-Type: image/x-targa;\r\n"</span>; +00243 } +00244 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a273">strlwr</a>(ext) == <span class="stringliteral">"bmp"</span>) +00245 { +00246 formatedBody += <span class="stringliteral">"Content-Type: image/bmp;\r\n"</span>; +00247 } +00248 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a273">strlwr</a>(ext) == <span class="stringliteral">"png"</span>) +00249 { +00250 formatedBody += <span class="stringliteral">"Content-Type: image/png;\r\n"</span>; +00251 } +00252 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a273">strlwr</a>(ext) == <span class="stringliteral">"jpg"</span> || <a class="code" href="a05378.html#a273">strlwr</a>(ext) == <span class="stringliteral">"jpeg"</span>) +00253 { +00254 formatedBody += <span class="stringliteral">"Content-Type: image/jpeg;\r\n"</span>; +00255 } +00256 <span class="keywordflow">else</span> +00257 { +00258 formatedBody += <span class="stringliteral">"Content-Type: text/plain; charset=us-ascii\r\n"</span>; +00259 } +00260 +00261 formatedBody += <span class="stringliteral">" name=\""</span>+CFile::getFilename(attachedFile)+<span class="stringliteral">"\"\r\n"</span>; +00262 formatedBody += <span class="stringliteral">"Content-Transfer-Encoding: base64\r\n"</span>; +00263 formatedBody += <span class="stringliteral">" filename=\""</span>+CFile::getFilename(attachedFile)+<span class="stringliteral">"\"\r\n"</span>; +00264 <span class="comment">// empty line to say that it s the end of the header</span> +00265 formatedBody += <span class="stringliteral">"\r\n"</span>; +00266 +00267 <span class="keyword">static</span> <span class="keyword">const</span> size_t src_buf_size = 45;<span class="comment">// This *MUST* be a multiple of 3</span> +00268 <span class="keyword">static</span> <span class="keyword">const</span> size_t dst_buf_size = 4 * ((src_buf_size + 2) / 3); +00269 size_t write_size = dst_buf_size; +00270 <span class="keywordtype">char</span> src_buf[src_buf_size + 1]; +00271 <span class="keywordtype">char</span> dst_buf[dst_buf_size + 1]; +00272 size_t <a class="code" href="a04223.html#a587">size</a>; +00273 +00274 FILE *src_stream = fopen (attachedFile.c_str(), <span class="stringliteral">"rb"</span>); +00275 <span class="keywordflow">if</span> (src_stream == NULL) +00276 { +00277 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't attach file '%s' to the email because the file can't be open"</span>, attachedFile.c_str()); +00278 } +00279 <span class="keywordflow">else</span> +00280 { +00281 <span class="keywordflow">while</span> ((<a class="code" href="a04223.html#a587">size</a> = fread(src_buf, 1, src_buf_size, src_stream)) > 0) +00282 { +00283 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a587">size</a> != src_buf_size) +00284 { +00285 <span class="comment">/* write_size is always 60 until the last line */</span> +00286 write_size=(4 * ((<a class="code" href="a04223.html#a587">size</a> + 2) / 3)); +00287 <span class="comment">/* pad with 0s so we can just encode extra bits */</span> +00288 memset(&src_buf[size], 0, src_buf_size - size); +00289 } +00290 <span class="comment">/* Encode the buffer we just read in */</span> +00291 <a class="code" href="a05379.html#a132">uuencode</a>(src_buf, dst_buf, size); +00292 +00293 formatedBody += dst_buf; +00294 formatedBody += <span class="stringliteral">"\r\n"</span>; +00295 } +00296 fclose (src_stream); +00297 } +00298 formatedBody += <span class="stringliteral">"--Multipart_nel--"</span>; +00299 } +00300 +00301 <span class="comment">// debug, display what we send into a file</span> +00302 <span class="comment">// { FILE *fp = fopen (CFile::findNewFile("mail.txt").c_str(), "wb");</span> +00303 <span class="comment">// fwrite (formatedBody.c_str(), 1, formatedBody.size(), fp);</span> +00304 <span class="comment">// fclose (fp); }</span> +00305 +00306 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">""</span>, 220)) <span class="keywordflow">goto</span> end; +00307 +00308 <span class="keywordflow">if</span>(onlyCheck) +00309 { +00310 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"HELO localhost"</span>)) <span class="keywordflow">goto</span> end; +00311 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"MAIL FROM: "</span> + formatedFrom)) <span class="keywordflow">goto</span> end; +00312 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"RCPT TO: "</span> + formatedTo)) <span class="keywordflow">goto</span> end; +00313 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"QUIT"</span>, 221)) <span class="keywordflow">goto</span> end; +00314 +00315 ok = <span class="keyword">true</span>; +00316 } +00317 <span class="keywordflow">else</span> +00318 { +00319 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"HELO localhost"</span>)) <span class="keywordflow">goto</span> end; +00320 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"MAIL FROM: "</span> + formatedFrom)) <span class="keywordflow">goto</span> end; +00321 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"RCPT TO: "</span> + formatedTo)) <span class="keywordflow">goto</span> end; +00322 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"DATA"</span>, 354)) <span class="keywordflow">goto</span> end; +00323 +00324 string <a class="code" href="a04223.html#a589">buffer</a> = +00325 <span class="stringliteral">"From: "</span> + formatedFrom + <span class="stringliteral">"\r\n"</span> +00326 <span class="stringliteral">"To: "</span> + formatedTo + <span class="stringliteral">"\r\n"</span> +00327 <span class="stringliteral">"Subject: "</span> + subject + <span class="stringliteral">"\r\n"</span> +00328 + formatedBody + <span class="stringliteral">"\r\n."</span>; +00329 +00330 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, buffer)) <span class="keywordflow">goto</span> end; +00331 <span class="keywordflow">if</span>(!<a class="code" href="a05379.html#a133">sendEMailCommand</a> (sock, <span class="stringliteral">"QUIT"</span>, 221)) <span class="keywordflow">goto</span> end; +00332 +00333 ok = <span class="keyword">true</span>; +00334 } +00335 } +00336 <span class="keywordflow">catch</span> (<a class="code" href="a02482.html">Exception</a> &e) +00337 { +00338 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't send email: %s"</span>, e.what()); +00339 <span class="keywordflow">goto</span> end; +00340 } +00341 +00342 end: +00343 <span class="keywordflow">if</span> (sock.connected()) +00344 sock.close (); +00345 +00346 <span class="keywordflow">return</span> ok; +00347 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a133" doxytag="NLNET::sendEMailCommand" ></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"> bool sendEMailCommand </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">CTcpSock & </td> + <td class="mdname" nowrap> <em>sock</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>command</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>code</em> = 250</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05670.html#l00086">86</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +References <a class="el" href="a05810.html#l00385">NLNET::CInetAddress::asString()</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a02444.html#NLNET_1_1CTcpSockz2105_1">NLNET::CSock::receive()</a>, <a class="el" href="a06405.html#l00238">NLNET::CSock::remoteAddr()</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a02444.html#NLNET_1_1CUdpSockz2107_0">NLNET::CSock::send()</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05981.html#l00096">uint8</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00128">sendEmail()</a>. +<p> +<div class="fragment"><pre>00087 { +00088 string <a class="code" href="a04223.html#a589">buffer</a> = command + <span class="stringliteral">"\r\n"</span>; +00089 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a04223.html#a589">buffer</a>.size(); +00090 <span class="keywordflow">if</span>(!command.empty()) +00091 { +00092 <span class="keywordflow">if</span> (sock.send ((<a class="code" href="a04558.html#a7">uint8</a> *)<a class="code" href="a04223.html#a589">buffer</a>.c_str(), <a class="code" href="a04223.html#a587">size</a>) != CSock::Ok) +00093 { +00094 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: Can't send data to the server"</span>); +00095 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00096 } +00097 } +00098 +00099 string <a class="code" href="a04223.html#a643">res</a>; +00100 <span class="keywordtype">char</span> c; +00101 <span class="keywordflow">while</span> (<span class="keyword">true</span>) +00102 { +00103 <a class="code" href="a04223.html#a587">size</a> = 1; +00104 +00105 <span class="keywordflow">if</span> (sock.receive((<a class="code" href="a04558.html#a7">uint8</a>*)&c, size, <span class="keyword">false</span>) == CSock::Ok) +00106 { +00107 <a class="code" href="a04223.html#a643">res</a> += c; +00108 <span class="keywordflow">if</span> (c == <span class="charliteral">'\n'</span>) +00109 { +00110 <a class="code" href="a04558.html#a11">uint32</a> c = atoi (<a class="code" href="a04223.html#a643">res</a>.c_str()); +00111 <span class="keywordflow">if</span> (c != code) +00112 { +00113 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: EMail command '%s' returned '%s' instead of code %d on sock %s"</span>, command.substr(0, 20).c_str(), <a class="code" href="a04223.html#a643">res</a>.substr(0, <a class="code" href="a04223.html#a643">res</a>.size()-2).c_str(), code, sock.remoteAddr().asString().c_str()); +00114 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00115 } +00116 <span class="keywordflow">return</span> <span class="keyword">true</span>; +00117 } +00118 } +00119 <span class="keywordflow">else</span> +00120 { +00121 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EMAIL: EMail connection closed before end of line, command '%s' returned '%s' on sock %s (code %d)"</span>, command.substr(0, 20).c_str(), <a class="code" href="a04223.html#a643">res</a>.c_str(), sock.remoteAddr().asString().c_str(), code); +00122 <span class="keywordflow">return</span> <span class="keyword">false</span>; +00123 } +00124 } +00125 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a221" doxytag="NLNET::serviceGetView" ></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"> void serviceGetView </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>rid</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>rawvarpath</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>std::vector< std::pair< std::vector< std::string >, std::vector< std::string > > > & </td> + <td class="mdname" nowrap> <em>answer</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>async</em> = false</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a113" doxytag="NLNET::serviceGetView" ></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"> void serviceGetView </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>rid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const string & </td> + <td class="mdname" nowrap> <em>rawvarpath</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>vector< pair< vector< string >, vector< string > > > & </td> + <td class="mdname" nowrap> <em>answer</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>bool </td> + <td class="mdname" nowrap> <em>async</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00386">386</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05943.html#l00115">NLMISC::CLog::addDisplayer()</a>, <a class="el" href="a05391.html#l00275">addRequestAnswer()</a>, <a class="el" href="a05391.html#l00221">addRequestWaitingNb()</a>, <a class="el" href="a05977.html#l00062">NLMISC::CMemDisplayer::clear()</a>, <a class="el" href="a06668.html#l00042">CVarPath::Destination</a>, <a class="el" href="a06668.html#l00049">CVarPath::empty()</a>, <a class="el" href="a06667.html#l00201">CVarPath::isFinal()</a>, <a class="el" href="a05391.html#l00378">isRemoteCommand()</a>, <a class="el" href="a05977.html#l00058">NLMISC::CMemDisplayer::lockStrings()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05391.html#l00082">RemoteClientCallback</a>, <a class="el" href="a05976.html#l00323">NLMISC::CMemDisplayer::setParam()</a>, <a class="el" href="a05538.html#l02935">size</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05977.html#l00060">NLMISC::CMemDisplayer::unlockStrings()</a>, <a class="el" href="a05646.html#l01132">value</a>, and <a class="el" href="a05646.html#l00236">y</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00112">cbServGetView()</a>, and <a class="el" href="a05391.html#l00892">NLMISC_COMMAND()</a>. +<p> +<div class="fragment"><pre>00387 { +00388 string str; +00389 CLog logDisplayVars; +00390 <a class="code" href="a02750.html">CLightMemDisplayer</a> mdDisplayVars; +00391 logDisplayVars.addDisplayer (&mdDisplayVars); +00392 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera4">setParam</a> (1024); +00393 +00394 <a class="code" href="a03653.html">CVarPath</a> varpath(rawvarpath); +00395 +00396 <span class="keywordflow">if</span> (varpath.<a class="code" href="a03653.html#CVarPatha3">empty</a>()) +00397 <span class="keywordflow">return</span>; +00398 +00399 <span class="keywordflow">if</span> (varpath.<a class="code" href="a03653.html#CVarPatha4">isFinal</a>()) +00400 { +00401 vector<string> vara, vala; +00402 +00403 <span class="comment">// add default row</span> +00404 vara.push_back (<span class="stringliteral">"service"</span>); +00405 vala.push_back (IService::getInstance ()->getServiceUnifiedName()); +00406 +00407 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size (); j++) +00408 { +00409 string cmd = varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[j].first; +00410 +00411 <span class="comment">// replace = with space to execute the command</span> +00412 <a class="code" href="a04558.html#a15">uint</a> eqpos = cmd.find(<span class="stringliteral">"="</span>); +00413 <span class="keywordflow">if</span> (eqpos != string::npos) +00414 { +00415 cmd[eqpos] = <span class="charliteral">' '</span>; +00416 vara.push_back(cmd.substr(0, eqpos)); +00417 } +00418 <span class="keywordflow">else</span> +00419 vara.push_back(cmd); +00420 +00421 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera0">clear</a> (); +00422 ICommand::execute(cmd, logDisplayVars, !ICommand::isCommand(cmd)); +00423 <span class="keyword">const</span> std::deque<std::string> &strs = mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera3">lockStrings</a>(); +00424 +00425 <span class="keywordflow">if</span> (ICommand::isCommand(cmd)) +00426 { +00427 <span class="comment">// we want the log of the command</span> +00428 <span class="keywordflow">if</span> (j == 0) +00429 { +00430 vara.clear (); +00431 vara.push_back (<span class="stringliteral">"__log"</span>); +00432 vala.clear (); +00433 } +00434 +00435 vala.push_back (<span class="stringliteral">"----- Result from "</span>+IService::getInstance()->getServiceUnifiedName()+<span class="stringliteral">" of command '"</span>+cmd+<span class="stringliteral">"'\n"</span>); +00436 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < strs.size(); k++) +00437 { +00438 vala.push_back (strs[k]); +00439 } +00440 } +00441 <span class="keywordflow">else</span> +00442 { +00443 +00444 <span class="keywordflow">if</span> (strs.size()>0) +00445 { +00446 str = strs[0].substr(0,strs[0].<a class="code" href="a04115.html#a94">size</a>()-1); +00447 <span class="comment">// replace all spaces into udnerscore because space is a reserved char</span> +00448 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < str.size(); i++) <span class="keywordflow">if</span> (str[i] == <span class="charliteral">' '</span>) str[i] = <span class="charliteral">'_'</span>; +00449 +00450 <span class="comment">/*</span> +00451 <span class="comment"> uint32 pos = strs[0].find("=");</span> +00452 <span class="comment"> if(pos != string::npos && pos + 2 < strs[0].size())</span> +00453 <span class="comment"> {</span> +00454 <span class="comment"> uint32 pos2 = string::npos;</span> +00455 <span class="comment"> if(strs[0][strs[0].size()-1] == '\n')</span> +00456 <span class="comment"> pos2 = strs[0].size() - pos - 2 - 1;</span> +00457 <span class="comment"> </span> +00458 <span class="comment"> str = strs[0].substr (pos+2, pos2);</span> +00459 <span class="comment"> </span> +00460 <span class="comment"> // replace all spaces into udnerscore because space is a reserved char</span> +00461 <span class="comment"> for (uint i = 0; i < str.size(); i++) if (str[i] == ' ') str[i] = '_';</span> +00462 <span class="comment"> }</span> +00463 <span class="comment"> else</span> +00464 <span class="comment"> {</span> +00465 <span class="comment"> str = "???";</span> +00466 <span class="comment"> }*/</span> +00467 } +00468 <span class="keywordflow">else</span> +00469 { +00470 str = <span class="stringliteral">"???"</span>; +00471 } +00472 vala.push_back (str); +00473 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Add to result view '%s' = '%s'"</span>, varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[j].first.c_str(), str.c_str()); +00474 } +00475 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera5">unlockStrings</a>(); +00476 } +00477 +00478 <span class="keywordflow">if</span> (!async) +00479 answer.push_back (make_pair(vara, vala)); +00480 <span class="keywordflow">else</span> +00481 { +00482 <a class="code" href="a05379.html#a107">addRequestWaitingNb</a> (rid); +00483 <a class="code" href="a05379.html#a109">addRequestAnswer</a> (rid, vara, vala); +00484 } +00485 } +00486 <span class="keywordflow">else</span> +00487 { +00488 <span class="comment">// there s an entity in the varpath, manage this case</span> +00489 +00490 vector<string> *vara=0, *vala=0; +00491 +00492 <span class="comment">// varpath.Destination contains the entity number</span> +00493 <span class="comment">// subvarpath.Destination contains the command name</span> +00494 +00495 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size (); i++) +00496 { +00497 <a class="code" href="a03653.html">CVarPath</a> subvarpath(varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[i].second); +00498 +00499 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < subvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size (); j++) +00500 { +00501 <span class="comment">// set the variable name</span> +00502 string cmd = subvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[j].first; +00503 +00504 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a112">isRemoteCommand</a>(cmd)) +00505 { +00506 <span class="keywordflow">if</span> (async && <a class="code" href="a05379.html#a0">RemoteClientCallback</a> != 0) +00507 { +00508 <span class="comment">// ok we have to send the request to another side, just send and wait</span> +00509 <a class="code" href="a05379.html#a107">addRequestWaitingNb</a> (rid); +00510 <a class="code" href="a05379.html#a0">RemoteClientCallback</a> (rid, cmd, varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[i].first); +00511 } +00512 } +00513 <span class="keywordflow">else</span> +00514 { +00515 <span class="comment">// replace = with space to execute the command</span> +00516 <a class="code" href="a04558.html#a15">uint</a> eqpos = cmd.find(<span class="stringliteral">"="</span>); +00517 <span class="keywordflow">if</span> (eqpos != string::npos) +00518 { +00519 cmd[eqpos] = <span class="charliteral">' '</span>; +00520 <span class="comment">// add the entity</span> +00521 cmd.insert(eqpos, <span class="stringliteral">" "</span>+varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[i].first); +00522 } +00523 <span class="keywordflow">else</span> +00524 { +00525 <span class="comment">// add the entity</span> +00526 cmd += <span class="stringliteral">" "</span>+varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[i].first; +00527 } +00528 +00529 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera0">clear</a> (); +00530 ICommand::execute(cmd, logDisplayVars, <span class="keyword">true</span>); +00531 <span class="keyword">const</span> std::deque<std::string> &strs = mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera3">lockStrings</a>(); +00532 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> k = 0; k < strs.size(); k++) +00533 { +00534 <span class="keyword">const</span> string &str = strs[k]; +00535 +00536 <a class="code" href="a04558.html#a11">uint32</a> pos = str.find(<span class="stringliteral">" "</span>); +00537 <span class="keywordflow">if</span>(pos == string::npos) +00538 <span class="keywordflow">continue</span>; +00539 +00540 string entity = str.substr(0, pos); +00541 string <a class="code" href="a04223.html#a658">value</a> = str.substr(pos+1, str.size()-pos-2); +00542 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> u = 0; u < <a class="code" href="a04223.html#a658">value</a>.size(); u++) <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a658">value</a>[u] == <span class="charliteral">' '</span>) <a class="code" href="a04223.html#a658">value</a>[u] = <span class="charliteral">'_'</span>; +00543 +00544 <span class="comment">// look in the array if we already have something about this entity</span> +00545 +00546 <span class="keywordflow">if</span> (!async) +00547 { +00548 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a573">y</a>; +00549 <span class="keywordflow">for</span> (<a class="code" href="a04223.html#a573">y</a> = 0; <a class="code" href="a04223.html#a573">y</a> < answer.size(); <a class="code" href="a04223.html#a573">y</a>++) +00550 { +00551 <span class="keywordflow">if</span> (answer[<a class="code" href="a04223.html#a573">y</a>].second[1] == entity) +00552 { +00553 <span class="comment">// ok we found it, just push_back new stuff</span> +00554 vara = &(answer[<a class="code" href="a04223.html#a573">y</a>].first); +00555 vala = &(answer[<a class="code" href="a04223.html#a573">y</a>].second); +00556 <span class="keywordflow">break</span>; +00557 } +00558 } +00559 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a573">y</a> == answer.size ()) +00560 { +00561 answer.push_back (make_pair(vector<string>(), vector<string>())); +00562 +00563 vara = &(answer[answer.size()-1].first); +00564 vala = &(answer[answer.size()-1].second); +00565 +00566 <span class="comment">// don't add service if we want an entity</span> +00567 <span class="comment">// todo when we work on entity, we don't need service name and server so we should remove them and collapse all var for the same entity</span> +00568 vara->push_back (<span class="stringliteral">"service"</span>); +00569 string name = IService::getInstance ()->getServiceUnifiedName(); +00570 vala->push_back (name); +00571 +00572 <span class="comment">// add default row</span> +00573 vara->push_back (<span class="stringliteral">"entity"</span>); +00574 vala->push_back (entity); +00575 } +00576 +00577 vara->push_back (cmd.substr(0, cmd.find(<span class="stringliteral">" "</span>))); +00578 vala->push_back (value); +00579 } +00580 <span class="keywordflow">else</span> +00581 { +00582 <a class="code" href="a05379.html#a107">addRequestWaitingNb</a> (rid); +00583 +00584 vector<string> vara, vala; +00585 vara.push_back (<span class="stringliteral">"service"</span>); +00586 string name = IService::getInstance ()->getServiceUnifiedName(); +00587 vala.push_back (name); +00588 +00589 <span class="comment">// add default row</span> +00590 vara.push_back (<span class="stringliteral">"entity"</span>); +00591 vala.push_back (entity); +00592 +00593 vara.push_back (cmd.substr(0, cmd.find(<span class="stringliteral">" "</span>))); +00594 vala.push_back (value); +00595 +00596 <a class="code" href="a05379.html#a109">addRequestAnswer</a> (rid, vara, vala); +00597 } +00598 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Add to result view for entity '%s', '%s' = '%s'"</span>, varpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[i].first.c_str(), subvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[j].first.c_str(), str.c_str()); +00599 } +00600 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera5">unlockStrings</a>(); +00601 } +00602 } +00603 } +00604 } +00605 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a135" doxytag="NLNET::setDefaultEmailParams" ></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"> void NLNET::setDefaultEmailParams </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname" nowrap> <em>smtpServer</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>from</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>to</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +If you call this function, the default from (when from is "") used in the sendEmail will be the one you set by this function +<p> +Definition at line <a class="el" href="a05670.html#l00349">349</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +References <a class="el" href="a05670.html#l00040">DefaultFrom</a>, <a class="el" href="a05670.html#l00040">DefaultSMTPServer</a>, <a class="el" href="a05670.html#l00040">DefaultTo</a>, and <a class="el" href="a06756.html#l00873">from</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00350 { +00351 <a class="code" href="a05379.html#a13">DefaultSMTPServer</a> = smtpServer; +00352 <a class="code" href="a05379.html#a14">DefaultFrom</a> = <a class="code" href="a05333.html#a132">from</a>; +00353 <a class="code" href="a05379.html#a15">DefaultTo</a> = to; +00354 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a220" doxytag="NLNET::setInformations" ></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"> void setInformations </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< std::string > & </td> + <td class="mdname" nowrap> <em>alarms</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const std::vector< std::string > & </td> + <td class="mdname" nowrap> <em>graphupdate</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a117" doxytag="NLNET::setInformations" ></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"> void setInformations </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const vector< string > & </td> + <td class="mdname" nowrap> <em>alarms</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< string > & </td> + <td class="mdname" nowrap> <em>graphupdate</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05391.html#l00797">797</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05391.html#l00084">Alarms</a>, <a class="el" href="a06668.html#l00042">CVarPath::Destination</a>, <a class="el" href="a05391.html#l00086">GraphUpdates</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00100">cbInfo()</a>. +<p> +<div class="fragment"><pre>00798 { +00799 <a class="code" href="a04558.html#a15">uint</a> i; +00800 +00801 <span class="comment">// add only commands that I understand</span> +00802 <a class="code" href="a05379.html#a1">Alarms</a>.clear (); +00803 <span class="keywordflow">for</span> (i = 0; i < alarms.size(); i+=3) +00804 { +00805 <a class="code" href="a03653.html">CVarPath</a> shardvarpath (alarms[i]); +00806 <span class="keywordflow">if</span>(shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00807 <span class="keywordflow">continue</span>; +00808 <a class="code" href="a03653.html">CVarPath</a> servervarpath (shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second); +00809 <span class="keywordflow">if</span>(servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00810 <span class="keywordflow">continue</span>; +00811 <a class="code" href="a03653.html">CVarPath</a> servicevarpath (servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second); +00812 <span class="keywordflow">if</span>(servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00813 <span class="keywordflow">continue</span>; +00814 +00815 string name = servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second; +00816 +00817 <span class="keywordflow">if</span> (IService::getInstance()->getServiceUnifiedName().find(servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].first) != string::npos && ICommand::exists(name)) +00818 { +00819 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Adding alarm '%s' limit %d order %s (varpath '%s')"</span>, name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str()); +00820 <a class="code" href="a05379.html#a1">Alarms</a>.push_back(<a class="code" href="a02193.html">CAlarm</a>(name, atoi(alarms[i+1].c_str()), alarms[i+2]==<span class="stringliteral">"gt"</span>)); +00821 } +00822 <span class="keywordflow">else</span> +00823 { +00824 <span class="keywordflow">if</span> (IService::getInstance()->getServiceUnifiedName().find(servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].first) == string::npos) +00825 { +00826 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Skipping alarm '%s' limit %d order %s (varpath '%s') (not for my service, i'm '%s')"</span>, name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); +00827 } +00828 <span class="keywordflow">else</span> +00829 { +00830 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Skipping alarm '%s' limit %d order %s (varpath '%s') (var not exist)"</span>, name.c_str(), atoi(alarms[i+1].c_str()), alarms[i+2].c_str(), alarms[i].c_str()); +00831 } +00832 } +00833 } +00834 +00835 <span class="comment">// do the same with graph update</span> +00836 <a class="code" href="a05379.html#a2">GraphUpdates</a>.clear (); +00837 <span class="keywordflow">for</span> (i = 0; i < graphupdate.size(); i+=2) +00838 { +00839 <a class="code" href="a03653.html">CVarPath</a> shardvarpath (graphupdate[i]); +00840 <span class="keywordflow">if</span>(shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00841 <span class="keywordflow">continue</span>; +00842 <a class="code" href="a03653.html">CVarPath</a> servervarpath (shardvarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second); +00843 <span class="keywordflow">if</span>(servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00844 <span class="keywordflow">continue</span>; +00845 <a class="code" href="a03653.html">CVarPath</a> servicevarpath (servervarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second); +00846 <span class="keywordflow">if</span>(servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>.size() == 0 || servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second.empty()) +00847 <span class="keywordflow">continue</span>; +00848 +00849 string VarName = servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].second; +00850 string ServiceName = servicevarpath.<a class="code" href="a03653.html#CVarPatho0">Destination</a>[0].first; +00851 +00852 <span class="keywordflow">if</span> (ICommand::exists(VarName) && (ServiceName == <span class="stringliteral">"*"</span> || IService::getInstance()->getServiceShortName() == ServiceName)) +00853 { +00854 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Adding graphupdate '%s' update %d (varpath '%s')"</span>, VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str()); +00855 <a class="code" href="a05379.html#a2">GraphUpdates</a>.push_back(<a class="code" href="a02601.html">CGraphUpdate</a>(VarName, atoi(graphupdate[i+1].c_str()))); +00856 } +00857 <span class="keywordflow">else</span> +00858 { +00859 <span class="keywordflow">if</span> (IService::getInstance()->getServiceShortName() != ServiceName) +00860 { +00861 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Skipping graphupdate '%s' limit %d (varpath '%s') (not for my service, i'm '%s')"</span>, VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str(), IService::getInstance()->getServiceUnifiedName().c_str()); +00862 } +00863 <span class="keywordflow">else</span> +00864 { +00865 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: Skipping graphupdate '%s' limit %d (varpath '%s') (var not exist)"</span>, VarName.c_str(), atoi(graphupdate[i+1].c_str()), graphupdate[i].c_str()); +00866 } +00867 } +00868 } +00869 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a148" doxytag="NLNET::setListenAddress" ></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"> void setListenAddress </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const string & </td> + <td class="mdname1" valign="top" nowrap> <em>la</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> + +<p> +Definition at line <a class="el" href="a05962.html#l00244">244</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +References <a class="el" href="a05810.html#l00397">NLNET::CInetAddress::asIPString()</a>, <a class="el" href="a05962.html#l00054">ListenAddr</a>, <a class="el" href="a05513.html#l00238">NLNET::CBufServer::listenAddress()</a>, <a class="el" href="a05962.html#l00063">ModeTcp</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05962.html#l00053">Server</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00259">cfcbListenAddress()</a>, and <a class="el" href="a05962.html#l00295">NLNET::CLoginServer::init()</a>. +<p> +<div class="fragment"><pre>00245 { +00246 <span class="comment">// if the var is empty or not found, take it from the listenAddress()</span> +00247 <span class="keywordflow">if</span> (la.empty() && <a class="code" href="a05379.html#a26">ModeTcp</a> && <a class="code" href="a05379.html#a21">Server</a> != NULL) +00248 { +00249 <a class="code" href="a05379.html#a22">ListenAddr</a> = <a class="code" href="a05379.html#a21">Server</a>-><a class="code" href="a02302.html#NLNET_1_1CCallbackServera24">listenAddress</a> ().<a class="code" href="a02665.html#NLNET_1_1CInetAddressa0">asIPString</a>(); +00250 } +00251 <span class="keywordflow">else</span> +00252 { +00253 <a class="code" href="a05379.html#a22">ListenAddr</a> = la; +00254 } +00255 +00256 <a class="code" href="a04199.html#a1">nlinfo</a>(<span class="stringliteral">"LS: Listen Address that will be send to client is now '%s'"</span>, <a class="code" href="a05379.html#a22">ListenAddr</a>.c_str()); +00257 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a106" doxytag="NLNET::setRemoteClientCallback" ></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"> void NLNET::setRemoteClientCallback </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05379.html#a73">TRemoteClientCallback</a> </td> + <td class="mdname1" valign="top" nowrap> <em>cb</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05391.html#l00211">211</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05391.html#l00082">RemoteClientCallback</a>, and <a class="el" href="a05392.html#l00066">TRemoteClientCallback</a>. +<p> +<div class="fragment"><pre>00212 { +00213 <a class="code" href="a05379.html#a0">RemoteClientCallback</a> = cb; +00214 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a173" doxytag="NLNET::sigHandler" ></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"> void sigHandler </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">int </td> + <td class="mdname1" valign="top" nowrap> <em>Sig</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> + +<p> +Definition at line <a class="el" href="a06364.html#l00164">164</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00117">ExitSignalAsked</a>, <a class="el" href="a05586.html#l00093">NLMISC::getThreadId()</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06364.html#l00164">sigHandler()</a>, <a class="el" href="a06364.html#l00126">SignalisedThread</a>, and <a class="el" href="a06364.html#l00092">SignalName</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00211">initSignal()</a>, and <a class="el" href="a06364.html#l00164">sigHandler()</a>. +<p> +<div class="fragment"><pre>00165 { +00166 <span class="comment">// redirect the signal for the next time</span> +00167 signal(Sig, sigHandler); +00168 +00169 <span class="comment">// find the signal</span> +00170 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < (<span class="keywordtype">int</span>)(<span class="keyword">sizeof</span>(<a class="code" href="a05379.html#a44">Signal</a>)/<span class="keyword">sizeof</span>(<a class="code" href="a05379.html#a44">Signal</a>[0])); i++) +00171 { +00172 <span class="keywordflow">if</span> (Sig == <a class="code" href="a05379.html#a44">Signal</a>[i]) +00173 { +00174 <span class="keywordflow">if</span> (<a class="code" href="a05378.html#a257">getThreadId</a> () != <a class="code" href="a05379.html#a49">SignalisedThread</a>) +00175 { +00176 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"SERVICE: Not the main thread received the signal (%s, %d), ignore it"</span>, SignalName[i],Sig); +00177 <span class="keywordflow">return</span>; +00178 } +00179 <span class="keywordflow">else</span> +00180 { +00181 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: Signal %s (%d) received"</span>, SignalName[i], Sig); +00182 <span class="keywordflow">switch</span> (Sig) +00183 { +00184 <span class="keywordflow">case</span> SIGABRT : +00185 <span class="keywordflow">case</span> SIGILL : +00186 <span class="keywordflow">case</span> SIGINT : +00187 <span class="keywordflow">case</span> SIGSEGV : +00188 <span class="keywordflow">case</span> SIGTERM : +00189 <span class="comment">// you should not call a function and system function like printf in a SigHandle because</span> +00190 <span class="comment">// signal-handler routines are usually called asynchronously when an interrupt occurs.</span> +00191 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a48">ExitSignalAsked</a> == 0) +00192 { +00193 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: Receive a signal that said that i must exit"</span>); +00194 <a class="code" href="a05379.html#a48">ExitSignalAsked</a> = Sig; +00195 <span class="keywordflow">return</span>; +00196 } +00197 <span class="keywordflow">else</span> +00198 { +00199 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"SERVICE: Signal already received, launch the brutal exit"</span>); +00200 exit (EXIT_FAILURE); +00201 } +00202 <span class="keywordflow">break</span>; +00203 } +00204 } +00205 } +00206 } +00207 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"SERVICE: Unknown signal received (%d)"</span>, Sig); +00208 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a126" doxytag="NLNET::stringFromVectorPart" ></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 stringFromVectorPart </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const vector< <a class="el" href="a04558.html#a7">uint8</a> > & </td> + <td class="mdname" nowrap> <em>v</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>pos</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname" nowrap> <em>len</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a05514.html#l00106">106</a> of file <a class="el" href="a05514.html">buf_sock.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05622.html#l00333">nlassertex</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a05646.html#l00237">v</a>. +<p> +<div class="fragment"><pre>00107 { +00108 <a class="code" href="a04199.html#a8">nlassertex</a>( pos+len <= <a class="code" href="a04223.html#a576">v</a>.size(), (<span class="stringliteral">"pos=%u len=%u size=%u"</span>, pos, <a class="code" href="a04223.html#a571">len</a>, <a class="code" href="a04223.html#a576">v</a>.size()) ); +00109 +00110 string <a class="code" href="a04223.html#a626">s</a>; +00111 <span class="keywordflow">if</span> ( (! <a class="code" href="a04223.html#a576">v</a>.empty()) && (<a class="code" href="a04223.html#a571">len</a>!=0) ) +00112 { +00113 <span class="comment">// Copy contents</span> +00114 <a class="code" href="a04223.html#a626">s</a>.resize( len ); +00115 memcpy( &*<a class="code" href="a04223.html#a626">s</a>.begin(), &*<a class="code" href="a04223.html#a576">v</a>.begin()+pos, <a class="code" href="a04223.html#a571">len</a> ); +00116 +00117 <span class="comment">// Replace '\0' characters</span> +00118 string::iterator is; +00119 <span class="keywordflow">for</span> ( is=<a class="code" href="a04223.html#a626">s</a>.begin(); is!=<a class="code" href="a04223.html#a626">s</a>.end(); ++is ) +00120 { +00121 <span class="keywordflow">if</span> ( ! isprint((<a class="code" href="a04558.html#a7">uint8</a>)(*is)) || (*is) == <span class="charliteral">'%'</span> ) +00122 { +00123 (*is) = <span class="charliteral">'?'</span>; +00124 } +00125 } +00126 } +00127 +00128 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a626">s</a>; +00129 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a158" doxytag="NLNET::StringToEvent" ></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"> <a class="el" href="a05379.html#a225">TNetworkEvent</a> NLNET::StringToEvent </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">string & </td> + <td class="mdname1" valign="top" nowrap> <em>s</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +string -> TNetworkEvent +<p> + +<p> +Definition at line <a class="el" href="a06028.html#l00054">54</a> of file <a class="el" href="a06028.html">message_recorder.cpp</a>. +<p> +References <a class="el" href="a05379.html#a225a90">Accepting</a>, <a class="el" href="a05379.html#a225a88">Connecting</a>, <a class="el" href="a05379.html#a225a89">ConnFailing</a>, <a class="el" href="a05379.html#a225a91">Disconnecting</a>, <a class="el" href="a05379.html#a225a92">Error</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05379.html#a225a87">Receiving</a>, <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05379.html#a225a86">Sending</a>, and <a class="el" href="a06029.html#l00049">TNetworkEvent</a>. +<p> +Referenced by <a class="el" href="a06029.html#l00072">NLNET::TMessageRecord::serial()</a>. +<p> +<div class="fragment"><pre>00055 { +00056 <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"RECV"</span> ) +00057 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a87">Receiving</a>; +00058 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"SEND"</span> ) +00059 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a86">Sending</a>; +00060 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"DISC"</span> ) +00061 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a91">Disconnecting</a>; +00062 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"ACCP"</span> ) +00063 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a90">Accepting</a>; +00064 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"CONN"</span> ) +00065 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a88">Connecting</a>; +00066 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( <a class="code" href="a04223.html#a626">s</a> == <span class="stringliteral">"CNFL"</span> ) +00067 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a89">ConnFailing</a>; +00068 <span class="keywordflow">else</span> +00069 { +00070 <a class="code" href="a04199.html#a12">nlstop</a>; +00071 <span class="keywordflow">return</span> <a class="code" href="a05379.html#a225a92">Error</a>; +00072 } +00073 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a139" doxytag="NLNET::stringToInternalIPAddress" ></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"> <a class="el" href="a04558.html#a11">uint32</a> NLNET::stringToInternalIPAddress </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>addr</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Take a internet dot string and convert it in an uint32 internal format for example "128.64.32.16" -> 0xF0804020. +<p> + +<p> +Definition at line <a class="el" href="a05810.html#l00522">522</a> of file <a class="el" href="a05810.html">inet_address.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01759">NLNET::CUnifiedNetwork::addNetworkAssociation()</a>. +<p> +<div class="fragment"><pre>00523 { +00524 <span class="keywordflow">return</span> inet_addr( <a class="code" href="a04223.html#a657">addr</a>.c_str() ); +00525 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a108" doxytag="NLNET::subRequestWaitingNb" ></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"> void subRequestWaitingNb </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> </td> + <td class="mdname1" valign="top" nowrap> <em>rid</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> + +<p> +Definition at line <a class="el" href="a05391.html#l00237">237</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05391.html#l00091">Requests</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>. +<p> +<div class="fragment"><pre>00238 { +00239 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i < <a class="code" href="a05379.html#a4">Requests</a>.size (); i++) +00240 { +00241 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a4">Requests</a>[i].Id == rid) +00242 { +00243 <a class="code" href="a05379.html#a4">Requests</a>[i].NbWaiting--; +00244 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"ADMIN: ++ i %d rid %d NbWaiting- %d NbReceived %d"</span>, i, Requests[i].Id, Requests[i].NbWaiting, Requests[i].NbReceived); +00245 <span class="keywordflow">return</span>; +00246 } +00247 } +00248 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: subRequestWaitingNb: can't find the rid %d"</span>, rid); +00249 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a193" doxytag="NLNET::typeToString" ></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 typeToString </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">CTransportClass::TProp </td> + <td class="mdname1" valign="top" nowrap> <em>type</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a06580.html#l00077">77</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00244">type</a>. +<p> +Referenced by <a class="el" href="a06580.html#l00279">cbTCReceiveOtherSideClass()</a>. +<p> +<div class="fragment"><pre>00078 { +00079 string conv[] = { +00080 <span class="stringliteral">"PropUInt8"</span>, <span class="stringliteral">"PropUInt16"</span>, <span class="stringliteral">"PropUInt32"</span>, <span class="stringliteral">"PropUInt64"</span>, +00081 <span class="stringliteral">"PropSInt8"</span>, <span class="stringliteral">"PropSInt16"</span>, <span class="stringliteral">"PropSInt32"</span>, <span class="stringliteral">"PropSInt64"</span>, +00082 <span class="stringliteral">"PropBool"</span>, <span class="stringliteral">"PropFloat"</span>, <span class="stringliteral">"PropDouble"</span>, <span class="stringliteral">"PropString"</span>, <span class="stringliteral">"PropDataSetRow"</span>, <span class="stringliteral">"PropSheetId"</span>, <span class="stringliteral">"PropUKN"</span> }; +00083 <span class="comment">// "PropBool", "PropFloat", "PropDouble", "PropString", "PropDataSetRow", "PropEntityId", "PropSheetId", "PropUKN" };</span> +00084 +00085 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a581">type</a> > CTransportClass::PropUKN) +00086 <span class="keywordflow">return</span> <span class="stringliteral">"<InvalidType>"</span>; +00087 <span class="keywordflow">return</span> conv[<a class="code" href="a04223.html#a581">type</a>]; +00088 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a201" doxytag="NLNET::uncbConnection" ></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"> void uncbConnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l00172">172</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06645.html#l00042">AppIdDeadConnection</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, and <a class="el" href="a05511.html#l00042">TSockId</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. +<p> +<div class="fragment"><pre>00173 { +00174 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: + connec '%s'"</span>, <a class="code" href="a05333.html#a132">from</a>->asString().c_str()); +00175 +00176 <a class="code" href="a05333.html#a132">from</a>->setAppId (AppIdDeadConnection); +00177 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a202" doxytag="NLNET::uncbDisconnection" ></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"> void uncbDisconnection </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>void * </td> + <td class="mdname" nowrap> <em>arg</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l00179">179</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00427">NLNET::CUnifiedNetwork::_UsedConnection</a>, <a class="el" href="a06645.html#l00051">allstuffs</a>, <a class="el" href="a06645.html#l00042">AppIdDeadConnection</a>, <a class="el" href="a06645.html#l00047">AUTOCHECK_DISPLAY</a>, <a class="el" href="a06646.html#l00316">NLNET::CUnifiedNetwork::CUnifiedConnection::AutoRetry</a>, <a class="el" href="a06645.html#l01797">NLNET::CUnifiedNetwork::callServiceDownCallback()</a>, <a class="el" href="a06646.html#l00324">NLNET::CUnifiedNetwork::CUnifiedConnection::Connection</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06645.html#l01498">NLNET::CUnifiedNetwork::getUnifiedConnection()</a>, <a class="el" href="a06646.html#l00314">NLNET::CUnifiedNetwork::CUnifiedConnection::IsExternal</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a06645.html#l01727">NLNET::CUnifiedNetwork::removeNamedCnx()</a>, <a class="el" href="a06646.html#l00354">NLNET::CUnifiedNetwork::CUnifiedConnection::reset()</a>, <a class="el" href="a06646.html#l00310">NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceId</a>, <a class="el" href="a06646.html#l00308">NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, and <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. +<p> +<div class="fragment"><pre>00180 { +00181 <span class="keywordflow">if</span>(<a class="code" href="a05333.html#a132">from</a>->appId () == <a class="code" href="a05379.html#a63">AppIdDeadConnection</a>) +00182 { +00183 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: - connec '%s'"</span>, <a class="code" href="a05333.html#a132">from</a>->asString().c_str()); +00184 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"-connect dead conenction"</span>); +00185 } +00186 <span class="keywordflow">else</span> +00187 { +00188 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); +00189 <a class="code" href="a04558.html#a9">uint16</a> sid = (<a class="code" href="a04558.html#a9">uint16</a>)<a class="code" href="a05333.html#a132">from</a>->appId(); +00190 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); +00191 <span class="keywordflow">if</span> (uc == 0) +00192 { +00193 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: - connec '%s' sid %hu"</span>, <a class="code" href="a05333.html#a132">from</a>->asString().c_str(), sid); +00194 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"-connect '%s' %hu"</span>, <a class="code" href="a05333.html#a132">from</a>->asString ().c_str (), sid); +00195 } +00196 <span class="keywordflow">else</span> +00197 { +00198 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: - connec '%s' %s-%hu"</span>, <a class="code" href="a05333.html#a132">from</a>->asString().c_str(), uc->ServiceName.c_str (), sid); +00199 <a class="code" href="a05379.html#a65">allstuffs</a> += <span class="stringliteral">"-connect "</span>+uc->ServiceName+<span class="stringliteral">"-"</span>+<a class="code" href="a05378.html#a244">toString</a>(sid)+<span class="stringliteral">"\n"</span>; +00200 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"-connect %s-%hu"</span>, uc->ServiceName.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)(uc->ServiceId)); +00201 +00202 <span class="keywordflow">if</span> (uc->IsExternal) +00203 { +00204 <span class="keywordflow">if</span> (!uc->AutoRetry) +00205 { +00206 <span class="comment">// If it s a external service with no auto retry, remove the connection</span> +00207 +00208 <span class="comment">// call the user callback</span> +00209 uni->callServiceDownCallback(uc->ServiceName, uc->ServiceId); +00210 +00211 <span class="comment">/*CUnifiedNetwork::TNameMappedCallback::iterator it2 = uni->_DownCallbacks.find(uc->ServiceName);</span> +00212 <span class="comment"></span> +00213 <span class="comment"> if (it2 != uni->_DownCallbacks.end())</span> +00214 <span class="comment"> {</span> +00215 <span class="comment"> // call it</span> +00216 <span class="comment"> TUnifiedNetCallback cb = (*it2).second.first;</span> +00217 <span class="comment"> cb(uc->ServiceName, uc->ServiceId, (*it2).second.second);</span> +00218 <span class="comment"> }</span> +00219 <span class="comment"></span> +00220 <span class="comment"> for (uint c = 0; c < uni->_DownUniCallback.size (); c++)</span> +00221 <span class="comment"> {</span> +00222 <span class="comment"> if (uni->_DownUniCallback[c].first != NULL)</span> +00223 <span class="comment"> uni->_DownUniCallback[c].first(uc->ServiceName, uc->ServiceId, uni->_DownUniCallback[c].second);</span> +00224 <span class="comment"> }*/</span> +00225 +00226 uni->removeNamedCnx (uc->ServiceName, uc->ServiceId); +00227 +00228 <span class="comment">// remove the _UsedConnection</span> +00229 <span class="keywordtype">bool</span> found = <span class="keyword">false</span>; +00230 <span class="keywordflow">for</span> (vector<uint16>::iterator it = uni->_UsedConnection.begin (); it != uni->_UsedConnection.end(); it++) +00231 { +00232 <span class="keywordflow">if</span> (*it == uc->ServiceId) +00233 { +00234 found = <span class="keyword">true</span>; +00235 uni->_UsedConnection.erase (it); +00236 <span class="keywordflow">break</span>; +00237 } +00238 } +00239 <span class="keywordflow">if</span> (!found) <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: can't find the sid %hu in the _UsedConnection"</span>, uc->ServiceId); +00240 +00241 uc->reset (); +00242 } +00243 } +00244 <span class="keywordflow">else</span> +00245 { +00246 <span class="comment">// reset the connection</span> +00247 <a class="code" href="a04558.html#a15">uint</a> i; +00248 <span class="keywordflow">for</span> (i = 0; i < uc->Connection.size (); i++) +00249 { +00250 <span class="keywordflow">if</span> (uc->Connection[i].valid() && uc->Connection[i].CbNetBase->getSockId(uc->Connection[i].HostId) == <a class="code" href="a05333.html#a132">from</a>) +00251 { +00252 <span class="keywordflow">if</span> (uc->Connection[i].IsServerConnection) +00253 { +00254 <span class="comment">// we have to remove the stuffs now because HostId will not be accessible later</span> +00255 uc->Connection[i].reset(); +00256 } +00257 <span class="keywordflow">else</span> +00258 { +00259 <span class="comment">// if it s a client, we can't delete now because the callback client is currently in use</span> +00260 <span class="comment">// only disconnect</span> +00261 <span class="keywordflow">if</span>(uc->Connection[i].CbNetBase->connected ()) +00262 { +00263 uc->Connection[i].CbNetBase->disconnect (uc->Connection[i].HostId); +00264 } +00265 } +00266 <span class="keywordflow">break</span>; +00267 } +00268 } +00269 <span class="keywordflow">if</span> (i == uc->Connection.size ()) +00270 { +00271 <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: received a disconnection from a service but the connection is not in my list!"</span>); +00272 } +00273 } +00274 } +00275 +00276 <a class="code" href="a05333.html#a132">from</a>->setAppId (AppIdDeadConnection); +00277 } +00278 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a204" doxytag="NLNET::uncbMsgProcessing" ></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"> void uncbMsgProcessing </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l00406">406</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00454">NLNET::CUnifiedNetwork::_Callbacks</a>, <a class="el" href="a06645.html#l00042">AppIdDeadConnection</a>, <a class="el" href="a06645.html#l00047">AUTOCHECK_DISPLAY</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a06026.html#l00411">NLNET::CMessage::getName()</a>, <a class="el" href="a06645.html#l01498">NLNET::CUnifiedNetwork::getUnifiedConnection()</a>, <a class="el" href="a05788.html#l00056">H_AUTO</a>, <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a06646.html#l00308">NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName</a>, <a class="el" href="a06645.html#l00044">TotalCallbackCalled</a>, <a class="el" href="a06646.html#l00330">NLNET::CUnifiedNetwork::CUnifiedConnection::TotalCallbackCalled</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, and <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. +<p> +<div class="fragment"><pre>00407 { +00408 <span class="keywordflow">if</span> (<a class="code" href="a05333.html#a132">from</a>->appId() == <a class="code" href="a05379.html#a63">AppIdDeadConnection</a>) +00409 { +00410 <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: Receive a message from a dead connection"</span>); +00411 <span class="keywordflow">return</span>; +00412 } +00413 +00414 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); +00415 <a class="code" href="a04558.html#a9">uint16</a> sid = (<a class="code" href="a04558.html#a9">uint16</a>)<a class="code" href="a05333.html#a132">from</a>->appId(); +00416 CUnifiedNetwork::TMsgMappedCallback::iterator itcb; +00417 +00418 itcb = uni->_Callbacks.find(msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a>()); +00419 <span class="keywordflow">if</span> (itcb == uni->_Callbacks.end()) +00420 { +00421 <span class="comment">// the callback doesn't exist</span> +00422 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"HNETL5: Can't find callback '%s' called by service %hu"</span>, msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a>().c_str(), sid); +00423 } +00424 <span class="keywordflow">else</span> +00425 { +00426 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); +00427 +00428 <span class="keywordflow">if</span> (uc == 0) +00429 { +00430 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"HNETL5: Received a message from a service %hu that is not ready (bad appid? 0x%"</span>NL_I64<span class="stringliteral">"X)"</span>, sid, <a class="code" href="a05333.html#a132">from</a>->appId ()); +00431 <span class="keywordflow">return</span>; +00432 } +00433 <span class="keywordflow">if</span>((*itcb).second == 0) +00434 { +00435 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"HNETL5: Received message %s from a service %hu but the associated callback is NULL"</span>, msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a> ().c_str(), sid); +00436 <span class="keywordflow">return</span>; +00437 } +00438 +00439 { +00440 <span class="keyword">static</span> map<string, CHTimer> timers; +00441 map<string, CHTimer>::iterator it; +00442 +00443 { +00444 <a class="code" href="a04365.html#a4">H_AUTO</a>(L5UCHTimerOverhead); +00445 string callbackName = <span class="stringliteral">"USRCB_"</span> + msgin.<a class="code" href="a02918.html#NLNET_1_1CMessagea16">getName</a>(); +00446 it = timers.find(callbackName); +00447 <span class="keywordflow">if</span>(it == timers.end()) +00448 { +00449 it = timers.insert(make_pair(callbackName, CHTimer(NULL))).first; +00450 (*it).second.setName((*it).first.c_str()); +00451 } +00452 } +00453 +00454 { +00455 <a class="code" href="a04365.html#a4">H_AUTO</a>(L5UserCallback); +00456 +00457 (*it).second.before(); +00458 (*itcb).second (msgin, uc->ServiceName, sid); +00459 (*it).second.after(); +00460 } +00461 } +00462 +00463 uc->TotalCallbackCalled++; +00464 <a class="code" href="a05379.html#a64">TotalCallbackCalled</a>++; +00465 } +00466 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a203" doxytag="NLNET::uncbServiceIdentification" ></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"> void uncbServiceIdentification </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02918.html">CMessage</a> & </td> + <td class="mdname" nowrap> <em>msgin</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TSockId </td> + <td class="mdname" nowrap> <em>from</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>CCallbackNetBase & </td> + <td class="mdname" nowrap> <em>netbase</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></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="a06645.html#l00284">284</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00478">NLNET::CUnifiedNetwork::_DefaultNetwork</a>, <a class="el" href="a06646.html#l00424">NLNET::CUnifiedNetwork::_IdCnx</a>, <a class="el" href="a06646.html#l00475">NLNET::CUnifiedNetwork::_NetworkAssociations</a>, <a class="el" href="a06646.html#l00427">NLNET::CUnifiedNetwork::_UsedConnection</a>, <a class="el" href="a06645.html#l01700">NLNET::CUnifiedNetwork::addNamedCnx()</a>, <a class="el" href="a06645.html#l00051">allstuffs</a>, <a class="el" href="a06645.html#l00042">AppIdDeadConnection</a>, <a class="el" href="a06645.html#l00047">AUTOCHECK_DISPLAY</a>, <a class="el" href="a06645.html#l01768">NLNET::CUnifiedNetwork::callServiceUpCallback()</a>, <a class="el" href="a06646.html#l00324">NLNET::CUnifiedNetwork::CUnifiedConnection::Connection</a>, <a class="el" href="a05527.html#l00138">NLNET::CCallbackNetBase::disconnect()</a>, <a class="el" href="a06646.html#l00322">NLNET::CUnifiedNetwork::CUnifiedConnection::ExtAddress</a>, <a class="el" href="a06756.html#l00873">from</a>, <a class="el" href="a05526.html#l00443">NLNET::CCallbackNetBase::hostAddress()</a>, <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00416">nlstop</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a05511.html#l00042">TSockId</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a05810.html#l00509">vectorCInetAddressToString()</a>. +<p> +<div class="fragment"><pre>00285 { +00286 string inSName; +00287 <a class="code" href="a04558.html#a9">uint16</a> inSid; +00288 +00289 <span class="keywordflow">if</span> (<a class="code" href="a05333.html#a132">from</a>->appId () != <a class="code" href="a05379.html#a63">AppIdDeadConnection</a>) +00290 <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: received a connec ident from an unknown connection 0x%"</span>NL_I64<span class="stringliteral">"X"</span>, <a class="code" href="a05333.html#a132">from</a>->appId ()); +00291 +00292 <span class="comment">// recover the service name and id</span> +00293 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>(inSName); +00294 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a>(inSid); +00295 <a class="code" href="a04558.html#a7">uint8</a> pos; +00296 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (pos); +00297 <span class="keywordtype">bool</span> isExternal; +00298 msgin.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (isExternal); +00299 +00300 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: + connec ident '%s' %s-%hu pos %hu ext %d"</span>, <a class="code" href="a05333.html#a132">from</a>->asString().c_str(), inSName.c_str(), inSid, (<a class="code" href="a04558.html#a9">uint16</a>)pos, (<a class="code" href="a04558.html#a7">uint8</a>)isExternal); +00301 +00302 <a class="code" href="a05379.html#a65">allstuffs</a> += <span class="stringliteral">"+rconnect "</span>+inSName+<span class="stringliteral">"-"</span>+<a class="code" href="a05378.html#a244">toString</a>(inSid)+<span class="stringliteral">" pos "</span>+<a class="code" href="a05378.html#a244">toString</a>((<a class="code" href="a04558.html#a9">uint16</a>)pos)+<span class="stringliteral">"\n"</span>; +00303 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"+rconnect %s-%hu pos %hu"</span>, inSName.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)inSid, (<a class="code" href="a04558.html#a9">uint16</a>)pos); +00304 +00305 <span class="keywordflow">if</span>(isExternal) +00306 { +00307 <a class="code" href="a04199.html#a6">nlassert</a> (pos == 0); +00308 } +00309 +00310 <span class="keywordflow">if</span> (inSid == 0) +00311 { +00312 <span class="keywordflow">if</span> (isExternal) +00313 { +00314 inSid = CUnifiedNetwork::getInstance ()->_ExtSId++; +00315 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"HNETL5: Received a connection from a service with a SId 0, we give him the SId %d"</span>, inSid); +00316 } +00317 <span class="keywordflow">else</span> +00318 { +00319 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"HNETL5: Received a connection from a service with a SId 0 and wasn't external, disconnecting it"</span>); +00320 netbase.disconnect(); +00321 <span class="keywordflow">return</span>; +00322 } +00323 } +00324 +00325 <a class="code" href="a05333.html#a132">from</a>->setAppId(inSid); +00326 +00327 <span class="comment">// add a new connection to the list</span> +00328 CUnifiedNetwork *uni= CUnifiedNetwork::getInstance(); +00329 +00330 <span class="keywordflow">if</span>(inSid >= uni->_IdCnx.size ()) +00331 { +00332 uni->_IdCnx.resize (inSid+1); +00333 } +00334 +00335 <span class="keywordflow">switch</span>(uni->_IdCnx[inSid].State) +00336 { +00337 <span class="keywordflow">case</span> CUnifiedNetwork::CUnifiedConnection::NotUsed: <span class="comment">// add the new unified connection</span> +00338 uni->_IdCnx[inSid] = CUnifiedNetwork::CUnifiedConnection(inSName, inSid, isExternal); +00339 uni->_UsedConnection.push_back (inSid); +00340 <span class="keywordflow">break</span>; +00341 <span class="keywordflow">default</span>: +00342 <span class="keywordflow">break</span>; +00343 } +00344 +00345 <span class="keywordflow">if</span> (uni->_IdCnx[inSid].IsExternal != isExternal) +00346 { +00347 <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: Receive a connection that is not totally external %d %d"</span>, uni->_IdCnx[inSid].IsExternal, isExternal); +00348 <span class="keywordflow">return</span>; +00349 } +00350 +00351 <span class="keywordtype">bool</span> FirstConnection = (uni->_IdCnx[inSid].Connection.size () == 0); +00352 +00353 <span class="comment">// add the connection to the already inserted unified connection</span> +00354 <span class="keywordflow">if</span> (pos >= uni->_IdCnx[inSid].Connection.size ()) +00355 uni->_IdCnx[inSid].Connection.resize(pos+1); +00356 uni->_IdCnx[inSid].Connection[pos] = CUnifiedNetwork::CUnifiedConnection::TConnection(&netbase, from); +00357 +00358 <span class="comment">// If the connection is external, we'll never receive the ExtAddress by the naming service, so add it manually</span> +00359 <span class="keywordflow">if</span> (isExternal) +00360 { +00361 uni->_IdCnx[inSid].ExtAddress.push_back (netbase.hostAddress (from)); +00362 uni->_IdCnx[inSid].setupNetworkAssociation (uni->_NetworkAssociations, uni->_DefaultNetwork); +00363 } +00364 +00365 +00366 <span class="comment">// todo ace temp to savoir comment c est possible ce cas la</span> +00367 <span class="keywordflow">if</span> (uni->_IdCnx[inSid].Connection.size() == 3) +00368 { +00369 CUnifiedNetwork::CUnifiedConnection *uc = &uni->_IdCnx[inSid]; +00370 <a class="code" href="a04199.html#a12">nlstop</a>; +00371 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: ext addr %s"</span>, vectorCInetAddressToString (uc->ExtAddress).c_str ()); +00372 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> i = 0; i < uc->Connection.size(); i++) +00373 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: cnx %s"</span>, uc->Connection[i].HostId->asString ().c_str ()); +00374 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"HNETL5: %s"</span>, <a class="code" href="a05379.html#a65">allstuffs</a>.c_str ()); +00375 } +00376 +00377 <span class="comment">// send the callback to the user with the first connection</span> +00378 <span class="keywordflow">if</span> (FirstConnection) +00379 { +00380 <span class="comment">// insert the name in the map to be able to send message with the name</span> +00381 uni->addNamedCnx (inSName, inSid); +00382 +00383 uni->callServiceUpCallback (inSName, inSid); +00384 <span class="comment">/*</span> +00385 <span class="comment"> // now we warn the user</span> +00386 <span class="comment"> CUnifiedNetwork::TNameMappedCallback::iterator it = uni->_UpCallbacks.find(inSName);</span> +00387 <span class="comment"> if (it != uni->_UpCallbacks.end())</span> +00388 <span class="comment"> {</span> +00389 <span class="comment"> // call it</span> +00390 <span class="comment"> for (list<TCallbackArgItem> it2 = (*it).second.begin(); it2 != (*it).second.end(); it2++)</span> +00391 <span class="comment"> {</span> +00392 <span class="comment"> TUnifiedNetCallback cb = (*it2).first;</span> +00393 <span class="comment"> if (cb) cb(inSName, inSid, (*it2).second);</span> +00394 <span class="comment"> }</span> +00395 <span class="comment"> }</span> +00396 <span class="comment"></span> +00397 <span class="comment"> for (uint c = 0; c < uni->_UpUniCallback.size (); c++)</span> +00398 <span class="comment"> {</span> +00399 <span class="comment"> if (uni->_UpUniCallback[c].first != NULL)</span> +00400 <span class="comment"> uni->_UpUniCallback[c].first (inSName, inSid, uni->_UpUniCallback[c].second);</span> +00401 <span class="comment"> }*/</span> +00402 } +00403 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a199" doxytag="NLNET::uNetRegistrationBroadcast" ></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"> void uNetRegistrationBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TServiceId </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< <a class="el" href="a02665.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"></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="a06645.html#l00058">58</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00478">NLNET::CUnifiedNetwork::_DefaultNetwork</a>, <a class="el" href="a06646.html#l00424">NLNET::CUnifiedNetwork::_IdCnx</a>, <a class="el" href="a06646.html#l00475">NLNET::CUnifiedNetwork::_NetworkAssociations</a>, <a class="el" href="a06646.html#l00448">NLNET::CUnifiedNetwork::_SId</a>, <a class="el" href="a06646.html#l00427">NLNET::CUnifiedNetwork::_UsedConnection</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a06645.html#l00051">allstuffs</a>, <a class="el" href="a06645.html#l00047">AUTOCHECK_DISPLAY</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05810.html#l00509">vectorCInetAddressToString()</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. +<p> +<div class="fragment"><pre>00059 { +00060 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"HNETL5: + naming %s-%hu '%s'"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid, <a class="code" href="a05379.html#a138">vectorCInetAddressToString</a>(addr).c_str ()); +00061 +00062 <a class="code" href="a05379.html#a65">allstuffs</a> += <span class="stringliteral">"+naming "</span>+name+<span class="stringliteral">"-"</span>+<a class="code" href="a05378.html#a244">toString</a>(sid)+<span class="stringliteral">"\n"</span>; +00063 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"+naming %s-%hu"</span>, name.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)sid); +00064 +00065 CUnifiedNetwork *uni= CUnifiedNetwork::getInstance(); +00066 +00067 <span class="keywordflow">if</span> (uni->_SId == sid) +00068 { +00069 <a class="code" href="a05379.html#a65">allstuffs</a> += <span class="stringliteral">"itsme!!!\n"</span>; +00070 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"itsme!!!"</span>); +00071 <span class="comment">// it's me! don't add me!!!</span> +00072 <span class="keywordflow">return</span>; +00073 } +00074 +00075 <span class="comment">// add the unified connection</span> +00076 +00077 <span class="keywordflow">if</span>(sid >= uni->_IdCnx.size ()) +00078 uni->_IdCnx.resize (sid+1); +00079 +00080 <span class="keywordflow">if</span> (uni->_IdCnx[sid].State == CUnifiedNetwork::CUnifiedConnection::NotUsed) +00081 { +00082 uni->_IdCnx[sid] = CUnifiedNetwork::CUnifiedConnection(name, sid, <span class="keyword">false</span>); +00083 uni->_UsedConnection.push_back (sid); +00084 } +00085 +00086 <span class="keywordflow">if</span> (!uni->_IdCnx[sid].ExtAddress.empty ()) <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: %s-%hu already inserted in the table with '%s'"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid, <a class="code" href="a05379.html#a138">vectorCInetAddressToString</a> (uni->_IdCnx[sid].ExtAddress).c_str ()); +00087 +00088 +00089 <span class="comment">// set the list of external addresses</span> +00090 +00091 <a class="code" href="a04199.html#a6">nlassert</a> (!<a class="code" href="a04223.html#a657">addr</a>.empty()); +00092 +00093 uni->_IdCnx[sid].ExtAddress = <a class="code" href="a04223.html#a657">addr</a>; +00094 +00095 <span class="comment">// associate nid with ext address</span> +00096 uni->_IdCnx[sid].setupNetworkAssociation (uni->_NetworkAssociations, uni->_DefaultNetwork); +00097 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a200" doxytag="NLNET::uNetUnregistrationBroadcast" ></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"> void uNetUnregistrationBroadcast </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const string & </td> + <td class="mdname" nowrap> <em>name</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TServiceId </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< <a class="el" href="a02665.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"></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="a06645.html#l00100">100</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +References <a class="el" href="a06646.html#l00427">NLNET::CUnifiedNetwork::_UsedConnection</a>, <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a06645.html#l00051">allstuffs</a>, <a class="el" href="a06645.html#l00042">AppIdDeadConnection</a>, <a class="el" href="a06645.html#l00047">AUTOCHECK_DISPLAY</a>, <a class="el" href="a06645.html#l01797">NLNET::CUnifiedNetwork::callServiceDownCallback()</a>, <a class="el" href="a06646.html#l00324">NLNET::CUnifiedNetwork::CUnifiedConnection::Connection</a>, <a class="el" href="a06645.html#l01498">NLNET::CUnifiedNetwork::getUnifiedConnection()</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a06645.html#l01727">NLNET::CUnifiedNetwork::removeNamedCnx()</a>, <a class="el" href="a06646.html#l00354">NLNET::CUnifiedNetwork::CUnifiedConnection::reset()</a>, <a class="el" href="a06646.html#l00310">NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceId</a>, <a class="el" href="a06646.html#l00308">NLNET::CUnifiedNetwork::CUnifiedConnection::ServiceName</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05810.html#l00509">vectorCInetAddressToString()</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. +<p> +<div class="fragment"><pre>00101 { +00102 <a class="code" href="a04199.html#a0">nldebug</a> (<span class="stringliteral">"HNETL5: - naming %s-%hu '%s'"</span>, name.c_str(), (<a class="code" href="a04558.html#a9">uint16</a>)sid, <a class="code" href="a05379.html#a138">vectorCInetAddressToString</a> (addr).c_str ()); +00103 +00104 <a class="code" href="a05379.html#a65">allstuffs</a> += <span class="stringliteral">"-naming "</span>+name+<span class="stringliteral">"-"</span>+<a class="code" href="a05378.html#a244">toString</a>(sid)+<span class="stringliteral">"\n"</span>; +00105 <a class="code" href="a05373.html#a4">test</a>.displayNL (<span class="stringliteral">"-naming %s-%hu"</span>, name.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)sid); +00106 +00107 <span class="comment">// get the service connection</span> +00108 CUnifiedNetwork *uni = CUnifiedNetwork::getInstance(); +00109 +00110 CUnifiedNetwork::CUnifiedConnection *uc = uni->getUnifiedConnection (sid); +00111 <span class="keywordflow">if</span> (uc == 0) <span class="keywordflow">return</span>; <span class="comment">// should never happen, the getUnifiedConnection() will generate a AUTOCHECK_DISPLAY</span> +00112 +00113 <span class="comment">// call the user callback</span> +00114 +00115 uni->callServiceDownCallback(uc->ServiceName, uc->ServiceId); +00116 +00117 <span class="comment">/*</span> +00118 <span class="comment"> CUnifiedNetwork::TNameMappedCallback::iterator it2 = uni->_DownCallbacks.find(uc->ServiceName);</span> +00119 <span class="comment"></span> +00120 <span class="comment"> if (it2 != uni->_DownCallbacks.end())</span> +00121 <span class="comment"> {</span> +00122 <span class="comment"> // call it</span> +00123 <span class="comment"> TUnifiedNetCallback cb = (*it2).second.first;</span> +00124 <span class="comment"> cb(uc->ServiceName, uc->ServiceId, (*it2).second.second);</span> +00125 <span class="comment"> }</span> +00126 <span class="comment"></span> +00127 <span class="comment"> for (uint c = 0; c < uni->_DownUniCallback.size (); c++)</span> +00128 <span class="comment"> {</span> +00129 <span class="comment"> if (uni->_DownUniCallback[c].first != NULL)</span> +00130 <span class="comment"> uni->_DownUniCallback[c].first(uc->ServiceName, uc->ServiceId, uni->_DownUniCallback[c].second);</span> +00131 <span class="comment"> }*/</span> +00132 +00133 <span class="keywordflow">if</span>(!uc->Connection.empty ()) +00134 { +00135 <span class="comment">// set all connection to dead, now, all messages received on this socket will be ignored and closed</span> +00136 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < uc->Connection.size (); ++i) +00137 { +00138 <span class="keywordflow">if</span> (uc->Connection[i].valid()) +00139 uc->Connection[i].setAppId (AppIdDeadConnection); +00140 } +00141 +00142 <span class="comment">//</span> +00143 <span class="comment">// It's the first connection that added the _NamedCnx so if there s no connection, no need to</span> +00144 <span class="comment">// remove entry in _NamedCnx</span> +00145 <span class="comment">//</span> +00146 +00147 uni->removeNamedCnx (uc->ServiceName, uc->ServiceId); +00148 } +00149 +00150 <span class="comment">// remove the _UsedConnection</span> +00151 <span class="keywordtype">bool</span> found = <span class="keyword">false</span>; +00152 <span class="keywordflow">for</span> (vector<uint16>::iterator it = uni->_UsedConnection.begin (); it != uni->_UsedConnection.end(); it++) +00153 { +00154 <span class="keywordflow">if</span> (*it == uc->ServiceId) +00155 { +00156 found = <span class="keyword">true</span>; +00157 uni->_UsedConnection.erase (it); +00158 <span class="keywordflow">break</span>; +00159 } +00160 } +00161 <span class="keywordflow">if</span> (!found) <a class="code" href="a05222.html#a0">AUTOCHECK_DISPLAY</a> (<span class="stringliteral">"HNETL5: can't find the sid %hu in the _UsedConnection"</span>, uc->ServiceId); +00162 +00163 <span class="comment">// reset the unified connection</span> +00164 uc->reset (); +00165 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a167" doxytag="NLNET::UnregistrationBroadcast" ></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"> void UnregistrationBroadcast </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 class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>TServiceId </td> + <td class="mdname" nowrap> <em>sid</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const vector< <a class="el" href="a02665.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> + +<p> +Definition at line <a class="el" href="a06098.html#l00164">164</a> of file <a class="el" href="a06098.html">net_manager.cpp</a>. +<p> +References <a class="el" href="a05646.html#l01127">addr</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a06090.html#l00042">TServiceId</a>, and <a class="el" href="a05981.html#l00098">uint16</a>. +<p> +Referenced by <a class="el" href="a06098.html#l00169">NLNET::CNetManager::init()</a>. +<p> +<div class="fragment"><pre>00165 { +00166 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"HNETL4: UnregistrationBroadcast() of service %s-%hu"</span>, name.c_str (), (<a class="code" href="a04558.html#a9">uint16</a>)sid); +00167 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a116" doxytag="NLNET::updateAdmin" ></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"> void NLNET::updateAdmin </td> + <td class="md" valign="top">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05391.html#l00648">648</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +References <a class="el" href="a05943.html#l00115">NLMISC::CLog::addDisplayer()</a>, <a class="el" href="a05391.html#l00089">AlarmCheckDelay</a>, <a class="el" href="a05391.html#l00084">Alarms</a>, <a class="el" href="a05391.html#l00310">cleanRequest()</a>, <a class="el" href="a05977.html#l00062">NLMISC::CMemDisplayer::clear()</a>, <a class="el" href="a05391.html#l00086">GraphUpdates</a>, <a class="el" href="a05586.html#l00422">NLMISC::humanReadableToBytes()</a>, <a class="el" href="a05977.html#l00058">NLMISC::CMemDisplayer::lockStrings()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05391.html#l00612">sendAdminEmail()</a>, <a class="el" href="a05979.html#l00420">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05538.html#l02935">size</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05977.html#l00060">NLMISC::CMemDisplayer::unlockStrings()</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. +<p> +<div class="fragment"><pre>00649 { +00650 string str; +00651 CLog logDisplayVars; +00652 <a class="code" href="a02750.html">CLightMemDisplayer</a> mdDisplayVars; +00653 logDisplayVars.addDisplayer (&mdDisplayVars); +00654 +00655 <a class="code" href="a04558.html#a11">uint32</a> CurrentTime = CTime::getSecondsSince1970(); +00656 +00657 +00658 <span class="comment">//</span> +00659 <span class="comment">// check admin requests</span> +00660 <span class="comment">//</span> +00661 +00662 <a class="code" href="a05379.html#a111">cleanRequest</a> (); +00663 +00664 +00665 <span class="comment">//</span> +00666 <span class="comment">// Check graph updates</span> +00667 <span class="comment">//</span> +00668 +00669 <span class="keyword">static</span> <a class="code" href="a04558.html#a11">uint32</a> lastGraphUpdateCheck = 0; +00670 +00671 <span class="keywordflow">if</span> (CurrentTime >= lastGraphUpdateCheck+1) +00672 { +00673 lastGraphUpdateCheck = CurrentTime; +00674 +00675 <a class="code" href="a02918.html">CMessage</a> msgout (<span class="stringliteral">"GRAPH_UPDATE"</span>); +00676 <span class="keywordtype">bool</span> empty = <span class="keyword">true</span>; +00677 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> j = 0; j < <a class="code" href="a05379.html#a2">GraphUpdates</a>.size(); j++) +00678 { +00679 <span class="keywordflow">if</span> (CurrentTime >= <a class="code" href="a05379.html#a2">GraphUpdates</a>[j].LastUpdate + <a class="code" href="a05379.html#a2">GraphUpdates</a>[j].Update) +00680 { +00681 <span class="comment">// have to send a new update for this var</span> +00682 ICommand::execute(GraphUpdates[j].Name, logDisplayVars, <span class="keyword">true</span>, <span class="keyword">false</span>); +00683 <span class="keyword">const</span> std::deque<std::string> &strs = mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera3">lockStrings</a>(); +00684 <a class="code" href="a04558.html#a10">sint32</a> val; +00685 <span class="keywordflow">if</span> (strs.size() != 1) +00686 { +00687 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: The graph update command execution not return exactly 1 line but %d"</span>, strs.size()); +00688 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < strs.size(); i++) +00689 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: line %d: '%s'"</span>, i, strs[i].c_str()); +00690 val = 0; +00691 } +00692 <span class="keywordflow">else</span> +00693 { +00694 val = atoi(strs[0].c_str()); +00695 } +00696 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera5">unlockStrings</a> (); +00697 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera0">clear</a> (); +00698 +00699 string name = IService::getInstance()->getServiceAliasName(); +00700 <span class="keywordflow">if</span> (name.empty()) +00701 name = IService::getInstance()->getServiceShortName(); +00702 +00703 <span class="keywordflow">if</span>(empty) +00704 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (CurrentTime); +00705 +00706 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (name); +00707 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (GraphUpdates[j].Name); +00708 msgout.<a class="code" href="a02271.html#NLNET_1_1CMessagea41">serial</a> (val); +00709 +00710 empty = <span class="keyword">false</span>; +00711 +00712 <a class="code" href="a05379.html#a2">GraphUpdates</a>[j].LastUpdate = CurrentTime; +00713 } +00714 } +00715 +00716 <span class="keywordflow">if</span>(!empty) +00717 { +00718 <span class="keywordflow">if</span>(IService::getInstance ()->getServiceShortName()==<span class="stringliteral">"AES"</span>) +00719 CUnifiedNetwork::getInstance ()->send (<span class="stringliteral">"AS"</span>, msgout); +00720 <span class="keywordflow">else</span> +00721 CUnifiedNetwork::getInstance ()->send (<span class="stringliteral">"AES"</span>, msgout); +00722 } +00723 } +00724 +00725 +00726 <span class="comment">//</span> +00727 <span class="comment">// Check alarms</span> +00728 <span class="comment">//</span> +00729 +00730 <span class="keyword">static</span> <a class="code" href="a04558.html#a11">uint32</a> lastAlarmsCheck = 0; +00731 +00732 <span class="keywordflow">if</span> (CurrentTime >= lastAlarmsCheck+<a class="code" href="a05379.html#a3">AlarmCheckDelay</a>) +00733 { +00734 lastAlarmsCheck = CTime::getSecondsSince1970(); +00735 +00736 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < <a class="code" href="a05379.html#a1">Alarms</a>.size(); ) +00737 { +00738 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera0">clear</a> (); +00739 ICommand::execute(Alarms[i].Name, logDisplayVars, <span class="keyword">true</span>, <span class="keyword">false</span>); +00740 <span class="keyword">const</span> std::deque<std::string> &strs = mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera3">lockStrings</a>(); +00741 +00742 <span class="keywordflow">if</span> (strs.size()>0) +00743 { +00744 str = strs[0].substr(0,strs[0].<a class="code" href="a04115.html#a94">size</a>()-1); +00745 } +00746 <span class="keywordflow">else</span> +00747 { +00748 str = <span class="stringliteral">"???"</span>; +00749 } +00750 +00751 mdDisplayVars.<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera5">unlockStrings</a>(); +00752 +00753 <span class="keywordflow">if</span> (str == <span class="stringliteral">"???"</span>) +00754 { +00755 <span class="comment">// variable doesn't exist, remove it from alarms</span> +00756 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"ADMIN: Alarm problem: variable '%s' returns ??? instead of a good value"</span>, Alarms[i].Name.c_str()); +00757 <a class="code" href="a05379.html#a1">Alarms</a>.erase (<a class="code" href="a05379.html#a1">Alarms</a>.begin()+i); +00758 } +00759 <span class="keywordflow">else</span> +00760 { +00761 <span class="comment">// compare the value</span> +00762 <a class="code" href="a04558.html#a11">uint32</a> err = <a class="code" href="a05379.html#a1">Alarms</a>[i].Limit; +00763 <a class="code" href="a04558.html#a11">uint32</a> val = <a class="code" href="a05378.html#a267">humanReadableToBytes</a>(str); +00764 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a1">Alarms</a>[i].GT && val >= err) +00765 { +00766 <span class="keywordflow">if</span> (!<a class="code" href="a05379.html#a1">Alarms</a>[i].Activated) +00767 { +00768 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: VARIABLE TOO BIG '%s' %u >= %u"</span>, Alarms[i].Name.c_str(), val, err); +00769 <a class="code" href="a05379.html#a1">Alarms</a>[i].Activated = <span class="keyword">true</span>; +00770 <a class="code" href="a05379.html#a114">sendAdminEmail</a> (<span class="stringliteral">"Alarm: Variable %s is %u that is greater or equal than the limit %u"</span>, Alarms[i].Name.c_str(), val, err); +00771 } +00772 } +00773 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!<a class="code" href="a05379.html#a1">Alarms</a>[i].GT && val <= err) +00774 { +00775 <span class="keywordflow">if</span> (!<a class="code" href="a05379.html#a1">Alarms</a>[i].Activated) +00776 { +00777 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: VARIABLE TOO LOW '%s' %u <= %u"</span>, Alarms[i].Name.c_str(), val, err); +00778 <a class="code" href="a05379.html#a1">Alarms</a>[i].Activated = <span class="keyword">true</span>; +00779 <a class="code" href="a05379.html#a114">sendAdminEmail</a> (<span class="stringliteral">"Alarm: Variable %s is %u that is lower or equal than the limit %u"</span>, Alarms[i].Name.c_str(), val, err); +00780 } +00781 } +00782 <span class="keywordflow">else</span> +00783 { +00784 <span class="keywordflow">if</span> (<a class="code" href="a05379.html#a1">Alarms</a>[i].Activated) +00785 { +00786 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"ADMIN: variable is ok '%s' %u %s %u"</span>, Alarms[i].Name.c_str(), val, (<a class="code" href="a05379.html#a1">Alarms</a>[i].GT?<span class="stringliteral">"<"</span>:<span class="stringliteral">">"</span>), err); +00787 <a class="code" href="a05379.html#a1">Alarms</a>[i].Activated = <span class="keyword">false</span>; +00788 } +00789 } +00790 +00791 i++; +00792 } +00793 } +00794 } +00795 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a172" doxytag="NLNET::UpdateAssertionThreadTimeout" ></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"> <a class="el" href="a03646.html">CVariable</a><<a class="el" href="a04558.html#a11">uint32</a>> UpdateAssertionThreadTimeout </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">"UpdateAssertionThreadTimeout" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"in </td> + <td class="mdname" nowrap> <em>millisecond</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>timeout before thread assertion" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>0 </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>0 </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>true </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>UpdateAssertionThreadTimeoutCB </td> + <td class="mdname" nowrap></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> + </td> + </tr> +</table> +<a class="anchor" name="a171" doxytag="NLNET::UpdateAssertionThreadTimeoutCB" ></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"> void UpdateAssertionThreadTimeoutCB </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a03648.html">IVariable</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>var</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> + +<p> +Definition at line <a class="el" href="a06364.html#l00155">155</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +References <a class="el" href="a06364.html#l00154">MyTAT</a>, <a class="el" href="a06554.html#l00110">CTimeoutAssertionThread::timeout()</a>, and <a class="el" href="a03648.html#NLMISC_1_1IVariablea4">NLMISC::IVariable::toString()</a>. +<p> +<div class="fragment"><pre>00155 { <a class="code" href="a05379.html#a56">MyTAT</a>.<a class="code" href="a03537.html#CTimeoutAssertionThreada6">timeout</a>(atoi(var.<a class="code" href="a03648.html#NLMISC_1_1IVariablea4">toString</a>().c_str())); } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a120" doxytag="NLNET::updateStatCounter" ></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"> <a class="el" href="a04558.html#a13">uint64</a> updateStatCounter </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a13">uint64</a> & </td> + <td class="mdname" nowrap> <em>counter</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap><a class="el" href="a04558.html#a13">uint64</a> </td> + <td class="mdname" nowrap> <em>newvalue</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</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="a05506.html#l00350">350</a> of file <a class="el" href="a05506.html">buf_client.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00102">uint64</a>. +<p> +Referenced by <a class="el" href="a05506.html#l00361">NLNET::CBufClient::newBytesDownloaded()</a>, and <a class="el" href="a05506.html#l00370">NLNET::CBufClient::newBytesUploaded()</a>. +<p> +<div class="fragment"><pre>00351 { +00352 <a class="code" href="a04558.html#a13">uint64</a> result = newvalue - counter; +00353 counter = newvalue; +00354 <span class="keywordflow">return</span> result; +00355 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a168" doxytag="NLNET::UserSpeedLoop" ></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"> <a class="el" href="a03646.html">CVariable</a><<a class="el" href="a04558.html#a10">sint32</a>> UserSpeedLoop </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">"UserSpeedLoop" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>"duration of the last network loop(<a class="el" href="a04223.html#a647">in</a> ms)" </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>10 </td> + <td class="mdname" nowrap>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>false </td> + <td class="mdname" nowrap></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a132" doxytag="NLNET::uuencode" ></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"> void uuencode </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname" nowrap> <em>s</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const char * </td> + <td class="mdname" nowrap> <em>store</em>, </td> + </tr> + <tr> + <td class="md" nowrap align="right"></td> + <td></td> + <td class="md" nowrap>const int </td> + <td class="mdname" nowrap> <em>length</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> + +<p> +Definition at line <a class="el" href="a05670.html#l00061">61</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +References <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05670.html#l00043">tbl</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00128">sendEmail()</a>. +<p> +<div class="fragment"><pre>00062 { +00063 <span class="keywordtype">int</span> i; +00064 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)store; +00065 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *us = (<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)<a class="code" href="a04223.html#a626">s</a>; +00066 +00067 <span class="comment">/* Transform the 3x8 bits to 4x6 bits, as required by base64. */</span> +00068 <span class="keywordflow">for</span> (i = 0; i < length; i += 3) { +00069 *p++ = <a class="code" href="a05379.html#a16">tbl</a>[us[0] >> 2]; +00070 *p++ = <a class="code" href="a05379.html#a16">tbl</a>[((us[0] & 3) << 4) + (us[1] >> 4)]; +00071 *p++ = <a class="code" href="a05379.html#a16">tbl</a>[((us[1] & 0xf) << 2) + (us[2] >> 6)]; +00072 *p++ = <a class="code" href="a05379.html#a16">tbl</a>[us[2] & 0x3f]; +00073 us += 3; +00074 } +00075 <span class="comment">/* Pad the result if necessary... */</span> +00076 <span class="keywordflow">if</span> (i == length + 1) { +00077 *(p - 1) = <a class="code" href="a05379.html#a16">tbl</a>[64]; +00078 } +00079 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (i == length + 2) { +00080 *(p - 1) = *(p - 2) = <a class="code" href="a05379.html#a16">tbl</a>[64]; +00081 } +00082 <span class="comment">/* ...and zero-terminate it. */</span> +00083 *p = <span class="charliteral">'\0'</span>; +00084 } +</pre></div> </td> + </tr> +</table> +<a class="anchor" name="a138" doxytag="NLNET::vectorCInetAddressToString" ></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"> std::string NLNET::vectorCInetAddressToString </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::vector< <a class="el" href="a02665.html">CInetAddress</a> > & </td> + <td class="mdname1" valign="top" nowrap> <em>addrs</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></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="a05810.html#l00509">509</a> of file <a class="el" href="a05810.html">inet_address.cpp</a>. +<p> +References <a class="el" href="a05981.html#l00105">uint</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a06089.html#l00119">cbRegisterBroadcast()</a>, <a class="el" href="a06645.html#l00284">uncbServiceIdentification()</a>, <a class="el" href="a06645.html#l00058">uNetRegistrationBroadcast()</a>, and <a class="el" href="a06645.html#l00100">uNetUnregistrationBroadcast()</a>. +<p> +<div class="fragment"><pre>00510 { +00511 string str; +00512 +00513 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i < addrs.size(); i++) +00514 { +00515 <span class="keywordflow">if</span> (i != 0) +00516 str += <span class="stringliteral">" "</span>; +00517 str += addrs[i].asString().c_str (); +00518 } +00519 <span class="keywordflow">return</span> str; +00520 } +</pre></div> </td> + </tr> +</table> +<hr><h2>Variable Documentation</h2> +<a class="anchor" name="a33" doxytag="NLNET::_RegistrationBroadcastCallback" ></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"> <a class="el" href="a05379.html#a94">TBroadcastCallback</a> <a class="el" href="a05379.html#a33">NLNET::_RegistrationBroadcastCallback</a> = NULL<code> [static]</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="a06089.html#l00055">55</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00119">cbRegisterBroadcast()</a>, and <a class="el" href="a06089.html#l00066">NLNET::CNamingClient::setRegistrationBroadcastCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a34" doxytag="NLNET::_UnregistrationBroadcastCallback" ></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"> <a class="el" href="a05379.html#a94">TBroadcastCallback</a> <a class="el" href="a05379.html#a34">NLNET::_UnregistrationBroadcastCallback</a> = NULL<code> [static]</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="a06089.html#l00056">56</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00178">cbUnregisterBroadcast()</a>, and <a class="el" href="a06089.html#l00071">NLNET::CNamingClient::setUnregistrationBroadcastCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a23" doxytag="NLNET::AcceptInvalidCookie" ></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"> bool <a class="el" href="a05379.html#a23">NLNET::AcceptInvalidCookie</a> = false<code> [static]</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="a05962.html#l00056">56</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, and <a class="el" href="a05962.html#l00272">cfcbAcceptInvalidCookie()</a>. </td> + </tr> +</table> +<a class="anchor" name="a3" doxytag="NLNET::AlarmCheckDelay" ></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"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a3">NLNET::AlarmCheckDelay</a> = 5 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00089">89</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00648">updateAdmin()</a>. </td> + </tr> +</table> +<a class="anchor" name="a1" doxytag="NLNET::Alarms" ></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"> std::vector< <a class="el" href="a02193.html">CAlarm</a> > <a class="el" href="a05379.html#a1">NLNET::Alarms</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00084">84</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00875">NLMISC_COMMAND()</a>, <a class="el" href="a05391.html#l00797">setInformations()</a>, and <a class="el" href="a05391.html#l00648">updateAdmin()</a>. </td> + </tr> +</table> +<a class="anchor" name="a65" doxytag="NLNET::allstuffs" ></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 <a class="el" href="a05379.html#a65">NLNET::allstuffs</a><code> [static]</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="a06645.html#l00051">51</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l01700">NLNET::CUnifiedNetwork::addNamedCnx()</a>, <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a06645.html#l01727">NLNET::CUnifiedNetwork::removeNamedCnx()</a>, <a class="el" href="a06645.html#l00179">uncbDisconnection()</a>, <a class="el" href="a06645.html#l00284">uncbServiceIdentification()</a>, <a class="el" href="a06645.html#l00058">uNetRegistrationBroadcast()</a>, and <a class="el" href="a06645.html#l00100">uNetUnregistrationBroadcast()</a>. </td> + </tr> +</table> +<a class="anchor" name="a63" doxytag="NLNET::AppIdDeadConnection" ></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"> const <a class="el" href="a04558.html#a13">uint64</a> <a class="el" href="a05379.html#a63">NLNET::AppIdDeadConnection</a> = 0xDEAD<code> [static]</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="a06645.html#l00042">42</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00172">uncbConnection()</a>, <a class="el" href="a06645.html#l00179">uncbDisconnection()</a>, <a class="el" href="a06645.html#l00406">uncbMsgProcessing()</a>, <a class="el" href="a06645.html#l00284">uncbServiceIdentification()</a>, and <a class="el" href="a06645.html#l00100">uNetUnregistrationBroadcast()</a>. </td> + </tr> +</table> +<a class="anchor" name="a60" doxytag="NLNET::buffer" ></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"> <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a05379.html#a60">NLNET::buffer</a>[10000] + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06641.html#l00236">236</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="a59" doxytag="NLNET::BufferizedInPackets" ></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"> queue<<a class="el" href="a02300.html">CBufferizedOutPacket</a>*> <a class="el" href="a05379.html#a59">NLNET::BufferizedInPackets</a><code> [static]</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="a06641.html#l00093">93</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>. +<p> +Referenced by <a class="el" href="a06641.html#l00238">NLNET::CUdpSimSock::dataAvailable()</a>, and <a class="el" href="a06641.html#l00269">NLNET::CUdpSimSock::receive()</a>. </td> + </tr> +</table> +<a class="anchor" name="a58" doxytag="NLNET::BufferizedOutPackets" ></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"> queue<<a class="el" href="a02300.html">CBufferizedOutPacket</a>*> <a class="el" href="a05379.html#a58">NLNET::BufferizedOutPackets</a><code> [static]</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="a06641.html#l00092">92</a> of file <a class="el" href="a06641.html">udp_sim_sock.cpp</a>. +<p> +Referenced by <a class="el" href="a06641.html#l00115">NLNET::CUdpSimSock::sendUDP()</a>, and <a class="el" href="a06641.html#l00171">NLNET::CUdpSimSock::updateBufferizedPackets()</a>. </td> + </tr> +</table> +<a class="anchor" name="a57" doxytag="NLNET::builtinServiceCallbacks" ></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"> <a class="el" href="a03917.html">TUnifiedCallbackItem</a> <a class="el" href="a05379.html#a57">NLNET::builtinServiceCallbacks</a>[] + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"R_SH_ID"</span>, <a class="code" href="a05379.html#a176">cbReceiveShardId</a> }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a06364.html#l00266">266</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a6" doxytag="NLNET::CallbackArray" ></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"> <a class="el" href="a03917.html">TUnifiedCallbackItem</a> <a class="el" href="a05379.html#a6">NLNET::CallbackArray</a><code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"INFO"</span>, cbInfo }, + { <span class="stringliteral">"GET_VIEW"</span>, cbServGetView }, + { <span class="stringliteral">"STOPS"</span>, cbStopService }, + { <span class="stringliteral">"EXEC_COMMAND"</span>, cbExecCommand }, + { <span class="stringliteral">"ADMIN_PING"</span>, cbAdminPing }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a06580.html#l00316">316</a> of file <a class="el" href="a06580.html">transport_class.cpp</a>. +<p> +Referenced by <a class="el" href="a06580.html#l00330">NLNET::CTransportClass::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a12" doxytag="NLNET::cbnbMessageAssociationArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a12">NLNET::cbnbMessageAssociationArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"AA"</span>, <a class="code" href="a05379.html#a129">cbnbMessageAskAssociations</a> }, + { <span class="stringliteral">"RA"</span>, <a class="code" href="a05379.html#a128">cbnbMessageRecvAssociations</a> }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a05526.html#l00117">117</a> of file <a class="el" href="a05526.html">callback_net_base.cpp</a>. +<p> +Referenced by <a class="el" href="a05526.html#l00148">NLNET::CCallbackNetBase::CCallbackNetBase()</a>. </td> + </tr> +</table> +<a class="anchor" name="a31" doxytag="NLNET::ClientCallbackArray" ></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"> const <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a31">NLNET::ClientCallbackArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"SV"</span>, <a class="code" href="a05379.html#a146">cbShardValidation</a> }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a05962.html#l00239">239</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a11" doxytag="NLNET::ClientMessageAssociationArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a11">NLNET::ClientMessageAssociationArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"RAA"</span>, cbcMessageRecvAllAssociations }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a05524.html#l00050">50</a> of file <a class="el" href="a05524.html">callback_client.cpp</a>. +<p> +Referenced by <a class="el" href="a05524.html#l00059">NLNET::CCallbackClient::CCallbackClient()</a>. </td> + </tr> +</table> +<a class="anchor" name="a51" doxytag="NLNET::commandDisplayer" ></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"> <a class="el" href="a02985.html">CNetDisplayer</a> <a class="el" href="a05379.html#a51">NLNET::commandDisplayer</a>(false)<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a52" doxytag="NLNET::CompilationDate" ></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 <a class="el" href="a05379.html#a52">NLNET::CompilationDate</a><code> [static]</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="a06364.html#l00132">132</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a55" doxytag="NLNET::CompilationMode" ></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 <a class="el" href="a05379.html#a55">NLNET::CompilationMode</a> = "???" + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06364.html#l00146">146</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l01454">NLMISC_COMMAND()</a>. </td> + </tr> +</table> +<a class="anchor" name="a14" doxytag="NLNET::DefaultFrom" ></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 <a class="el" href="a05379.html#a14">NLNET::DefaultFrom</a><code> [static]</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="a05670.html#l00040">40</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00128">sendEmail()</a>, and <a class="el" href="a05670.html#l00349">setDefaultEmailParams()</a>. </td> + </tr> +</table> +<a class="anchor" name="a13" doxytag="NLNET::DefaultSMTPServer" ></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 <a class="el" href="a05379.html#a13">NLNET::DefaultSMTPServer</a><code> [static]</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="a05670.html#l00040">40</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00128">sendEmail()</a>, and <a class="el" href="a05670.html#l00349">setDefaultEmailParams()</a>. </td> + </tr> +</table> +<a class="anchor" name="a15" doxytag="NLNET::DefaultTo" ></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 <a class="el" href="a05379.html#a15">NLNET::DefaultTo</a><code> [static]</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="a05670.html#l00040">40</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00128">sendEmail()</a>, and <a class="el" href="a05670.html#l00349">setDefaultEmailParams()</a>. </td> + </tr> +</table> +<a class="anchor" name="a24" doxytag="NLNET::DefaultUserPriv" ></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 <a class="el" href="a05379.html#a24">NLNET::DefaultUserPriv</a> = ""<code> [static]</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="a05962.html#l00058">58</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00264">cfcbDefaultUserPriv()</a>. </td> + </tr> +</table> +<a class="anchor" name="a25" doxytag="NLNET::DisconnectClientCallback" ></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"> <a class="el" href="a05379.html#a85">TDisconnectClientCallback</a> <a class="el" href="a05379.html#a25">NLNET::DisconnectClientCallback</a> = NULL<code> [static]</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="a05962.html#l00060">60</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00142">cbWSDisconnectClient()</a>, and <a class="el" href="a05962.html#l00353">NLNET::CLoginServer::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a47" doxytag="NLNET::EmptyCallbackArray" ></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"> <a class="el" href="a03917.html">TUnifiedCallbackItem</a> <a class="el" href="a05379.html#a47">NLNET::EmptyCallbackArray</a> = { { "", NULL } } + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06364.html#l00112">112</a> of file <a class="el" href="a06364.html">service.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="a48" doxytag="NLNET::ExitSignalAsked" ></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"> <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a05379.html#a48">NLNET::ExitSignalAsked</a> = 0<code> [static]</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="a06364.html#l00117">117</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l01333">NLNET::IService::exit()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, <a class="el" href="a06364.html#l01414">NLMISC_COMMAND()</a>, <a class="el" href="a06364.html#l01520">NLMISC_DYNVARIABLE()</a>, and <a class="el" href="a06364.html#l00164">sigHandler()</a>. </td> + </tr> +</table> +<a class="anchor" name="a50" doxytag="NLNET::fd" ></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"> <a class="el" href="a02525.html">CFileDisplayer</a> <a class="el" href="a05379.html#a50">NLNET::fd</a><code> [static]</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="a06645.html#l00038">38</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a19" doxytag="NLNET::FESCallbackArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a19">NLNET::FESCallbackArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"SV"</span>, <a class="code" href="a05379.html#a141">cbShardValidate</a> }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a05958.html#l00058">58</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +Referenced by <a class="el" href="a05958.html#l00063">NLNET::CLoginClient::connectToShard()</a>. </td> + </tr> +</table> +<a class="anchor" name="a71" doxytag="NLNET::GetClientUniversalTime" ></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"> bool <a class="el" href="a05379.html#a71">NLNET::GetClientUniversalTime</a><code> [static]</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="a06650.html#l00293">293</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00296">cbClientGetUniversalTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="a72" doxytag="NLNET::GetClientUniversalTimeUniTime" ></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"> TTime <a class="el" href="a05379.html#a72">NLNET::GetClientUniversalTimeUniTime</a><code> [static]</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="a06650.html#l00294">294</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00296">cbClientGetUniversalTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="a67" doxytag="NLNET::GetUniversalTime" ></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"> bool <a class="el" href="a05379.html#a67">NLNET::GetUniversalTime</a><code> [static]</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="a06650.html#l00134">134</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00139">cbGetUniversalTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="a68" doxytag="NLNET::GetUniversalTimeSecondsSince1970" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a68">NLNET::GetUniversalTimeSecondsSince1970</a><code> [static]</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="a06650.html#l00135">135</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00139">cbGetUniversalTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="a69" doxytag="NLNET::GetUniversalTimeUniTime" ></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"> TTime <a class="el" href="a05379.html#a69">NLNET::GetUniversalTimeUniTime</a><code> [static]</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="a06650.html#l00136">136</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00139">cbGetUniversalTime()</a>. </td> + </tr> +</table> +<a class="anchor" name="a2" doxytag="NLNET::GraphUpdates" ></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"> std::vector< <a class="el" href="a02601.html">CGraphUpdate</a> > <a class="el" href="a05379.html#a2">NLNET::GraphUpdates</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00086">86</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00875">NLMISC_COMMAND()</a>, <a class="el" href="a05391.html#l00797">setInformations()</a>, and <a class="el" href="a05391.html#l00648">updateAdmin()</a>. </td> + </tr> +</table> +<a class="anchor" name="a75" doxytag="NLNET::InvalidSockId" ></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"> const <a class="el" href="a02303.html">TSockId</a> <a class="el" href="a05379.html#a75">NLNET::InvalidSockId</a> = (<a class="el" href="a02303.html">TSockId</a>) NULL<code> [static]</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="a05511.html#l00044">44</a> of file <a class="el" href="a05511.html">buf_net_base.h</a>. </td> + </tr> +</table> +<a class="anchor" name="a53" doxytag="NLNET::LaunchingDate" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a53">NLNET::LaunchingDate</a><code> [static]</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="a06364.html#l00133">133</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a06364.html#l01370">NLMISC_DYNVARIABLE()</a>. </td> + </tr> +</table> +<a class="anchor" name="a22" doxytag="NLNET::ListenAddr" ></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 <a class="el" href="a05379.html#a22">NLNET::ListenAddr</a><code> [static]</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="a05962.html#l00054">54</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00100">cbWSChooseShard()</a>, <a class="el" href="a05962.html#l00467">NLMISC_DYNVARIABLE()</a>, and <a class="el" href="a05962.html#l00244">setListenAddress()</a>. </td> + </tr> +</table> +<a class="anchor" name="a32" doxytag="NLNET::LockedSubMessageError" ></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"> const char * <a class="el" href="a05379.html#a32">NLNET::LockedSubMessageError</a> = "a sub message is forbidden" + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06026.html#l00041">41</a> of file <a class="el" href="a06026.html">message.cpp</a>. +<p> +Referenced by <a class="el" href="a06026.html#l00398">NLNET::CMessage::clear()</a>, <a class="el" href="a06027.html#l00198">NLNET::CMessage::invert()</a>, and <a class="el" href="a06026.html#l00118">NLNET::CMessage::operator=()</a>. </td> + </tr> +</table> +<a class="anchor" name="a42" doxytag="NLNET::LOG_CBINDEX" ></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"> const <a class="el" href="a04558.html#a8">sint16</a> <a class="el" href="a05379.html#a42">NLNET::LOG_CBINDEX</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06094.html#l00042">42</a> of file <a class="el" href="a06094.html">net_displayer.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="a26" doxytag="NLNET::ModeTcp" ></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"> bool <a class="el" href="a05379.html#a26">NLNET::ModeTcp</a> = 0<code> [static]</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="a05962.html#l00063">63</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, <a class="el" href="a05962.html#l00142">cbWSDisconnectClient()</a>, <a class="el" href="a05962.html#l00413">NLNET::CLoginServer::clientDisconnected()</a>, <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>, <a class="el" href="a05962.html#l00431">NLMISC_COMMAND()</a>, and <a class="el" href="a05962.html#l00244">setListenAddress()</a>. </td> + </tr> +</table> +<a class="anchor" name="a56" doxytag="NLNET::MyTAT" ></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"> <a class="el" href="a03537.html">CTimeoutAssertionThread</a> <a class="el" href="a05379.html#a56">NLNET::MyTAT</a><code> [static]</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="a06364.html#l00154">154</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a06364.html#l00155">UpdateAssertionThreadTimeoutCB()</a>. </td> + </tr> +</table> +<a class="anchor" name="a41" doxytag="NLNET::NamingClientCallbackArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a41">NLNET::NamingClientCallbackArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"RG"</span>, cbRegister }, + { <span class="stringliteral">"QP"</span>, cbQueryPort }, + + { <span class="stringliteral">"RGB"</span>, <a class="code" href="a05379.html#a161">cbRegisterBroadcast</a> }, + { <span class="stringliteral">"UNB"</span>, <a class="code" href="a05379.html#a162">cbUnregisterBroadcast</a> } +} +</pre></div> +<p> +Definition at line <a class="el" href="a06089.html#l00230">230</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00239">NLNET::CNamingClient::connect()</a>. </td> + </tr> +</table> +<a class="anchor" name="a7" doxytag="NLNET::NbClientReceiveTask" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a7">NLNET::NbClientReceiveTask</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05506.html#l00047">47</a> of file <a class="el" href="a05506.html">buf_client.cpp</a>. +<p> +Referenced by <a class="el" href="a05506.html#l00437">NLNET::CClientReceiveTask::run()</a>. </td> + </tr> +</table> +<a class="anchor" name="a8" doxytag="NLNET::NbNetworkTask" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a8">NLNET::NbNetworkTask</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05510.html#l00036">36</a> of file <a class="el" href="a05510.html">buf_net_base.cpp</a>. +<p> +Referenced by <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>, <a class="el" href="a05512.html#l00779">NLNET::CListenTask::run()</a>, and <a class="el" href="a05506.html#l00437">NLNET::CClientReceiveTask::run()</a>. </td> + </tr> +</table> +<a class="anchor" name="a9" doxytag="NLNET::NbServerListenTask" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a9">NLNET::NbServerListenTask</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05512.html#l00048">48</a> of file <a class="el" href="a05512.html">buf_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05512.html#l00779">NLNET::CListenTask::run()</a>. </td> + </tr> +</table> +<a class="anchor" name="a10" doxytag="NLNET::NbServerReceiveTask" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a10">NLNET::NbServerReceiveTask</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05512.html#l00049">49</a> of file <a class="el" href="a05512.html">buf_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>. </td> + </tr> +</table> +<a class="anchor" name="a54" doxytag="NLNET::NbUserUpdate" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a54">NLNET::NbUserUpdate</a> = 0<code> [static]</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="a06364.html#l00135">135</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a46" doxytag="NLNET::NegFiltersNames" ></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"> const char* <a class="el" href="a05379.html#a46">NLNET::NegFiltersNames</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + <span class="stringliteral">"NegFiltersDebug"</span>, + <span class="stringliteral">"NegFiltersInfo"</span>, + <span class="stringliteral">"NegFiltersWarning"</span>, + <span class="stringliteral">"NegFiltersAssert"</span>, + <span class="stringliteral">"NegFiltersError"</span>, + 0 +} +</pre></div> +<p> +Definition at line <a class="el" href="a06364.html#l00097">97</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>. </td> + </tr> +</table> +<a class="anchor" name="a43" doxytag="NLNET::NetLog" ></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"> <a class="el" href="a02986.html">CNetLog</a> <a class="el" href="a05379.html#a43">NLNET::NetLog</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a06096.html#l00056">56</a> of file <a class="el" href="a06096.html">net_log.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="a29" doxytag="NLNET::NewClientCallback" ></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"> <a class="el" href="a05379.html#a84">TNewClientCallback</a> <a class="el" href="a05379.html#a29">NLNET::NewClientCallback</a> = NULL + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05962.html#l00071">71</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, and <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a96" doxytag="NLNET::PacsCallbackArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a96">NLNET::PacsCallbackArray</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"PACS_ASW"</span>, cbPacsAnswer } +} +</pre></div> +<p> +Definition at line <a class="el" href="a06138.html#l00572">572</a> of file <a class="el" href="a06138.html">pacs_client.h</a>. +<p> +Referenced by <a class="el" href="a06138.html#l00577">NLNET::CPacsClient::connect()</a>. </td> + </tr> +</table> +<a class="anchor" name="a20" doxytag="NLNET::PendingUsers" ></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"> <a class="el" href="a03889.html">list</a><<a class="el" href="a03077.html">CPendingUser</a>> <a class="el" href="a05379.html#a20">NLNET::PendingUsers</a><code> [static]</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="a05962.html#l00051">51</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00100">cbWSChooseShard()</a>, <a class="el" href="a05962.html#l00452">NLMISC_COMMAND()</a>, and <a class="el" href="a05962.html#l00079">refreshPendingList()</a>. </td> + </tr> +</table> +<a class="anchor" name="a39" doxytag="NLNET::QueryPort" ></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"> bool <a class="el" href="a05379.html#a39">NLNET::QueryPort</a><code> [static]</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="a06089.html#l00106">106</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00109">cbQueryPort()</a>, and <a class="el" href="a06089.html#l00411">NLNET::CNamingClient::queryServicePort()</a>. </td> + </tr> +</table> +<a class="anchor" name="a40" doxytag="NLNET::QueryPortPort" ></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"> <a class="el" href="a04558.html#a9">uint16</a> <a class="el" href="a05379.html#a40">NLNET::QueryPortPort</a><code> [static]</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="a06089.html#l00107">107</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00109">cbQueryPort()</a>, and <a class="el" href="a06089.html#l00411">NLNET::CNamingClient::queryServicePort()</a>. </td> + </tr> +</table> +<a class="anchor" name="a38" doxytag="NLNET::Reason" ></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 <a class="el" href="a05379.html#a38">NLNET::Reason</a><code> [static]</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="a06089.html#l00083">83</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00085">cbRegister()</a>, and <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>. </td> + </tr> +</table> +<a class="anchor" name="a35" doxytag="NLNET::Registered" ></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"> bool <a class="el" href="a05379.html#a35">NLNET::Registered</a><code> [static]</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="a06089.html#l00080">80</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00085">cbRegister()</a>, <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>, and <a class="el" href="a06089.html#l00340">NLNET::CNamingClient::registerServiceWithSId()</a>. </td> + </tr> +</table> +<a class="anchor" name="a37" doxytag="NLNET::RegisteredSID" ></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"> <a class="el" href="a05379.html#a93">TServiceId</a>* <a class="el" href="a05379.html#a37">NLNET::RegisteredSID</a> = NULL<code> [static]</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="a06089.html#l00082">82</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00085">cbRegister()</a>, <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>, and <a class="el" href="a06089.html#l00340">NLNET::CNamingClient::registerServiceWithSId()</a>. </td> + </tr> +</table> +<a class="anchor" name="a36" doxytag="NLNET::RegisteredSuccess" ></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"> bool <a class="el" href="a05379.html#a36">NLNET::RegisteredSuccess</a><code> [static]</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="a06089.html#l00081">81</a> of file <a class="el" href="a06089.html">naming_client.cpp</a>. +<p> +Referenced by <a class="el" href="a06089.html#l00085">cbRegister()</a>, <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>, and <a class="el" href="a06089.html#l00340">NLNET::CNamingClient::registerServiceWithSId()</a>. </td> + </tr> +</table> +<a class="anchor" name="a0" doxytag="NLNET::RemoteClientCallback" ></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"> <a class="el" href="a05379.html#a73">TRemoteClientCallback</a> <a class="el" href="a05379.html#a0">NLNET::RemoteClientCallback</a> = 0 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00082">82</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00386">serviceGetView()</a>, and <a class="el" href="a05391.html#l00211">setRemoteClientCallback()</a>. </td> + </tr> +</table> +<a class="anchor" name="a4" doxytag="NLNET::Requests" ></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"> vector<<a class="el" href="a03327.html">CRequest</a>> <a class="el" href="a05379.html#a4">NLNET::Requests</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00091">91</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00275">addRequestAnswer()</a>, <a class="el" href="a05391.html#l00221">addRequestWaitingNb()</a>, <a class="el" href="a05391.html#l00112">cbServGetView()</a>, <a class="el" href="a05391.html#l00310">cleanRequest()</a>, <a class="el" href="a05391.html#l00298">emptyRequest()</a>, and <a class="el" href="a05391.html#l00237">subRequestWaitingNb()</a>. </td> + </tr> +</table> +<a class="anchor" name="a5" doxytag="NLNET::RequestTimeout" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a5">NLNET::RequestTimeout</a> = 4 + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05391.html#l00093">93</a> of file <a class="el" href="a05391.html">admin.cpp</a>. +<p> +Referenced by <a class="el" href="a05391.html#l00310">cleanRequest()</a>. </td> + </tr> +</table> +<a class="anchor" name="a21" doxytag="NLNET::Server" ></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"> <a class="el" href="a02307.html">CCallbackServer</a>* <a class="el" href="a05379.html#a21">NLNET::Server</a> = NULL<code> [static]</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="a05962.html#l00053">53</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, <a class="el" href="a05962.html#l00142">cbWSDisconnectClient()</a>, <a class="el" href="a05962.html#l00230">ClientConnection()</a>, <a class="el" href="a05962.html#l00338">NLNET::CLoginServer::init()</a>, <a class="el" href="a05962.html#l00467">NLMISC_DYNVARIABLE()</a>, and <a class="el" href="a05962.html#l00244">setListenAddress()</a>. </td> + </tr> +</table> +<a class="anchor" name="a70" doxytag="NLNET::ServerTimeServiceCallbackArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a70">NLNET::ServerTimeServiceCallbackArray</a>[] + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"AUT"</span>, cbServerAskUniversalTime }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a06650.html#l00275">275</a> of file <a class="el" href="a06650.html">unitime.cpp</a>. +<p> +Referenced by <a class="el" href="a06650.html#l00280">NLNET::_CUniTime::installServer()</a>. </td> + </tr> +</table> +<a class="anchor" name="a17" doxytag="NLNET::ShardValidate" ></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"> bool <a class="el" href="a05379.html#a17">NLNET::ShardValidate</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05958.html#l00046">46</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +Referenced by <a class="el" href="a05958.html#l00048">cbShardValidate()</a>, and <a class="el" href="a05958.html#l00063">NLNET::CLoginClient::connectToShard()</a>. </td> + </tr> +</table> +<a class="anchor" name="a18" doxytag="NLNET::ShardValidateReason" ></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 <a class="el" href="a05379.html#a18">NLNET::ShardValidateReason</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<p> +Definition at line <a class="el" href="a05958.html#l00047">47</a> of file <a class="el" href="a05958.html">login_client.cpp</a>. +<p> +Referenced by <a class="el" href="a05958.html#l00048">cbShardValidate()</a>, and <a class="el" href="a05958.html#l00063">NLNET::CLoginClient::connectToShard()</a>. </td> + </tr> +</table> +<a class="anchor" name="a44" doxytag="NLNET::Signal" ></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"> const <a class="el" href="a04558.html#a14">sint</a> <a class="el" href="a05379.html#a44">NLNET::Signal</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> { + SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, SIGTERM +} +</pre></div> +<p> +Definition at line <a class="el" href="a06364.html#l00088">88</a> of file <a class="el" href="a06364.html">service.cpp</a>. </td> + </tr> +</table> +<a class="anchor" name="a49" doxytag="NLNET::SignalisedThread" ></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"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a05379.html#a49">NLNET::SignalisedThread</a><code> [static]</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="a06364.html#l00126">126</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00211">initSignal()</a>, and <a class="el" href="a06364.html#l00164">sigHandler()</a>. </td> + </tr> +</table> +<a class="anchor" name="a45" doxytag="NLNET::SignalName" ></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"> const char* <a class="el" href="a05379.html#a45">NLNET::SignalName</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + <span class="stringliteral">"SIGABRT"</span>, <span class="stringliteral">"SIGFPE"</span>, <span class="stringliteral">"SIGILL"</span>, <span class="stringliteral">"SIGINT"</span>, <span class="stringliteral">"SIGSEGV"</span>, <span class="stringliteral">"SIGTERM"</span> +} +</pre></div> +<p> +Definition at line <a class="el" href="a06364.html#l00092">92</a> of file <a class="el" href="a06364.html">service.cpp</a>. +<p> +Referenced by <a class="el" href="a06364.html#l00164">sigHandler()</a>. </td> + </tr> +</table> +<a class="anchor" name="a16" doxytag="NLNET::tbl" ></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"> char <a class="el" href="a05379.html#a16">NLNET::tbl</a>[65]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> { + <span class="charliteral">'A'</span>, <span class="charliteral">'B'</span>, <span class="charliteral">'C'</span>, <span class="charliteral">'D'</span>, <span class="charliteral">'E'</span>, <span class="charliteral">'F'</span>, <span class="charliteral">'G'</span>, <span class="charliteral">'H'</span>, + <span class="charliteral">'I'</span>, <span class="charliteral">'J'</span>, <span class="charliteral">'K'</span>, <span class="charliteral">'L'</span>, <span class="charliteral">'M'</span>, <span class="charliteral">'N'</span>, <span class="charliteral">'O'</span>, <span class="charliteral">'P'</span>, + <span class="charliteral">'Q'</span>, <span class="charliteral">'R'</span>, <span class="charliteral">'S'</span>, <span class="charliteral">'T'</span>, <span class="charliteral">'U'</span>, <span class="charliteral">'V'</span>, <span class="charliteral">'W'</span>, <span class="charliteral">'X'</span>, + <span class="charliteral">'Y'</span>, <span class="charliteral">'Z'</span>, <span class="charliteral">'a'</span>, <span class="charliteral">'b'</span>, <span class="charliteral">'c'</span>, <span class="charliteral">'d'</span>, <span class="charliteral">'e'</span>, <span class="charliteral">'f'</span>, + <span class="charliteral">'g'</span>, <span class="charliteral">'h'</span>, <span class="charliteral">'i'</span>, <span class="charliteral">'j'</span>, <span class="charliteral">'k'</span>, <span class="charliteral">'l'</span>, <span class="charliteral">'m'</span>, <span class="charliteral">'n'</span>, + <span class="charliteral">'o'</span>, <span class="charliteral">'p'</span>, <span class="charliteral">'q'</span>, <span class="charliteral">'r'</span>, <span class="charliteral">'s'</span>, <span class="charliteral">'t'</span>, <span class="charliteral">'u'</span>, <span class="charliteral">'v'</span>, + <span class="charliteral">'w'</span>, <span class="charliteral">'x'</span>, <span class="charliteral">'y'</span>, <span class="charliteral">'z'</span>, <span class="charliteral">'0'</span>, <span class="charliteral">'1'</span>, <span class="charliteral">'2'</span>, <span class="charliteral">'3'</span>, + <span class="charliteral">'4'</span>, <span class="charliteral">'5'</span>, <span class="charliteral">'6'</span>, <span class="charliteral">'7'</span>, <span class="charliteral">'8'</span>, <span class="charliteral">'9'</span>, <span class="charliteral">'+'</span>, <span class="charliteral">'/'</span>, + <span class="charliteral">'='</span> +} +</pre></div> +<p> +Definition at line <a class="el" href="a05670.html#l00043">43</a> of file <a class="el" href="a05670.html">email.cpp</a>. +<p> +Referenced by <a class="el" href="a05670.html#l00061">uuencode()</a>. </td> + </tr> +</table> +<a class="anchor" name="a61" doxytag="NLNET::test" ></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"> CLog <a class="el" href="a05379.html#a61">NLNET::test</a>(CLog::LOG_INFO) + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + </td> + </tr> +</table> +<a class="anchor" name="a62" doxytag="NLNET::ThreadCreator" ></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"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a05379.html#a62">NLNET::ThreadCreator</a> = 0<code> [static]</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="a06645.html#l00040">40</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a06645.html#l00566">NLNET::CUnifiedNetwork::connect()</a>, <a class="el" href="a06645.html#l01335">NLNET::CUnifiedNetwork::getNetBase()</a>, <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>, <a class="el" href="a06645.html#l00599">NLNET::CUnifiedNetwork::release()</a>, <a class="el" href="a06645.html#l01091">NLNET::CUnifiedNetwork::send()</a>, <a class="el" href="a06645.html#l01160">NLNET::CUnifiedNetwork::sendAll()</a>, and <a class="el" href="a06645.html#l00857">NLNET::CUnifiedNetwork::update()</a>. </td> + </tr> +</table> +<a class="anchor" name="a27" doxytag="NLNET::TimeBeforeEraseCookie" ></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"> <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a05379.html#a27">NLNET::TimeBeforeEraseCookie</a> = 120<code> [static]</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="a05962.html#l00066">66</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00280">cfcbTimeBeforeEraseCookie()</a>, and <a class="el" href="a05962.html#l00079">refreshPendingList()</a>. </td> + </tr> +</table> +<a class="anchor" name="a64" doxytag="NLNET::TotalCallbackCalled" ></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"> <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05379.html#a64">NLNET::TotalCallbackCalled</a> = 0<code> [static]</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="a06645.html#l00044">44</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00406">uncbMsgProcessing()</a>. </td> + </tr> +</table> +<a class="anchor" name="a66" doxytag="NLNET::unServerCbArray" ></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"> <a class="el" href="a03900.html">TCallbackItem</a> <a class="el" href="a05379.html#a66">NLNET::unServerCbArray</a>[] + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"UN_SIDENT"</span>, <a class="code" href="a05379.html#a203">uncbServiceIdentification</a> } +} +</pre></div> +<p> +Definition at line <a class="el" href="a06645.html#l00469">469</a> of file <a class="el" href="a06645.html">unified_network.cpp</a>. +<p> +Referenced by <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>. </td> + </tr> +</table> +<a class="anchor" name="a28" doxytag="NLNET::UserIdSockAssociations" ></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"> map<<a class="el" href="a04558.html#a11">uint32</a>, <a class="el" href="a02303.html">TSockId</a>> <a class="el" href="a05379.html#a28">NLNET::UserIdSockAssociations</a> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +contains the correspondance between userid and the sockid +<p> + +<p> +Definition at line <a class="el" href="a05962.html#l00069">69</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00181">cbShardValidation()</a>, <a class="el" href="a05962.html#l00142">cbWSDisconnectClient()</a>, <a class="el" href="a05962.html#l00413">NLNET::CLoginServer::clientDisconnected()</a>, and <a class="el" href="a05962.html#l00431">NLMISC_COMMAND()</a>. </td> + </tr> +</table> +<a class="anchor" name="a30" doxytag="NLNET::WSCallbackArray" ></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"> <a class="el" href="a03917.html">TUnifiedCallbackItem</a> <a class="el" href="a05379.html#a30">NLNET::WSCallbackArray</a>[]<code> [static]</code> + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +<b>Initial value:</b><div class="fragment"><pre> +{ + { <span class="stringliteral">"CS"</span>, <a class="code" href="a05379.html#a144">cbWSChooseShard</a> }, + { <span class="stringliteral">"DC"</span>, <a class="code" href="a05379.html#a145">cbWSDisconnectClient</a> }, +} +</pre></div> +<p> +Definition at line <a class="el" href="a05962.html#l00169">169</a> of file <a class="el" href="a05962.html">login_server.cpp</a>. +<p> +Referenced by <a class="el" href="a05962.html#l00408">NLNET::CLoginServer::connectToWS()</a>. </td> + </tr> +</table> +<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:51:09 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> |