aboutsummaryrefslogtreecommitdiff
path: root/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4
diff options
context:
space:
mode:
Diffstat (limited to 'cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4')
-rw-r--r--cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4160
1 files changed, 160 insertions, 0 deletions
diff --git a/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4 b/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4
new file mode 100644
index 00000000..41d9cc4c
--- /dev/null
+++ b/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.3&r2=1.4
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
+<HEAD><style> A { color:black }</style>
+<!-- hennerik CVSweb $Revision: 1.93 $ -->
+<TITLE>code/nelns/admin_executor_service/admin_executor_service.cpp - diff - 1.4</TITLE></HEAD>
+<BODY BGCOLOR="#eeeeee">
+<table width="100%" border=0 cellspacing=0 cellpadding=1 bgcolor="#aaaaaa"><tr valign=bottom><td><a href="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp"><IMG SRC="http://www.nevrax.org/inc/img/picto-up.gif" ALT="[BACK]" BORDER="0" WIDTH="14" HEIGHT="13"></a> <b>Return to <A HREF="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp">admin_executor_service.cpp</A>
+ CVS log</b> <IMG SRC="http://www.nevrax.org/inc/img/picto-news.gif" ALT="[TXT]" BORDER="0" WIDTH="13" HEIGHT="15"></td><td align=right><IMG SRC="http://www.nevrax.org/inc/img/picto-dir.gif" ALT="[DIR]" BORDER="0" WIDTH="15" HEIGHT="13"> <b>Up to <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/">admin_executor_service</a></b></td></tr></table><h3 align=center>Diff for /code/nelns/admin_executor_service/admin_executor_service.cpp between version 1.3 and 1.4</h3>
+<table border=0 cellspacing=0 cellpadding=0 width="100%">
+<tr bgcolor="#ffffff">
+<th width="50%" valign=TOP>version 1.3, 2001/05/03 13:19:13</th>
+<th width="50%" valign=TOP>version 1.4, 2001/05/10 08:20:06</th>
+<tr bgcolor="#dddddd"><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 46</b>&nbsp;<font size=-1></font></td></tr></table></td><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 46</b>&nbsp;<font size=-1></font></td></tr></table></td>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;struct CService</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;struct CService</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService(TSockId s) : ServiceSockId(s), ServiceId(NextServiceId++) { }</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService(TSockId s) : SockId(s), Id(NextId++), Ready(false) { }</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TSockId &nbsp; &nbsp; &nbsp; &nbsp;ServiceSockId; &nbsp; &nbsp; &nbsp; &nbsp;// socket number to communicate with</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TSockId &nbsp; &nbsp; &nbsp; &nbsp;SockId; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// connection to the service</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32 &nbsp; &nbsp; &nbsp; &nbsp;ServiceId; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// id to identify it</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32 &nbsp; &nbsp; &nbsp; &nbsp;Id; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// uint32 to identify the service</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;ShortName;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;ShortName; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// name of the service in short format (&quot;NS&quot; for example)</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;LongName;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;LongName; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// name of the service in long format (&quot;naming_service&quot;)</font></td></tr>
+<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bool &nbsp; &nbsp; &nbsp; &nbsp;Ready; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// true if the service is ready</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;private:</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;private:</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;static &nbsp; &nbsp; &nbsp; &nbsp;uint32 NextId;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;static &nbsp; &nbsp; &nbsp; &nbsp;uint32 NextServiceId;</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;uint32 CService::NextServiceId = 0;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;uint32 CService::NextId = 1;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;list&lt;CService&gt; Services;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;list&lt;CService&gt; Services;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;typedef list&lt;CService&gt;::iterator sit;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;typedef list&lt;CService&gt;::iterator SIT;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;sit find (TSockId sid)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;SIT find (TSockId sid)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sit it;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SIT sit;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (it = Services.begin(); it != Services.end(); it++)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (sit = Services.begin(); sit != Services.end(); sit++)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*it).ServiceSockId == sid) break;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*sit).SockId == sid) break;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return it;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return sit;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;sit find (uint32 sid)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;SIT findService (uint32 sid)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sit it;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SIT sit;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (it = Services.begin(); it != Services.end(); it++)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (sit = Services.begin(); sit != Services.end(); sit++)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*it).ServiceId == sid) break;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*sit).Id == sid) break;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return it;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return sit;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr bgcolor="#dddddd"><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 197</b>&nbsp;<font size=-1></font></td></tr></table></td><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 197</b>&nbsp;<font size=-1></font></td></tr></table></td>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceIdentification (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceIdentification (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *s = (CService*) from-&gt;appId();</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (c-&gt;ShortName);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (s-&gt;ShortName, s-&gt;LongName);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (c-&gt;LongName);</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is identified&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;*:*:%d is identified to be '%s' '%s'&quot;, s-&gt;Id, s-&gt;ShortName.c_str(), s-&gt;LongName.c_str());</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// broadcast the message to the admin service</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SID&quot;);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SID&quot;);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (s-&gt;Id, s-&gt;ShortName, s-&gt;LongName);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceReady (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceReady (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *s = (CService*) from-&gt;appId();</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is ready&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;*:*:%d is ready&quot;, s-&gt;Id);</font></td></tr>
+<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;s-&gt;Ready = true;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// broadcast the message to the admin service</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SR&quot;);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SR&quot;);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (s-&gt;Id);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;void serviceConnection (const string &amp;serviceName, TSockId from, void *arg)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;void serviceConnection (const string &amp;serviceName, TSockId from, void *arg)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Services.push_back (CService(from));</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Services.push_back (CService(from));</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = &amp;(Services.back());</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *s = &amp;(Services.back());</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from-&gt;setAppId ((uint64)c);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from-&gt;setAppId ((uint64)s);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s is connected&quot;, from-&gt;asString().c_str());</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;*:*:%d connected&quot;, s-&gt;Id);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// broadcast the message to the admin service</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SC&quot;);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SC&quot;);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (s-&gt;Id);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;void serviceDisconnection (const string &amp;serviceName, TSockId from, void *arg)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;void serviceDisconnection (const string &amp;serviceName, TSockId from, void *arg)</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *s = (CService*) from-&gt;appId();</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is disconnected&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;*:*:%d disconnected&quot;, s-&gt;Id);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// broadcast the message to the admin service</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SD&quot;);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SD&quot;);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (s-&gt;Id);</font></td></tr>
+<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// remove the service from the list</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Services.erase (findService(s-&gt;Id));</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr bgcolor="#dddddd"><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 281</b>&nbsp;<font size=-1></font></td></tr></table></td><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 286</b>&nbsp;<font size=-1></font></td></tr></table></td>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;void cbASServiceConnection (const string &amp;serviceName, TSockId from, void *arg)</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// new admin service, send him all out info about services</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;AS %s is connected&quot;, from-&gt;asString().c_str());</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SL&quot;);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32 nbs = (uint32)Services.size();</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (nbs);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (SIT sit = Services.begin(); sit != Services.end(); sit++)</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial ((*sit).Id);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial ((*sit).ShortName);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial ((*sit).LongName);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial ((*sit).Ready);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout, from);</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;TCallbackItem AESASCallbackArray[] =</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;TCallbackItem AESASCallbackArray[] =</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
+<tr bgcolor="#dddddd"><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 305</b>&nbsp;<font size=-1></font></td></tr></table></td><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 328</b>&nbsp;<font size=-1></font></td></tr></table></td>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::setDisconnectionCallback (&quot;AES&quot;, serviceDisconnection, NULL);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::setDisconnectionCallback (&quot;AES&quot;, serviceDisconnection, NULL);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// install the server for AS</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// install the server for AS</font></td></tr>
+<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::setConnectionCallback (&quot;AESAS&quot;, cbASServiceConnection, NULL);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addServer (&quot;AESAS&quot;, 49996);</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addServer (&quot;AESAS&quot;, 49996);</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addCallbackArray (&quot;AESAS&quot;, AESASCallbackArray, sizeof(AESASCallbackArray)/sizeof(AESASCallbackArray[0]));</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addCallbackArray (&quot;AESAS&quot;, AESASCallbackArray, sizeof(AESASCallbackArray)/sizeof(AESASCallbackArray[0]));</font></td></tr>
+<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
+</table><br><hr noshade width="100%">
+<table border=0><tr><td><table border=1><tr><td>Legend:<br><table border=0 cellspacing=0 cellpadding=1>
+<tr><td align=center bgcolor="#ff9999">Removed from v.1.3</td><td bgcolor="#cccccc">&nbsp;</td></tr><tr bgcolor="#99ff99"><td align=center colspan=2>changed lines</td></tr><tr><td bgcolor="#cccccc">&nbsp;</td><td align=center bgcolor="#ccccff">Added in v.1.4</td></tr></table></td></tr></table>
+<td><FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff">
+<INPUT TYPE=HIDDEN NAME="r1" VALUE="1.3">
+<INPUT TYPE=HIDDEN NAME="r2" VALUE="1.4">
+<SELECT NAME="f" onchange="submit()">
+<OPTION VALUE=h SELECTED>Colored Diff<OPTION VALUE=H>Long Colored Diff<OPTION VALUE=u>Unidiff<OPTION VALUE=c>Context Diff<OPTION VALUE=s>Side by Side</SELECT><INPUT TYPE=SUBMIT VALUE="Show">
+</FORM>
+</td></tr></table> \ No newline at end of file