aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/agent__timer_8cpp-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/agent__timer_8cpp-source.html')
-rw-r--r--docs/doxygen/nel/agent__timer_8cpp-source.html877
1 files changed, 877 insertions, 0 deletions
diff --git a/docs/doxygen/nel/agent__timer_8cpp-source.html b/docs/doxygen/nel/agent__timer_8cpp-source.html
new file mode 100644
index 00000000..3aa9338f
--- /dev/null
+++ b/docs/doxygen/nel/agent__timer_8cpp-source.html
@@ -0,0 +1,877 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>agent_timer.cpp</h1><a href="agent__timer_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00006 <font class="comment">/* Copyright, 2000 Nevrax Ltd.</font>
+00007 <font class="comment"> *</font>
+00008 <font class="comment"> * This file is part of NEVRAX NEL.</font>
+00009 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font>
+00010 <font class="comment"> * it under the terms of the GNU General Public License as published by</font>
+00011 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font>
+00012 <font class="comment"> * any later version.</font>
+00013 <font class="comment"></font>
+00014 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font>
+00015 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
+00016 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
+00017 <font class="comment"> * General Public License for more details.</font>
+00018 <font class="comment"></font>
+00019 <font class="comment"> * You should have received a copy of the GNU General Public License</font>
+00020 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font>
+00021 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font>
+00022 <font class="comment"> * MA 02111-1307, USA.</font>
+00023 <font class="comment"> */</font>
+00024 <font class="preprocessor">#include "<a class="code" href="time__nl_8h.html">nel/misc/time_nl.h</a>"</font>
+00025 <font class="preprocessor">#include "<a class="code" href="nl__ai_8h.html">nel/ai/nl_ai.h</a>"</font>
+00026 <font class="preprocessor">#include "<a class="code" href="agent__timer_8h.html">nel/ai/agent/agent_timer.h</a>"</font>
+00027 <font class="preprocessor">#include "<a class="code" href="agent__method__def_8h.html">nel/ai/agent/agent_method_def.h</a>"</font>
+00028 <font class="preprocessor">#include "<a class="code" href="agent__digital_8h.html">nel/ai/agent/agent_digital.h</a>"</font>
+00029 <font class="preprocessor">#include "<a class="code" href="object__unknown_8h.html">nel/ai/script/object_unknown.h</a>"</font>
+00030
+00031 <font class="keyword">namespace </font>NLAIAGENT
+00032 {
+00033 <font class="comment">//##################################</font>
+00034 <font class="comment">//CAgentManagerTimer</font>
+00035 <font class="comment">//##################################</font>
+<a name="l00036"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a0">00036</a> CAgentManagerTimer::CAgentManagerTimer(<font class="keyword">const</font> CAgentManagerTimer &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>):CAgentScript(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>), _Time(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>._Time)
+00037 {
+00038
+00039 }
+00040
+<a name="l00041"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a1">00041</a> CAgentManagerTimer::CAgentManagerTimer(IAgentManager *m):CAgentScript(m), _Time(0)
+00042 {
+00043 }
+00044
+<a name="l00045"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a2">00045</a> CAgentManagerTimer::CAgentManagerTimer(IAgentManager *m, IBasicAgent *a, <a class="code" href="classstd_1_1list.html">std::list&lt;IObjectIA *&gt;</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>, <a class="code" href="classNLAISCRIPT_1_1CAgentClass.html">NLAISCRIPT::CAgentClass</a> *c):CAgentScript(m,a,v,c), _Time(0)
+00046 {
+00047 }
+00048
+<a name="l00049"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a3">00049</a> CAgentManagerTimer::~CAgentManagerTimer()
+00050 {
+00051 }
+00052
+<a name="l00053"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_0">00053</a> <font class="keywordtype">void</font> CAgentManagerTimer::load(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;is)
+00054 {
+00055 }
+<a name="l00056"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_1">00056</a> <font class="keywordtype">void</font> CAgentManagerTimer::save(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;os)
+00057 {
+00058 }
+<a name="l00059"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_2">00059</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentManagerTimer::clone()<font class="keyword"> const</font>
+00060 <font class="keyword"> </font>{
+00061 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a0">CAgentManagerTimer</a>(*<font class="keyword">this</font>);
+00062 }
+<a name="l00063"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_3">00063</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentManagerTimer::newInstance()<font class="keyword"> const</font>
+00064 <font class="keyword"> </font>{
+00065 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a0">CAgentManagerTimer</a>(NULL);
+00066 }
+00067
+<a name="l00068"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_4">00068</a> <font class="keywordtype">void</font> CAgentManagerTimer::getDebugString(std::string &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)<font class="keyword"> const</font>
+00069 <font class="keyword"> </font>{
+00070 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <a class="code" href="namespaceNLAIC.html#a5">NLAIC::stringGetBuild</a>(<font class="stringliteral">"CAgentManagerTimer &lt;%d&gt;"</font>,<a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#o0">_Time</a>);
+00071 }
+00072
+<a name="l00073"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#z148_5">00073</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &amp;CAgentManagerTimer::getType()<font class="keyword"> const</font>
+00074 <font class="keyword"> </font>{
+00075 <font class="keywordflow">return</font> *<a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p4">IdAgentTimer</a>;
+00076 }
+00077
+<a name="l00078"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a4">00078</a> IObjectIA::CProcessResult CAgentManagerTimer::runActivity()
+00079 {
+00080 <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#o0">_Time</a> ++;
+00081 <font class="keywordflow">return</font> IObjectIA::CProcessResult();
+00082 }
+00083
+00084
+<a name="l00085"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p4">00085</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *CAgentManagerTimer::IdAgentTimer = NULL;
+<a name="l00086"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p1">00086</a> NLMISC::CSynchronized&lt;CAgentScript *&gt; *CAgentManagerTimer::TimerManager = NULL;
+<a name="l00087"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p2">00087</a> <a class="code" href="classNLMISC_1_1IThread.html">NLMISC::IThread</a> *CAgentManagerTimer::TimerManagerRun = NULL;
+<a name="l00088"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p3">00088</a> CAgentManagerTimer::CRunTimer *CAgentManagerTimer::RunTimer = NULL;
+<a name="l00089"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p0">00089</a> <font class="keywordtype">bool</font> CAgentManagerTimer::IsRunning = <font class="keyword">false</font>;
+00090
+<a name="l00091"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#p5">00091</a> <font class="keyword">const</font> <font class="keywordtype">int</font> CAgentManagerTimer::ClockTick = 40;
+00092
+<a name="l00093"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#d0">00093</a> <font class="keywordtype">void</font> CAgentManagerTimer::initClass()
+00094 {
+00095 <font class="keywordflow">if</font>(!CAgentManagerTimer::IsRunning)
+00096 {
+00097 <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a0">CAgentManagerTimer</a> *h = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#a0">CAgentManagerTimer</a>(NULL);
+00098 CAgentManagerTimer::IdAgentTimer = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (<font class="stringliteral">"AgentStaticManagerTimer"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> &amp;)*h),
+00099 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>),
+00100 <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s0">NLAIC::CTypeOfOperator::opNone</a>));
+00101
+00102 CAgentManagerTimer::TimerManager = <font class="keyword">new</font> NLMISC::CSynchronized&lt;CAgentScript *&gt;( <font class="stringliteral">"CAgentManagerTimer::TimerManager"</font> );
+00103 {
+00104 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00105 accessor.value() = h;
+00106 }
+00107 <font class="comment">/*CAgentManagerTimer::RunTimer = new CAgentManagerTimer::CRunTimer();</font>
+00108 <font class="comment"> CAgentManagerTimer::TimerManagerRun = NLMISC::IThread::create(CAgentManagerTimer::RunTimer);</font>
+00109 <font class="comment"> CAgentManagerTimer::TimerManagerRun-&gt;start();</font>
+00110 <font class="comment"> CAgentManagerTimer::IsRunning = true;*/</font>
+00111 CAgentManagerTimer::IsRunning = <font class="keyword">false</font>;
+00112 }
+00113 }
+00114
+<a name="l00115"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer.html#d1">00115</a> <font class="keywordtype">void</font> CAgentManagerTimer::releaseClass()
+00116 {
+00117 {
+00118 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00119 accessor.value()-&gt;release();
+00120 }
+00121 <font class="keyword">delete</font> CAgentManagerTimer::TimerManager;
+00122 <font class="keyword">delete</font> CAgentManagerTimer::IdAgentTimer;
+00123 CAgentManagerTimer::IdAgentTimer = NULL;
+00124 CAgentManagerTimer::TimerManager = NULL;
+00125
+00126 <font class="keywordflow">if</font>(CAgentManagerTimer::TimerManagerRun)
+00127 {
+00128 CAgentManagerTimer::TimerManagerRun-&gt;<a class="code" href="classNLMISC_1_1IThread.html#a2">terminate</a>();
+00129 <font class="keyword">delete</font> CAgentManagerTimer::TimerManagerRun;
+00130 <font class="keyword">delete</font> CAgentManagerTimer::RunTimer;
+00131 CAgentManagerTimer::IsRunning = <font class="keyword">false</font>;
+00132 }
+00133
+00134 }
+00135
+00136 <font class="comment">//##################################</font>
+00137 <font class="comment">//CAgentManagerTimer::CRunTimer</font>
+00138 <font class="comment">//##################################</font>
+00139
+<a name="l00140"></a><a class="code" href="classNLAIAGENT_1_1CAgentManagerTimer_1_1CRunTimer.html#a2">00140</a> <font class="keywordtype">void</font> CAgentManagerTimer::CRunTimer::run()
+00141 {
+00142
+00143 NLMISC::TTime start = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a>();
+00144 NLMISC::TTime time;
+00145 <font class="keywordflow">while</font>(1)
+00146 {
+00147 NLMISC::TTime <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>= <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a>();
+00148 time = (<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> - start);
+00149 <font class="keywordflow">if</font>(time &gt; (uint)CAgentManagerTimer::ClockTick)
+00150 {
+00151 start = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a>();
+00152 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00153 accessor.value()-&gt;run();
+00154 }
+00155 <a class="code" href="namespaceNLMISC.html#a236">NLMISC::nlSleep</a>((uint)(CAgentManagerTimer::ClockTick/2));
+00156 <font class="comment">//NLMISC::nlSleep(CAgentManagerTimer::ClockTick);</font>
+00157 }
+00158 }
+00159
+00160 <font class="comment">//##################################</font>
+00161 <font class="comment">//CLibTimerManager</font>
+00162 <font class="comment">//##################################</font>
+<a name="l00163"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#p1">00163</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *CLibTimerManager::IdAgentManagerTimer = NULL;
+<a name="l00164"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#p0">00164</a> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a> **CLibTimerManager::StaticMethod = NULL;
+00165
+<a name="l00166"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#a2">00166</a> NLAIAGENT::tQueue CLibTimerManager::isMember(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *className,<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *methodName,<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)<font class="keyword"> const</font>
+00167 <font class="keyword"> </font>{
+00168 NLAIAGENT::tQueue <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="namespaceNLAIAGENT.html#a42">NLAIAGENT::isTemplateMember</a>(CLibTimerManager::StaticMethod,CLibTimerManager::TLastM,IObjectIA::getMethodIndexSize(),className,methodName,param);
+00169 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>;
+00170 <font class="keywordflow">else</font> <font class="keywordflow">return</font> IObjectIA::isMember(className,methodName,param);
+00171 }
+00172
+00173
+<a name="l00174"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#a3">00174</a> <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> CLibTimerManager::runMethodeMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,<a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> *o)
+00175 {
+00176 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *)o;
+00177
+00178 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - IObjectIA::getMethodIndexSize())
+00179 {
+00180 <font class="keywordflow">case</font> CLibTimerManager::TGetTimer:
+00181 {
+00182 <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> a;
+00183 {
+00184 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00185 a = accessor.value()-&gt;getDynamicAgent(param);
+00186 }
+00187 <font class="keywordflow">return</font> a;
+00188 }
+00189 <font class="keywordflow">default</font>:
+00190 <font class="keywordflow">return</font> IObjectIA::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,o);
+00191 }
+00192 }
+00193
+<a name="l00194"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#d0">00194</a> <font class="keywordtype">void</font> CLibTimerManager::initClass()
+00195 {
+00196 <a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#a0">CLibTimerManager</a> h;
+00197 CLibTimerManager::IdAgentManagerTimer = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (<font class="stringliteral">"AgentManagerTimer"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> &amp;)h),
+00198 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>),
+00199 <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s0">NLAIC::CTypeOfOperator::opNone</a>));
+00200
+00201 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *ParamString = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(1,<font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1CStringType.html#p0">NLAIAGENT::CStringType::IdStringType</a>)));
+00202 CLibTimerManager::StaticMethod = <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a> *[CLibTimerManager::TLastM];
+00203
+00204 CLibTimerManager::StaticMethod[CLibTimerManager::TGetTimer] =
+00205 <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a>(<a class="code" href="agent__method__def_8h.html#a14">_GETTIMER_</a>,
+00206 CLibTimerManager::TGetTimer,
+00207 ParamString,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s26s22">NLAIAGENT::CAgentScript::CheckAll</a>,
+00208 1, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(
+00209 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(
+00210 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CVectorGroupManager::IdVectorGroupManager))));
+00211 }
+00212
+<a name="l00213"></a><a class="code" href="classNLAIAGENT_1_1CLibTimerManager.html#d1">00213</a> <font class="keywordtype">void</font> CLibTimerManager::releaseClass()
+00214 {
+00215 <font class="keyword">delete</font> CLibTimerManager::IdAgentManagerTimer;
+00216 <font class="keywordtype">int</font> i;
+00217 <font class="keywordflow">for</font>(i = 0; i &lt; CLibTimerManager::TLastM; i++)
+00218 {
+00219 <font class="keyword">delete</font> CLibTimerManager::StaticMethod[i];
+00220 }
+00221 <font class="keyword">delete</font> CLibTimerManager::StaticMethod;
+00222 }
+00223
+00224 <font class="comment">//##################################</font>
+00225 <font class="comment">//CAgentWatchTimer</font>
+00226 <font class="comment">//##################################</font>
+<a name="l00227"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#p1">00227</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *CAgentWatchTimer::IdAgentWatchTimer = NULL;
+00228
+00229
+<a name="l00230"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a0">00230</a> CAgentWatchTimer::CAgentWatchTimer(): CAgentScript(NULL),_Clock(0)
+00231 {
+00232 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end();
+00233 }
+<a name="l00234"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a3">00234</a> CAgentWatchTimer::CAgentWatchTimer(<font class="keyword">const</font> CAgentWatchTimer &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>):CAgentScript(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>), _Clock(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>._Clock),_Call(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>._Call)
+00235 {
+00236 <a class="code" href="classstd_1_1list.html">std::list&lt;std::pair&lt; IConnectIA *, std::pair&lt;IMessageBase *, sint32&gt;</a> &gt; &gt;::iterator i = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.begin();
+00237 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00238 {
+00239 <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a7">connect</a>((*i).first);
+00240 std::pair&lt;IMessageBase *, sint32&gt; p = ((*i).second);
+00241 p.first-&gt;incRef();
+00242 i ++;
+00243 }
+00244 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end();
+00245
+00246 }
+<a name="l00247"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a1">00247</a> CAgentWatchTimer::CAgentWatchTimer(IAgentManager *m):CAgentScript(m), _Clock(0)<font class="comment">/*,_Call(NULL),_MSG(NULL)*/</font>
+00248 {
+00249 }
+<a name="l00250"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a2">00250</a> CAgentWatchTimer::CAgentWatchTimer(IAgentManager *m, IBasicAgent *a, <a class="code" href="classstd_1_1list.html">std::list&lt;IObjectIA *&gt;</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>, <a class="code" href="classNLAISCRIPT_1_1CAgentClass.html">NLAISCRIPT::CAgentClass</a> *c):CAgentScript(m,a,v,c), _Clock(0)<font class="comment">/*,_Call(NULL),_MSG(NULL)*/</font>
+00251 {
+00252 }
+<a name="l00253"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a4">00253</a> CAgentWatchTimer::~CAgentWatchTimer()
+00254 {
+00255 <a class="code" href="classstd_1_1list.html">std::list&lt;std::pair&lt; IConnectIA *, std::pair&lt;IMessageBase *, sint32&gt;</a> &gt; &gt;::iterator i = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.begin();
+00256 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00257 {
+00258 std::pair&lt;IMessageBase *, sint32&gt; p = ((*i++).second);
+00259 IMessageBase * m = p.first;
+00260 m-&gt;release();
+00261 }
+00262
+00263 }
+00264
+<a name="l00265"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a5">00265</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentWatchTimer::clone()<font class="keyword"> const</font>
+00266 <font class="keyword"> </font>{
+00267 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a0">CAgentWatchTimer</a>(*<font class="keyword">this</font>);
+00268 }
+00269
+<a name="l00270"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a6">00270</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentWatchTimer::newInstance()<font class="keyword"> const</font>
+00271 <font class="keyword"> </font>{
+00272 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a0">CAgentWatchTimer</a>();
+00273 }
+00274
+<a name="l00275"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a7">00275</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &amp;CAgentWatchTimer::getType()<font class="keyword"> const</font>
+00276 <font class="keyword"> </font>{
+00277 <font class="keywordflow">return</font> *<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#p1">IdAgentWatchTimer</a>;
+00278 }
+00279
+<a name="l00280"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a18">00280</a> IObjectIA::CProcessResult CAgentWatchTimer::runActivity()
+00281 {
+00282 NLMISC::TTicks time = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a> () - <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n1">_DTime</a>;
+00283 <font class="keywordflow">if</font>((sint) (time) &gt;= <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n0">_Clock</a>)
+00284 {
+00285 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a16">tellBroker</a>();
+00286 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a4">setState</a>(<a class="code" href="namespaceNLAIAGENT.html#a50a6">processToKill</a>,NULL);
+00287 }
+00288 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a3">getState</a>();
+00289 }
+00290
+<a name="l00291"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a16">00291</a> <font class="keywordtype">bool</font> CAgentWatchTimer::tellBroker()
+00292 {
+00293 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> == <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00294 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.begin();
+00295 <font class="keywordflow">while</font>(<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> != <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00296 {
+00297 std::pair&lt;IMessageBase *, sint32&gt; p = ((*_CallIter).second);
+00298 IMessageBase *msg = (IMessageBase *)p.first;
+00299 msg-&gt;incRef();
+00300 <font class="keywordflow">if</font>((*_CallIter).first-&gt;getState().ResultState == NLAIAGENT::processIdle) (*_CallIter).first-&gt;sendMessage((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg);
+00301 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n3">_CallIter</a> ++;
+00302 <font class="comment">/*n ++;</font>
+00303 <font class="comment"> if(n &gt;= 10) return false;*/</font>
+00304 }
+00305 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00306 }
+00307
+<a name="l00308"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a12">00308</a> <font class="keywordtype">void</font> CAgentWatchTimer::addAttrib(IConnectIA *c,IMessageBase *msg)
+00309 {
+00310 <font class="preprocessor">#ifdef NL_DEBUG</font>
+00311 <font class="preprocessor"></font> <font class="keywordflow">if</font>(c == NULL || msg == NULL)
+00312 {
+00313 <font class="keywordflow">throw</font>;
+00314 }
+00315 <font class="preprocessor">#endif</font>
+00316 <font class="preprocessor"></font> <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a7">connect</a>(c);
+00317 <font class="keyword">static</font> CStringVarName sRunTell(<font class="stringliteral">"RunTell"</font>);
+00318
+00319
+00320 <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(msg-&gt;getType()));
+00321 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>(1,t);
+00322
+00323
+00324 sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = -1;
+00325
+00326 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = c-&gt;isMember(NULL,&amp;sRunTell,param);
+00327 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.top().Index;
+00328
+00329 msg-&gt;setSender(<font class="keyword">this</font>);
+00330 msg-&gt;setPerformatif(IMessageBase::PTell);
+00331 msg-&gt;setMethodIndex(0,<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>);
+00332
+00333 std::pair&lt;IMessageBase *, sint32&gt; p (msg,<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>);
+00334 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.push_front(std::pair&lt; <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#b0">IConnectIA</a> *, std::pair&lt;IMessageBase *, sint32&gt; &gt; (c,p));
+00335
+00336 }
+00337
+<a name="l00338"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a9">00338</a> <font class="keywordtype">void</font> CAgentWatchTimer::onKill(IConnectIA *a)
+00339 {
+00340 <font class="keywordflow">if</font>(!<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a14">detach</a>(a,<font class="keyword">false</font>)) CAgentScript::onKill(a);
+00341 }
+00342
+<a name="l00343"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a15">00343</a> <font class="keywordtype">bool</font> CAgentWatchTimer::detach(IConnectIA *a,<font class="keywordtype">bool</font> deleteFromConnection)
+00344 {
+00345 <a class="code" href="classstd_1_1list.html">std::list&lt;std::pair&lt; IConnectIA *, std::pair&lt;IMessageBase *, sint32&gt;</a> &gt; &gt;::iterator i = <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.begin();
+00346 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00347 {
+00348 <font class="keywordflow">if</font>((*i).first == a)
+00349 {
+00350 (*i).second.first-&gt;release();
+00351 <font class="keywordflow">break</font>;
+00352 }
+00353 i++;
+00354 }
+00355
+00356 <font class="keywordflow">if</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.end())
+00357 {
+00358 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.erase(i);
+00359 <font class="keywordflow">if</font>(!<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n2">_Call</a>.size()) <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a14">detach</a>();
+00360
+00361 <font class="keywordflow">if</font>(deleteFromConnection)
+00362 {
+00363 <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a8">removeConnection</a>(a);
+00364 }
+00365 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00366 }
+00367 <font class="keywordflow">else</font> <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00368 }
+00369
+<a name="l00370"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a8">00370</a> <font class="keywordtype">void</font> CAgentWatchTimer::getDebugString(std::string &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)<font class="keyword"> const</font>
+00371 <font class="keyword"> </font>{
+00372 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>;
+00373 ((<font class="keyword">const</font> IWordNumRef &amp;)*<font class="keyword">this</font>).getNumIdent().getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>);
+00374 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = <a class="code" href="namespaceNLAIC.html#a5">NLAIC::stringGetBuild</a>(<font class="stringliteral">"timer: %s"</font>,<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>.c_str());
+00375 }
+00376
+<a name="l00377"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a14">00377</a> <font class="keywordtype">void</font> CAgentWatchTimer::detach()
+00378 {
+00379 <font class="comment">/*_Call = NULL;</font>
+00380 <font class="comment"> if(_MSG != NULL) _MSG-&gt;release();</font>
+00381 <font class="comment"> _MSG = NULL;*/</font>
+00382 CVectorGroupType g(1);
+00383 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>;
+00384 ((<font class="keyword">const</font> IWordNumRef &amp;)*<font class="keyword">this</font>).getNumIdent().getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>);
+00385 g.set(0,<font class="keyword">new</font> CStringType(CStringVarName(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>.c_str())));
+00386 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>;
+00387 <font class="keywordflow">if</font>(CAgentManagerTimer::TimerManager != NULL)
+00388 {
+00389 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00390 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = accessor.value()-&gt;removeDynamic(&amp;g);
+00391 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result != NULL) <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result-&gt;release();
+00392 <font class="comment">//release();</font>
+00393 }
+00394 }
+00395
+<a name="l00396"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a13">00396</a> <font class="keywordtype">void</font> CAgentWatchTimer::attach()
+00397 {
+00398 CVectorGroupType g(2);
+00399 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>;
+00400 ((<font class="keyword">const</font> IWordNumRef &amp;)*<font class="keyword">this</font>).getNumIdent().getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>);
+00401 g.set(0,<font class="keyword">new</font> CStringType(CStringVarName(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>.c_str())));
+00402 this-&gt;<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>();
+00403 g.set(1,<font class="keyword">this</font>);
+00404 {
+00405 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00406 accessor.value()-&gt;addDynamicAgent(&amp;g);
+00407 }
+00408 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n1">_DTime</a> = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a> ();
+00409 }
+00410
+<a name="l00411"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a20">00411</a> <font class="keywordtype">int</font> CAgentWatchTimer::getBaseMethodCount()<font class="keyword"> const</font>
+00412 <font class="keyword"> </font>{
+00413 <font class="keywordflow">return</font> CAgentScript::getBaseMethodCount() + CAgentWatchTimer::TLastM;
+00414 }
+00415
+00416
+<a name="l00417"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a22">00417</a> sint32 CAgentWatchTimer::getMethodIndexSize()<font class="keyword"> const</font>
+00418 <font class="keyword"> </font>{
+00419 <font class="keywordflow">return</font> CAgentScript::getMethodIndexSize() + CAgentWatchTimer::TLastM;
+00420 }
+00421
+00422
+00423
+<a name="l00424"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a21">00424</a> NLAIAGENT::tQueue CAgentWatchTimer::isMember(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *className,<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *methodName,<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)<font class="keyword"> const</font>
+00425 <font class="keyword"> </font>{
+00426 NLAIAGENT::tQueue <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="namespaceNLAIAGENT.html#a42">NLAIAGENT::isTemplateMember</a>(CAgentWatchTimer::StaticMethod,CAgentWatchTimer::TLastM,CAgentScript::getMethodIndexSize(),className,methodName,param);
+00427 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>;
+00428 <font class="keywordflow">else</font> <font class="keywordflow">return</font> CAgentScript::isMember(className,methodName,param);
+00429 }
+00430
+<a name="l00431"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a23">00431</a> <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> CAgentWatchTimer::runMethodBase(<font class="keywordtype">int</font> heritance, <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,<a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> *o)
+00432 {
+00433 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a23">runMethodBase</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,o);
+00434 }
+00435
+<a name="l00436"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a25">00436</a> IObjectIA::CProcessResult CAgentWatchTimer::runMethodeMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,<a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> *o)
+00437 {
+00438 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a23">runMethodBase</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, o);
+00439 }
+00440
+<a name="l00441"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a24">00441</a> <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> CAgentWatchTimer::runMethodBase(<font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,<a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> *o)
+00442 {
+00443 <a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *)o;
+00444
+00445 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - CAgentScript::getMethodIndexSize())
+00446 {
+00447 <font class="keywordflow">case</font> CAgentWatchTimer::TAttach:
+00448 {
+00449 CIteratorContener i = param-&gt;<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_6">getIterator</a>();
+00450
+00451 <font class="keywordflow">if</font>(param-&gt;<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_12">size</a>())
+00452 {
+00453 <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#b0">IConnectIA</a> *call = (<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#b0">IConnectIA</a> *)i++;
+00454 call-&gt;incRef();
+00455 IMessageBase *msg = (IMessageBase *)i++;
+00456 msg-&gt;incRef();
+00457 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a12">addAttrib</a>(call,msg);
+00458 }
+00459 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a13">attach</a>();
+00460 IObjectIA::CProcessResult a;
+00461
+00462 a.Result = <font class="keyword">new</font> CAgentTimerHandle(<font class="keyword">this</font>);
+00463 <font class="keywordflow">return</font> a;
+00464 }
+00465
+00466 <font class="keywordflow">case</font> CAgentWatchTimer::TAddAttrib:
+00467 {
+00468 CIteratorContener i = param-&gt;<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_6">getIterator</a>();
+00469 <a class="code" href="classNLAIAGENT_1_1IConnectIA.html#b0">IConnectIA</a> *call = (<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#b0">IConnectIA</a> *)i++;
+00470 call-&gt;incRef();
+00471 IMessageBase *msg = (IMessageBase *)i++;
+00472 msg-&gt;incRef();
+00473 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a12">addAttrib</a>(call,msg);
+00474 IObjectIA::CProcessResult a;
+00475
+00476 a.Result = <font class="keyword">new</font> CAgentTimerHandle(<font class="keyword">this</font>);
+00477 <font class="keywordflow">return</font> a;
+00478 }
+00479
+00480 <font class="keywordflow">case</font> CAgentWatchTimer::TSetClock:
+00481 {
+00482 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a11">setClock</a>( (uint)((<a class="code" href="classNLAIAGENT_1_1INombreDefine.html">NLAIAGENT::INombreDefine</a> *)param-&gt;<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_10">get</a>())-&gt;getNumber() );
+00483 <font class="keywordflow">return</font> <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a>();
+00484 }
+00485 <font class="keywordflow">case</font> CAgentWatchTimer::TGetClock:
+00486 {
+00487 <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>;
+00488 r.<a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html#m1">Result</a> = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1DDigitalType.html">NLAIAGENT::DDigitalType</a>((<font class="keywordtype">double</font>)<a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a10">getClock</a>());
+00489 <font class="keywordflow">return</font> r;
+00490 }
+00491 <font class="keywordflow">default</font>:
+00492 <font class="keywordflow">return</font> CAgentScript::runMethodBase(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,o);
+00493 }
+00494 }
+00495
+<a name="l00496"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a26">00496</a> IMessageBase *CAgentWatchTimer::runTell(<font class="keyword">const</font> IMessageBase &amp;m)
+00497 {
+00498 <font class="keyword">static</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> idMsgKillTimer (<font class="stringliteral">"MsgStopTimer"</font>);
+00499 <font class="keyword">static</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> idMsgStartTimer (<font class="stringliteral">"MsgStartTimer"</font>);
+00500 <font class="keywordflow">if</font>(m.getType() == idMsgKillTimer)
+00501 {
+00502 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a4">setState</a>(<a class="code" href="namespaceNLAIAGENT.html#a50a5">processEnd</a>,NULL);
+00503 <font class="keywordflow">return</font> NULL;
+00504 }
+00505 <font class="keywordflow">else</font>
+00506 <font class="keywordflow">if</font>(m.getType() == idMsgStartTimer)
+00507 {
+00508 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a4">setState</a>(<a class="code" href="namespaceNLAIAGENT.html#a50a2">processIdle</a>,NULL);
+00509 <font class="keywordflow">return</font> NULL;
+00510 }
+00511 <font class="keywordflow">else</font> <font class="keywordflow">return</font> CAgentScript::runTell(m);
+00512 }
+00513
+<a name="l00514"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#p0">00514</a> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a> **CAgentWatchTimer::StaticMethod = NULL;
+00515
+<a name="l00516"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#d1">00516</a> <font class="keywordtype">void</font> CAgentWatchTimer::initMsgClass()
+00517 {
+00518 std::string msgStr;
+00519 std::string scriptName(<font class="stringliteral">"MsgTimer"</font>);
+00520 msgStr = std::string(<font class="stringliteral">"From Message : Define MsgStopTimer\n{"</font>);
+00521 msgStr += std::string(<font class="stringliteral">"Component:\n"</font>);
+00522 msgStr += std::string(<font class="stringliteral">"End\n}\n"</font>);
+00523 <a class="code" href="namespaceNLAILINK.html#a7">NLAILINK::buildScript</a>(msgStr,scriptName);
+00524 msgStr = std::string(<font class="stringliteral">"From Message : Define MsgStartTimer\n{"</font>);
+00525 msgStr += std::string(<font class="stringliteral">"Component:\n"</font>);
+00526 msgStr += std::string(<font class="stringliteral">"End\n}\n"</font>);
+00527 <a class="code" href="namespaceNLAILINK.html#a7">NLAILINK::buildScript</a>(msgStr,scriptName);
+00528 }
+00529
+<a name="l00530"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#d0">00530</a> <font class="keywordtype">void</font> CAgentWatchTimer::initClass()
+00531 {
+00532 CAgentTimerHandle::initClass();
+00533 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#d1">initMsgClass</a>();
+00534 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a0">CAgentWatchTimer</a> h;
+00535 CAgentWatchTimer::IdAgentWatchTimer = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (<font class="stringliteral">"AgentWatchTimer"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> &amp;)h),
+00536 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>),
+00537 <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s0">NLAIC::CTypeOfOperator::opNone</a>));
+00538
+00539 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *<a class="code" href="namespaceNLAIAGENT.html#a13">Param</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(1, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(2,
+00540 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1DDigitalType.html#p0">NLAIAGENT::DDigitalType::IdDDigitalType</a>),
+00541 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1DigitalType.html#p1">NLAIAGENT::DigitalType::IdDigitalType</a>)));
+00542
+00543
+00544 CAgentWatchTimer::StaticMethod = <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a> *[CAgentWatchTimer::TLastM];
+00545
+00546 CAgentWatchTimer::StaticMethod[CAgentWatchTimer::TAttach] =
+00547 <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a>(<a class="code" href="agent__method__def_8h.html#a11">_ATTACH_</a>,
+00548 CAgentWatchTimer::TAttach,
+00549 NULL,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s26s24">NLAIAGENT::CAgentScript::DoNotCheck</a>,
+00550 2, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(
+00551 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*CAgentTimerHandle::IdAgentTimerHandle))));
+00552
+00553 CAgentWatchTimer::StaticMethod[CAgentWatchTimer::TAddAttrib] =
+00554 <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a>(<a class="code" href="agent__method__def_8h.html#a15">_ADDATTRIB_</a>,
+00555 CAgentWatchTimer::TAddAttrib,
+00556 NULL,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s26s23">NLAIAGENT::CAgentScript::CheckCount</a>,
+00557 2, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(
+00558 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*CAgentTimerHandle::IdAgentTimerHandle))));
+00559
+00560 CAgentWatchTimer::StaticMethod[CAgentWatchTimer::TGetClock] =
+00561 <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a>(<a class="code" href="agent__method__def_8h.html#a13">_GETCLOCK_</a>,
+00562 CAgentWatchTimer::TGetClock,
+00563 NULL,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s26s23">NLAIAGENT::CAgentScript::CheckCount</a>,
+00564 0, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(
+00565 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(
+00566 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1DigitalType.html#p1">NLAIAGENT::DigitalType::IdDigitalType</a>))));
+00567
+00568 CAgentWatchTimer::StaticMethod[CAgentWatchTimer::TSetClock] =
+00569 <font class="keyword">new</font> <a class="code" href="structNLAIAGENT_1_1CAgentScript_1_1CMethodCall.html">NLAIAGENT::CAgentScript::CMethodCall</a>(<a class="code" href="agent__method__def_8h.html#a12">_SETCLOCK_</a>,
+00570 CAgentWatchTimer::TSetClock,
+00571 Param,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s26s22">NLAIAGENT::CAgentScript::CheckAll</a>,
+00572 1, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(
+00573 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a>(
+00574 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1DigitalType.html#p1">NLAIAGENT::DigitalType::IdDigitalType</a>))));
+00575 }
+00576
+<a name="l00577"></a><a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#d2">00577</a> <font class="keywordtype">void</font> CAgentWatchTimer::releaseClass()
+00578 {
+00579 CAgentTimerHandle::releaseClass();
+00580 <font class="keyword">delete</font> CAgentWatchTimer::IdAgentWatchTimer;
+00581 <font class="keywordtype">int</font> i;
+00582 <font class="keywordflow">for</font>(i = 0; i &lt; CAgentWatchTimer::TLastM; i++)
+00583 {
+00584 <font class="keyword">delete</font> CAgentWatchTimer::StaticMethod[i];
+00585 }
+00586 <font class="keyword">delete</font> CAgentWatchTimer::StaticMethod;
+00587 }
+00588
+00589 <font class="comment">//##################################</font>
+00590 <font class="comment">//CAgentClockTimer</font>
+00591 <font class="comment">//##################################</font>
+00592
+<a name="l00593"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#p0">00593</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *CAgentClockTimer::IdAgentClockTimer = NULL;
+00594
+<a name="l00595"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a0">00595</a> CAgentClockTimer::CAgentClockTimer():CAgentWatchTimer(), _TimeCount(0)
+00596 {
+00597 }
+00598
+<a name="l00599"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a1">00599</a> CAgentClockTimer::CAgentClockTimer(IAgentManager *m):CAgentWatchTimer(m), _TimeCount(0)
+00600 {
+00601 }
+00602
+<a name="l00603"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a2">00603</a> CAgentClockTimer::CAgentClockTimer(IAgentManager *m, IBasicAgent *a, <a class="code" href="classstd_1_1list.html">std::list&lt;IObjectIA *&gt;</a> &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>, <a class="code" href="classNLAISCRIPT_1_1CAgentClass.html">NLAISCRIPT::CAgentClass</a> *c):
+00604 CAgentWatchTimer(m,a,v,c), _TimeCount(0)
+00605 {
+00606 }
+00607
+<a name="l00608"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a3">00608</a> CAgentClockTimer::CAgentClockTimer(<font class="keyword">const</font> CAgentClockTimer &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>):CAgentWatchTimer(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>), _TimeCount(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>._TimeCount)
+00609 {
+00610 }
+00611
+<a name="l00612"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a4">00612</a> CAgentClockTimer::~CAgentClockTimer()
+00613 {
+00614 }
+00615
+<a name="l00616"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a7">00616</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentClockTimer::clone()<font class="keyword"> const</font>
+00617 <font class="keyword"> </font>{
+00618 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a0">CAgentClockTimer</a>(*<font class="keyword">this</font>);
+00619 }
+00620
+<a name="l00621"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a8">00621</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentClockTimer::newInstance()<font class="keyword"> const</font>
+00622 <font class="keyword"> </font>{
+00623 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a0">CAgentClockTimer</a>();
+00624 }
+00625
+<a name="l00626"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a9">00626</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &amp;CAgentClockTimer::getType()<font class="keyword"> const</font>
+00627 <font class="keyword"> </font>{
+00628 <font class="keywordflow">return</font> *<a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#p0">IdAgentClockTimer</a>;
+00629 }
+00630
+<a name="l00631"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a10">00631</a> IObjectIA::CProcessResult CAgentClockTimer::runActivity()
+00632 {
+00633 <font class="comment">//_Clock -= CAgentManagerTimer::ClockTick;</font>
+00634 NLMISC::TTicks time = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a> () - <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n1">_DTime</a>;
+00635 <font class="keywordflow">if</font>((sint) (time) &gt;= <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n0">_Clock</a>)
+00636 {
+00637 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#a16">tellBroker</a>();
+00638 {
+00639 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n0">_Clock</a> = <a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#o0">_TimeCount</a>;
+00640 <a class="code" href="classNLAIAGENT_1_1CAgentWatchTimer.html#n1">_DTime</a> = <a class="code" href="classNLMISC_1_1CTime.html#d1">NLMISC::CTime::getLocalTime</a> ();
+00641 }
+00642
+00643 }
+00644 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a3">getState</a>();
+00645 }
+00646
+<a name="l00647"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a5">00647</a> <font class="keywordtype">void</font> CAgentClockTimer::setClock(uint c)
+00648 {
+00649 <a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#o0">_TimeCount</a> = c;
+00650 CAgentWatchTimer::setClock(c);
+00651
+00652 }
+00653
+<a name="l00654"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#d0">00654</a> <font class="keywordtype">void</font> CAgentClockTimer::initClass()
+00655 {
+00656 <a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#a0">CAgentClockTimer</a> h;
+00657 CAgentClockTimer::IdAgentClockTimer = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (<font class="stringliteral">"AgentClockTimer"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> &amp;)h),
+00658 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>),
+00659 <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s0">NLAIC::CTypeOfOperator::opNone</a>));
+00660 }
+00661
+<a name="l00662"></a><a class="code" href="classNLAIAGENT_1_1CAgentClockTimer.html#d1">00662</a> <font class="keywordtype">void</font> CAgentClockTimer::releaseClass()
+00663 {
+00664 <font class="keyword">delete</font> CAgentClockTimer::IdAgentClockTimer;
+00665 }
+00666
+00667 <font class="comment">//##################################</font>
+00668 <font class="comment">//CAgentTimerHandle</font>
+00669 <font class="comment">//##################################</font>
+<a name="l00670"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#p0">00670</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> *CAgentTimerHandle::IdAgentTimerHandle = NULL;
+00671
+<a name="l00672"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">00672</a> CAgentTimerHandle::CAgentTimerHandle():_Timer (NULL)
+00673 {
+00674 }
+00675
+<a name="l00676"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a1">00676</a> CAgentTimerHandle::CAgentTimerHandle(CAgentWatchTimer *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)
+00677 {
+00678 <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>;
+00679 <font class="keywordflow">if</font>(_Timer) <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;incRef();
+00680 }
+00681
+<a name="l00682"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a2">00682</a> CAgentTimerHandle::CAgentTimerHandle(<font class="keyword">const</font> CAgentTimerHandle &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)
+00683 {
+00684 <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> = <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>._Timer;
+00685 <font class="keywordflow">if</font>(_Timer) <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;incRef();
+00686 }
+00687
+<a name="l00688"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a3">00688</a> CAgentTimerHandle::~CAgentTimerHandle()
+00689 {
+00690
+00691 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> != NULL)
+00692 {
+00693 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;getRef() == 1)
+00694 {
+00695 CVectorGroupType g(1);
+00696 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>;
+00697 ((<font class="keyword">const</font> IWordNumRef &amp;)*<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>).getNumIdent().getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>);
+00698 g.set(0,<font class="keyword">new</font> CStringType(CStringVarName(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>.c_str())));
+00699 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>;
+00700 <font class="keywordflow">if</font>(CAgentManagerTimer::TimerManager != NULL)
+00701 {
+00702 NLMISC::CSynchronized&lt;CAgentScript *&gt;::CAccessor accessor(CAgentManagerTimer::TimerManager);
+00703 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = accessor.value()-&gt;removeDynamic(&amp;g);
+00704 }
+00705 <font class="keywordflow">if</font>( ((INombreDefine *)<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result)-&gt;getNumber() != 1.0)
+00706 <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;release();
+00707 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result-&gt;release();
+00708
+00709 }
+00710 <font class="keywordflow">else</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;decRef();
+00711 }
+00712 }
+00713
+00714
+<a name="l00715"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a7">00715</a> <font class="keywordtype">void</font> CAgentTimerHandle::getDebugString(std::string &amp;<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)<font class="keyword"> const</font>
+00716 <font class="keyword"> </font>{
+00717 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> != NULL) <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;getDebugString(<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>);
+00718 }
+00719
+<a name="l00720"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a4">00720</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentTimerHandle::clone()<font class="keyword"> const</font>
+00721 <font class="keyword"> </font>{
+00722 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">CAgentTimerHandle</a>(*<font class="keyword">this</font>);
+00723 }
+00724
+<a name="l00725"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a5">00725</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentTimerHandle::newInstance()<font class="keyword"> const</font>
+00726 <font class="keyword"> </font>{
+00727 <font class="keywordflow">return</font> <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">CAgentTimerHandle</a>();
+00728 }
+00729
+<a name="l00730"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a11">00730</a> <font class="keywordtype">bool</font> <a class="code" href="chain_8cpp.html#a2">CAgentTimerHandle::isEqual</a>(<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IBasicObjectIA.html">NLAIAGENT::IBasicObjectIA</a> &amp;a)<font class="keyword"> const</font>
+00731 <font class="keyword"> </font>{
+00732 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">CAgentTimerHandle</a> &amp;h = (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">CAgentTimerHandle</a> &amp;)a;
+00733 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> == h._Timer;
+00734 }
+00735
+<a name="l00736"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a6">00736</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &amp;CAgentTimerHandle::getType()<font class="keyword"> const</font>
+00737 <font class="keyword"> </font>{
+00738 <font class="keywordflow">return</font> *<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#p0">IdAgentTimerHandle</a>;
+00739 }
+00740
+<a name="l00741"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a12">00741</a> IObjectIA::CProcessResult CAgentTimerHandle::sendMessage(IObjectIA *m)
+00742 {
+00743 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> != NULL)
+00744 {
+00745 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;sendMessage(m);
+00746 }
+00747 <font class="keywordflow">else</font>
+00748 {
+00749 m-&gt;release();
+00750 <font class="keywordflow">return</font> IObjectIA::CProcessResult();
+00751 }
+00752 }
+00753
+<a name="l00754"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a13">00754</a> sint32 CAgentTimerHandle::getMethodIndexSize()<font class="keyword"> const</font>
+00755 <font class="keyword"> </font>{
+00756 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> != NULL)
+00757 {
+00758 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;getMethodIndexSize();
+00759 }
+00760 <font class="keywordflow">else</font>
+00761 {
+00762 CAgentWatchTimer a;
+00763 <font class="keywordflow">return</font> a.getMethodIndexSize();
+00764 }
+00765 }
+00766
+<a name="l00767"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a14">00767</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> CAgentTimerHandle::isMember(<font class="keyword">const</font> IVarName *h,<font class="keyword">const</font> IVarName *m,<font class="keyword">const</font> IObjectIA &amp;p)<font class="keyword"> const</font>
+00768 <font class="keyword"> </font>{
+00769 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a> != NULL)
+00770 {
+00771 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;isMember(h,m,p);
+00772 }
+00773 <font class="keywordflow">else</font>
+00774 {
+00775 CAgentWatchTimer a;
+00776 <font class="keywordflow">return</font> a.isMember(h,m,p);
+00777 }
+00778 }
+00779
+<a name="l00780"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a15">00780</a> IObjectIA::CProcessResult CAgentTimerHandle::runMethodeMember(sint32 h, sint32 m, IObjectIA *p)
+00781 {
+00782 <font class="keywordflow">return</font> IObjectIA::runMethodeMember(h,m,p);
+00783 }
+<a name="l00784"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a16">00784</a> IObjectIA::CProcessResult CAgentTimerHandle::runMethodeMember(sint32 m,IObjectIA *p)
+00785 {
+00786 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#o0">_Timer</a>-&gt;runMethodeMember(m,p);
+00787 }
+00788
+<a name="l00789"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a8">00789</a> <font class="keywordtype">void</font> CAgentTimerHandle::save(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;os) {}
+<a name="l00790"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a9">00790</a> <font class="keywordtype">void</font> CAgentTimerHandle::load(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &amp;is) {}
+00791
+<a name="l00792"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#d0">00792</a> <font class="keywordtype">void</font> CAgentTimerHandle::initClass()
+00793 {
+00794 CAgentWatchTimer *<a class="code" href="driver__opengl__extension__def_8h.html#a367">w</a> = <font class="keyword">new</font> CAgentWatchTimer();
+00795 <a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#a0">CAgentTimerHandle</a> h(<a class="code" href="driver__opengl__extension__def_8h.html#a367">w</a>);
+00796 CAgentTimerHandle::IdAgentTimerHandle = <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> (<font class="stringliteral">"AgentTimerHandle"</font>, <a class="code" href="classNLAIC_1_1CSelfClassFactory.html">NLAIC::CSelfClassFactory</a>((<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicInterface.html">NLAIC::IBasicInterface</a> &amp;)h),
+00797 <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a>(<a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s6">NLAIC::CTypeOfObject::tObject</a>),
+00798 <a class="code" href="classNLAIC_1_1CTypeOfOperator.html">NLAIC::CTypeOfOperator</a>(<a class="code" href="classNLAIC_1_1CTypeOfOperator.html#s15s0">NLAIC::CTypeOfOperator::opNone</a>));
+00799 <a class="code" href="driver__opengl__extension__def_8h.html#a367">w</a>-&gt;release();
+00800
+00801 }
+00802
+<a name="l00803"></a><a class="code" href="classNLAIAGENT_1_1CAgentTimerHandle.html#d1">00803</a> <font class="keywordtype">void</font> CAgentTimerHandle::releaseClass()
+00804 {
+00805 <font class="keyword">delete</font> CAgentTimerHandle::IdAgentTimerHandle;
+00806 }
+00807 }
+</pre></div>
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>