diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/agent__script_8cpp-source.html | 2478 |
1 files changed, 2478 insertions, 0 deletions
diff --git a/docs/doxygen/nel/agent__script_8cpp-source.html b/docs/doxygen/nel/agent__script_8cpp-source.html new file mode 100644 index 00000000..f952dd49 --- /dev/null +++ b/docs/doxygen/nel/agent__script_8cpp-source.html @@ -0,0 +1,2478 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>agent_script.cpp</h1><a href="agent__script_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 +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__script_8h.html">nel/ai/agent/agent_script.h</a>"</font> +00027 <font class="preprocessor">#include "<a class="code" href="agent__manager_8h.html">nel/ai/agent/agent_manager.h</a>"</font> +00028 <font class="preprocessor">#include "<a class="code" href="agent__local__mailer_8h.html">nel/ai/agent/agent_local_mailer.h</a>"</font> +00029 <font class="preprocessor">#include "<a class="code" href="interpret__object__agent_8h.html">nel/ai/script/interpret_object_agent.h</a>"</font> +00030 <font class="preprocessor">#include "<a class="code" href="codage_8h.html">nel/ai/script/codage.h</a>"</font> +00031 <font class="preprocessor">#include "<a class="code" href="type__def_8h.html">nel/ai/script/type_def.h</a>"</font> +00032 <font class="preprocessor">#include "<a class="code" href="object__unknown_8h.html">nel/ai/script/object_unknown.h</a>"</font> +00033 <font class="preprocessor">#include "<a class="code" href="agent__method__def_8h.html">nel/ai/agent/agent_method_def.h</a>"</font> +00034 <font class="preprocessor">#include "<a class="code" href="message__script_8h.html">nel/ai/agent/message_script.h</a>"</font> +00035 <font class="preprocessor">#include "<a class="code" href="interpret__object__message_8h.html">nel/ai/script/interpret_object_message.h</a>"</font> +00036 <font class="preprocessor">#include "<a class="code" href="interpret__message__action_8h.html">nel/ai/script/interpret_message_action.h</a>"</font> +00037 <font class="preprocessor">#include "<a class="code" href="interpret__message__getvalue_8h.html">nel/ai/script/interpret_message_getvalue.h</a>"</font> +00038 <font class="preprocessor">#include "<a class="code" href="interpret__message__setvalue_8h.html">nel/ai/script/interpret_message_setvalue.h</a>"</font> +00039 <font class="preprocessor">#include "<a class="code" href="interpret__object__agent_8h.html">nel/ai/script/interpret_object_agent.h</a>"</font> +00040 <font class="preprocessor">#include "<a class="code" href="agent__nombre_8h.html">nel/ai/agent/agent_nombre.h</a>"</font> +00041 <font class="preprocessor">#include "<a class="code" href="performative_8h.html">nel/ai/agent/performative.h</a>"</font> +00042 <font class="preprocessor">#include "<a class="code" href="msg__notify_8h.html">nel/ai/agent/msg_notify.h</a>"</font> +00043 <font class="preprocessor">#include "<a class="code" href="msg__goal_8h.html">nel/ai/agent/msg_goal.h</a>"</font> +00044 <font class="preprocessor">#include "<a class="code" href="msg__fact_8h.html">nel/ai/agent/msg_fact.h</a>"</font> +00045 <font class="preprocessor">#include "<a class="code" href="msg__setvalue_8h.html">nel/ai/agent/msg_setvalue.h</a>"</font> +00046 <font class="preprocessor">#include "<a class="code" href="factbase_8h.html">nel/ai/logic/factbase.h</a>"</font> +00047 <font class="preprocessor">#include "<a class="code" href="goal_8h.html">nel/ai/logic/goal.h</a>"</font> +00048 <font class="preprocessor">#include "<a class="code" href="key__agent_8h.html">nel/ai/agent/key_agent.h</a>"</font> +00049 <font class="preprocessor">#include "<a class="code" href="list__manager_8h.html">nel/ai/agent/list_manager.h</a>"</font> +00050 <font class="preprocessor">#include "<a class="code" href="fact_8h.html">nel/ai/logic/fact.h</a>"</font> +00051 <font class="preprocessor">#include "<a class="code" href="msg__fact_8h.html">nel/ai/agent/msg_fact.h</a>"</font> +00052 <font class="preprocessor">#include "<a class="code" href="libcode_8h.html">nel/ai/script/libcode.h</a>"</font> +00053 +00054 <font class="comment">//#define PROFILE</font> +00055 <font class="preprocessor">#ifdef PROFILE</font> +00056 <font class="preprocessor"></font><font class="preprocessor">#include "<a class="code" href="time__nl_8h.html">nel/misc/time_nl.h</a>"</font> +00057 <font class="preprocessor">#endif</font> +00058 <font class="preprocessor"></font> +00059 +00060 <font class="keyword">namespace </font>NLAIAGENT +00061 { +<a name="l00062"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p1">00062</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::msgType = NULL; +<a name="l00063"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p2">00063</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::msgPerf = NULL; +<a name="l00064"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p3">00064</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::SendParamMessageScript = NULL; +<a name="l00065"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p5">00065</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::SendCompParamMessageScript = NULL; +<a name="l00066"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p6">00066</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a> *CAgentScript::IdMsgNotifyParentClass = NULL; +<a name="l00067"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p15">00067</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::IdMsgNotifyParent = NULL; +<a name="l00068"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p16">00068</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::ParamRunParentNotify = NULL; +<a name="l00069"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">00069</a> CAgentScript::CMethodCall **CAgentScript::StaticMethod = NULL; +<a name="l00070"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p7">00070</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::ParamIdGetValueMsg = NULL; +<a name="l00071"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p8">00071</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::ParamGetValueMsg = NULL; +<a name="l00072"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p9">00072</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::ParamIdSetValueMsg = NULL; +<a name="l00073"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p10">00073</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::ParamSetValueMsg = NULL; +<a name="l00074"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p11">00074</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::ParamIdTellComponentMsg = NULL; +<a name="l00075"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p12">00075</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::ParamTellComponentMsg = NULL; +<a name="l00076"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p13">00076</a> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a> *CAgentScript::ParamIdInitComponentMsg = NULL; +<a name="l00077"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p14">00077</a> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *CAgentScript::ParamInitComponentMsg = NULL; +00078 +<a name="l00079"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a16">00079</a> <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *CAgentScript::getClassName()<font class="keyword"> const</font> +00080 <font class="keyword"> </font>{ +00081 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *classname; +00082 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL ) +00083 { +00084 classname = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1IClassInterpret.html#a17">getClassName</a>(); +00085 } +00086 <font class="keywordflow">else</font> +00087 classname = <font class="keyword">new</font> CStringVarName(<font class="stringliteral">"<unknown>"</font>); <font class="comment">// Memory leak ?</font> +00088 +00089 <font class="keywordflow">return</font> classname; +00090 } +00091 +<a name="l00092"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#d0">00092</a> <font class="keywordtype">void</font> CAgentScript::initAgentScript() +00093 { +00094 +00095 std::string msgStr; +00096 std::string scriptName(<font class="stringliteral">"MsgAgentScript"</font>); +00097 msgStr = std::string(<font class="stringliteral">"From Message : Define MsgTellComponent\n{"</font>); +00098 msgStr += std::string(<font class="stringliteral">"Component:\n"</font>); +00099 msgStr += std::string(<font class="stringliteral">"\tString<'CompomentName'>;\n"</font>); +00100 msgStr += std::string(<font class="stringliteral">"\tMessage<'MsgType'>;\n"</font>); +00101 msgStr += std::string(<font class="stringliteral">"End\n"</font>); +00102 +00103 +00104 msgStr += std::string(<font class="stringliteral">"Constructor(String i; Message msg)\n"</font>); +00105 msgStr += std::string(<font class="stringliteral">"\tCompomentName = i;\n"</font>); +00106 msgStr += std::string(<font class="stringliteral">"\tMsgType = msg;\n"</font>); +00107 msgStr += std::string(<font class="stringliteral">"End\n"</font>); +00108 msgStr += std::string(<font class="stringliteral">"}\n"</font>); +00109 <font class="comment">//NLAILINK::buildScript(msgStr,scriptName);</font> +00110 +00111 msgStr += std::string(<font class="stringliteral">"From Message : Define MsgInitCompoment\n{"</font>); +00112 msgStr += std::string(<font class="stringliteral">"Component:\n"</font>); +00113 msgStr += std::string(<font class="stringliteral">"End\n}\n"</font>); +00114 +00115 <a class="code" href="namespaceNLAILINK.html#a7">NLAILINK::buildScript</a>(msgStr,scriptName); +00116 +00117 <font class="keyword">static</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> idMsgTellComponentType (<font class="stringliteral">"MsgTellComponent"</font>); +00118 <font class="keyword">static</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> idMsgInitComponentType (<font class="stringliteral">"MsgInitCompoment"</font>); +00119 +00120 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p1">msgType</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(3, +00121 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CMessageList::IdMessage), +00122 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CMessageVector::IdMessageVector), +00123 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAISCRIPT_1_1CMessageClass.html#p0">NLAISCRIPT::CMessageClass::IdMessageClass</a>)); +00124 +00125 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p2">msgPerf</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(7, +00126 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPExec::IdPExec), +00127 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPAchieve::IdPAchieve), +00128 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPAsk::IdPAsk), +00129 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPBreak::IdPBreak), +00130 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPTell::IdPTell), +00131 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPKill::IdPKill), +00132 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CPError::IdPError)); +00133 +00134 +00135 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p3">SendParamMessageScript</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(2,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p2">msgPerf</a>, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p1">msgType</a>); +00136 +00137 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p2">msgPerf</a>-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00138 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p1">msgType</a>-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00139 +00140 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p5">SendCompParamMessageScript</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(3,<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>(CStringType::IdStringType)), +00141 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p2">msgPerf</a>, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p1">msgType</a>); +00142 +00143 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p6">IdMsgNotifyParentClass</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>(<a class="code" href="classNLAISCRIPT_1_1CMsgNotifyParentClass.html#p0">NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass</a>)); +00144 +00145 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p15">IdMsgNotifyParent</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(2, +00146 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAISCRIPT_1_1CMsgNotifyParentClass.html#p0">NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass</a>), +00147 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CNotifyParentScript::IdNotifyParentScript)); +00148 +00149 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p16">ParamRunParentNotify</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(1,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p15">IdMsgNotifyParent</a>); +00150 +00151 <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a> *idMsgTellComponent = <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>(idMsgTellComponentType)); +00152 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> *<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p12">ParamTellComponentMsg</a> = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>(1,idMsgTellComponent); +00153 +00154 CAgentScript::ParamIdGetValueMsg = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(2, +00155 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1CGetValueMsg.html#p0">NLAIAGENT::CGetValueMsg::IdGetValueMsg</a>), +00156 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAISCRIPT_1_1CGetValueMsgClass.html#p0">NLAISCRIPT::CGetValueMsgClass::IdGetValueMsgClass</a>) ); +00157 +00158 CAgentScript::ParamGetValueMsg = <font class="keyword">new</font> NLAISCRIPT::CParam(1,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p7">ParamIdGetValueMsg</a>); +00159 +00160 CAgentScript::ParamIdSetValueMsg = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(2, +00161 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1CSetValueMsg.html#p0">NLAIAGENT::CSetValueMsg::IdSetValueMsg</a>), +00162 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAISCRIPT_1_1CSetValueMsgClass.html#p0">NLAISCRIPT::CSetValueMsgClass::IdSetValueMsgClass</a>) ); +00163 +00164 CAgentScript::ParamSetValueMsg = <font class="keyword">new</font> NLAISCRIPT::CParam(1,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p9">ParamIdSetValueMsg</a>); +00165 +00167 CAgentScript::ParamIdInitComponentMsg = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1COperandSimpleListOr.html">NLAISCRIPT::COperandSimpleListOr</a>(2, +00168 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(idMsgInitComponentType), +00169 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(idMsgInitComponentType) ); +00170 +00171 CAgentScript::ParamInitComponentMsg = <font class="keyword">new</font> NLAISCRIPT::CParam(1,<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p13">ParamIdInitComponentMsg</a>); +00173 +00174 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a> = <font class="keyword">new</font> CAgentScript::CMethodCall *[CAgentScript::TLastM]; +00175 +00176 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TRunAskParentNotify] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a7">_RUNASK_</a>, +00177 CAgentScript::TRunAskParentNotify, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p16">ParamRunParentNotify</a>, +00178 CAgentScript::CheckAll, +00179 1, +00180 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p6">IdMsgNotifyParentClass</a>)); +00181 +00182 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p6">IdMsgNotifyParentClass</a>-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00183 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p16">ParamRunParentNotify</a>-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00184 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TRunTellParentNotify] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a6">_RUNTEL_</a>, +00185 CAgentScript::TRunTellParentNotify, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p16">ParamRunParentNotify</a>, +00186 CAgentScript::CheckAll, +00187 1, +00188 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p6">IdMsgNotifyParentClass</a>)); +00189 +00190 idMsgTellComponent-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00191 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TRunTellComponent] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a6">_RUNTEL_</a>, +00192 CAgentScript::TRunTellComponent, ParamTellComponentMsg, +00193 CAgentScript::CheckAll, +00194 1, +00195 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(idMsgTellComponent)); +00196 +00197 ParamTellComponentMsg-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00198 idMsgTellComponent-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00199 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TRunAskComponent] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a7">_RUNASK_</a>, +00200 CAgentScript::TRunAskComponent, ParamTellComponentMsg, +00201 CAgentScript::CheckAll, +00202 1, +00203 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(idMsgTellComponent)); +00204 +00205 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TSend] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a0">_SEND_</a>, +00206 CAgentScript::TSend, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p3">SendParamMessageScript</a>, +00207 CAgentScript::CheckAll, +00208 2, +00209 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)); +00210 +00211 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TSendComponent] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a0">_SEND_</a>, +00212 CAgentScript::TSendComponent, +00213 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p5">SendCompParamMessageScript</a>,CAgentScript::CheckAll, +00214 3, +00215 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)); +00216 +00217 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TGetChildTag] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a1">_GETCHILD_</a>, +00218 CAgentScript::TGetChildTag, +00219 NULL, +00220 CAgentScript::CheckCount, +00221 1, +00222 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(<font class="keyword">new</font> +00223 NLAISCRIPT::COperandSimple( +00224 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CVectorGroupManager::IdVectorGroupManager)))); +00225 +00226 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TAddChildTag] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a2">_ADDCHILD_</a>, +00227 CAgentScript::TAddChildTag, +00228 NULL,CAgentScript::DoNotCheck, +00229 2, +00230 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00231 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00232 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(DigitalType::IdDigitalType)))); +00233 +00234 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TFather] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a31">_FATHER_</a>, +00235 CAgentScript::TFather, +00236 NULL,CAgentScript::CheckCount, +00237 0, +00238 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00239 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00240 <font class="comment">//check if correct</font> +00241 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(*IAgent::IdAgent)))); +00242 +00243 +00244 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TSelf] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a19">_SELF_</a>, +00245 CAgentScript::TSelf, +00246 NULL,CAgentScript::CheckCount, +00247 0, +00248 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00249 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CAgentScript::IdAgentScript)))); +00250 +00251 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TGetName] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a5">_GETNAME_</a>, +00252 CAgentScript::TGetName, +00253 NULL,CAgentScript::CheckCount, +00254 0, +00255 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00256 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00257 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CStringType::IdStringType)))); +00258 +00259 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TGetClassName] = <font class="keyword">new</font> CAgentScript::CMethodCall( <font class="stringliteral">"GetClassName"</font>, +00260 CAgentScript::TGetClassName, +00261 NULL,CAgentScript::CheckCount, +00262 0, +00263 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00264 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00265 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CStringType::IdStringType)))); +00266 +00267 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TIsInherited] = <font class="keyword">new</font> CAgentScript::CMethodCall( <font class="stringliteral">"IsInherited"</font>, +00268 CAgentScript::TIsInherited, +00269 NULL,CAgentScript::CheckCount, +00270 1, +00271 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00272 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00273 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAILOGIC_1_1CBoolType.html#p0">NLAILOGIC::CBoolType::IdBoolType</a>)))); +00274 +00275 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TRemoveChild] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a3">_REMOVECHILD_</a>, +00276 CAgentScript::TRemoveChild, +00277 NULL,CAgentScript::CheckCount, +00278 0, +00279 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( +00280 <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00281 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(DigitalType::IdDigitalType)))); +00282 +00283 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TSetStatic] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a9">_SETSTATIC_</a>, +00284 CAgentScript::TSetStatic, NULL, +00285 CAgentScript::CheckCount, +00286 2, +00287 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)) ; +00288 +00289 +00290 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TGetValue] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a7">_RUNASK_</a>, +00291 CAgentScript::TGetValue, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p8">ParamGetValueMsg</a>, +00292 CAgentScript::CheckAll, +00293 1, +00294 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)) ; +00295 +00296 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TSetValue] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a6">_RUNTEL_</a>, +00297 CAgentScript::TSetValue, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p10">ParamSetValueMsg</a>, +00298 CAgentScript::CheckAll, +00299 1, +00300 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)) ; +00301 +00302 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p13">ParamIdInitComponentMsg</a>-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00303 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TInitComponent] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a6">_RUNTEL_</a>, +00304 CAgentScript::TInitComponent, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p14">ParamInitComponentMsg</a>, +00305 CAgentScript::CheckAll, +00306 1, +00307 <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p13">ParamIdInitComponentMsg</a>)) ; +00308 +00309 NLAISCRIPT::CParam *ParamString = <font class="keyword">new</font> NLAISCRIPT::CParam(1,<font class="keyword">new</font> NLAISCRIPT::COperandSimple(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(CStringType::IdStringType))); +00310 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TIsEUU] = <font class="keyword">new</font> CAgentScript::CMethodCall( <a class="code" href="agent__method__def_8h.html#a38">_ISA_</a>, +00311 CAgentScript::TIsEUU, +00312 ParamString,CAgentScript::CheckAll, +00313 0, <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CObjectUnknown.html">NLAISCRIPT::CObjectUnknown</a>( <font class="keyword">new</font> NLAISCRIPT::COperandSimple( +00314 <font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIAGENT_1_1UInt32Type.html#p0">NLAIAGENT::UInt32Type::IdUInt32Type</a>)))); +00315 ParamString-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00316 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TAddSet] = <font class="keyword">new</font> CAgentScript::CMethodCall(<a class="code" href="agent__method__def_8h.html#a39">_ADD_SET_</a>, +00317 CAgentScript::TAddSet, +00318 ParamString,CAgentScript::CheckAll, +00319 0, <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)); +00320 +00321 +00322 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[CAgentScript::TDeflautProccessMsg] = <font class="keyword">new</font> CAgentScript::CMethodCall(<font class="stringliteral">"DeflautProccessMsg"</font>, +00323 CAgentScript::TDeflautProccessMsg, NULL, +00324 CAgentScript::CheckCount, +00325 1, +00326 <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_1COperandVoid.html">NLAISCRIPT::COperandVoid</a>)); +00327 +00328 } +00329 +00330 +<a name="l00331"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#d1">00331</a> <font class="keywordtype">void</font> CAgentScript::releaseAgentScript() +00332 { +00333 <font class="comment">//SendParamMessageScript->release();</font> +00334 <font class="comment">//IdMsgNotifyParentClass->release(); </font> +00336 <font class="comment"> // Temp, to be transfered in CGDAgentScript (Goal Driven Agent)</font> +00337 <font class="comment">// IdGoalMsgClass->release();</font> +00338 <font class="comment">// IdGoalMsg->release();</font> +00339 <font class="comment">//ParamGoalMsg->release();</font> +00340 <font class="comment">//ParamCancelGoalMsg->release();</font> +00342 <font class="comment"></font> +00343 <font class="comment">//ParamRunParentNotify->release();</font> +00344 <font class="comment">//SendCompParamMessageScript->release();</font> +00345 sint i; +00346 <font class="keywordflow">for</font>(i = 0; i < CAgentScript::TLastM; i++) +00347 { +00348 <font class="keyword">delete</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>[i]; +00349 } +00350 <font class="keyword">delete</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p0">StaticMethod</a>; +00351 } +00352 +<a name="l00353"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">00353</a> CAgentScript::CAgentScript(<font class="keyword">const</font> CAgentScript &a): IAgentManager(a) +00354 { +00355 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n5">_iComponents</a> = 0; +00356 +00357 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> = a._AgentClass; +00358 <font class="comment">/*if ( a._AgentClass )</font> +00359 <font class="comment"> { </font> +00360 <font class="comment"> a._AgentClass->incRef();</font> +00361 <font class="comment"> }*/</font> +00362 +00363 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> = a._NbComponents; +00364 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> != 0 ) +00365 { +00366 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *[ <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ]; +00367 +00368 <font class="comment">//sint32 nb_scripted = 0;</font> +00369 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00370 { +00371 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i] = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)a._Components[i]->clone(); +00372 +00373 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00374 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = (<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->getType(); +00375 <font class="keywordflow">if</font>( (t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b ) == b) +00376 { +00377 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i])->setParent( (<font class="keyword">const</font> IWordNumRef *) *<font class="keyword">this</font>); +00378 } +00379 } +00380 } +00381 <font class="keywordflow">else</font> +00382 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = NULL; +00383 +00384 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a> = a._AgentManager; +00385 +00386 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n6">mapSet</a> = a.mapSet; +00387 <font class="comment">//if(_AgentManager) _AgentManager->incRef();</font> +00388 +00389 <font class="comment">/* std::vector<NLAILOGIC::IBaseOperator *>::const_iterator it_o = a._Operators.begin();</font> +00390 <font class="comment"> while ( it_o != a._Operators.end() )</font> +00391 <font class="comment"> {</font> +00392 <font class="comment"> addOperator( *it_o );</font> +00393 <font class="comment"> it_o++;</font> +00394 <font class="comment"> }*/</font> +00395 } +00396 +<a name="l00397"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a2">00397</a> CAgentScript::CAgentScript(IAgentManager *manager) : IAgentManager( NULL ), _AgentClass( NULL ) +00398 { +00399 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n5">_iComponents</a> = 0; +00400 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = NULL; +00401 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> = 0; +00402 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a> = manager; +00403 } +00404 +<a name="l00405"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a3">00405</a> CAgentScript::CAgentScript(IAgentManager *manager, IBasicAgent *father, <font class="comment">//The agent's father </font> +00406 <a class="code" href="classstd_1_1list.html">std::list<IObjectIA *></a> &<a class="code" href="driver__opengl__extension__def_8h.html#a413">components</a>, <font class="comment">//Static components </font> +00407 <a class="code" href="classNLAISCRIPT_1_1CAgentClass.html">NLAISCRIPT::CAgentClass</a> *agent_class ) <font class="comment">//Class</font> +00408 +00409 : IAgentManager(father), _AgentClass( agent_class ) +00410 { +00411 <font class="comment">/*if ( _AgentClass )</font> +00412 <font class="comment"> _AgentClass->incRef();*/</font> +00413 +00414 _iComponents = 0; +00415 +00416 _AgentManager = manager; +00417 <font class="comment">// Creates the static components array</font> +00418 <font class="comment">// _NbComponents = components.size();</font> +00419 <font class="comment">/*</font> +00420 <font class="comment"> if ( _NbComponents )</font> +00421 <font class="comment"> {</font> +00422 <font class="comment"> _Components = new IObjectIA *[ _NbComponents ];</font> +00423 <font class="comment"> std::list<IObjectIA *>::iterator it_c = components.begin();</font> +00424 <font class="comment"> int id_c = 0;</font> +00425 <font class="comment"> //sint32 nb_scripted = 0;</font> +00426 <font class="comment"> while ( it_c != components.end() )</font> +00427 <font class="comment"> {</font> +00428 <font class="comment"> IObjectIA *o = (IObjectIA *)*it_c;</font> +00429 <font class="comment"> _Components[id_c] = o;</font> +00430 <font class="comment"></font> +00431 <font class="comment"> uint b = NLAIC::CTypeOfObject::tInterpret | NLAIC::CTypeOfObject::tAgent;</font> +00432 <font class="comment"> const NLAIC::CTypeOfObject &t = o->getType();</font> +00433 <font class="comment"></font> +00434 <font class="comment"> if((t.getValue() & b) == b)</font> +00435 <font class="comment"> {</font> +00436 <font class="comment"> ((CAgentScript *)o)->setParent( (const IWordNumRef *) *this);</font> +00437 <font class="comment"> }</font> +00438 <font class="comment"></font> +00439 <font class="comment"> it_c++;</font> +00440 <font class="comment"> id_c++;</font> +00441 <font class="comment"> } </font> +00442 <font class="comment"> }</font> +00443 <font class="comment"> else</font> +00444 <font class="comment"> {</font> +00445 <font class="comment"> _Components =NULL;</font> +00446 <font class="comment"> _AgentManager = manager;</font> +00447 <font class="comment"> }</font> +00448 <font class="comment"> */</font> +00449 createComponents( <a class="code" href="driver__opengl__extension__def_8h.html#a413">components</a> ); +00450 } +00451 +<a name="l00452"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a4">00452</a> CAgentScript::~CAgentScript() +00453 { +00454 <a class="code" href="classNLAIAGENT_1_1IAgent.html#a4">Kill</a>(); +00455 <font class="comment">/*if ( _AgentClass )</font> +00456 <font class="comment"> _AgentClass->release();*/</font> +00457 +00458 <font class="comment">// destruction of static components</font> +00459 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> != NULL) +00460 { +00461 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00462 { +00463 <font class="preprocessor">#ifdef NL_DEBUG</font> +00464 <font class="preprocessor"></font> <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]; +00465 <font class="preprocessor">#endif</font> +00466 <font class="preprocessor"></font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->release(); +00467 } +00468 <font class="keyword">delete</font>[] <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>; +00469 } +00470 } +00471 +<a name="l00472"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_20">00472</a> <font class="keywordtype">void</font> CAgentScript::setAgentManager(IAgentManager *manager) +00473 { +00474 <font class="comment">//if(_AgentManager != NULL) _AgentManager->release();</font> +00475 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a> = manager; +00476 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00477 { +00478 +00479 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00480 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = (<font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->getType(); +00481 <font class="keywordflow">if</font>( (t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b ) == b) +00482 { +00483 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i])->setAgentManager(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a>); +00484 } +00485 } +00486 } +00487 +<a name="l00488"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_19">00488</a> sint32 CAgentScript::getChildMessageIndex(<font class="keyword">const</font> IMessageBase *msg, sint32 child_index ) +00489 { +00490 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a29">getChildMessageIndex</a>( msg, child_index ); +00491 } +00492 +<a name="l00493"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_17">00493</a> <font class="keywordtype">bool</font> CAgentScript::setStaticMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *op) +00494 { +00495 <font class="preprocessor">#ifdef NL_DEBUG</font> +00496 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ) +00497 { +00498 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00499 } +00500 <font class="preprocessor">#endif</font> +00501 <font class="preprocessor"></font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *old_comp = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ]; +00502 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ] = op; +00503 +00504 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00505 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = op->getType(); +00506 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +00507 { +00508 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)op)->setParent( (<font class="keyword">const</font> IWordNumRef *) *<font class="keyword">this</font>); +00509 } +00510 <font class="keywordflow">if</font>(op != old_comp) +00511 { +00512 old_comp->release(); +00513 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00514 } +00515 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00516 } +00517 +<a name="l00518"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_14">00518</a> sint32 CAgentScript::getStaticMemberSize()<font class="keyword"> const</font> +00519 <font class="keyword"> </font>{ +00520 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>;<font class="comment">//_AgentClass->getStaticMemberSize();</font> +00521 } +00522 +<a name="l00523"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_16">00523</a> <font class="keyword">const</font> IObjectIA *CAgentScript::getStaticMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>)<font class="keyword"> const</font> +00524 <font class="keyword"> </font>{ +00525 <font class="preprocessor">#ifdef NL_DEBUG</font> +00526 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ) +00527 { +00528 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00529 } +00530 <font class="preprocessor">#endif</font> +00531 <font class="preprocessor"></font> <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ]; +00532 } +00533 +<a name="l00534"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_15">00534</a> <a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *CAgentScript::getMethode(sint32 inheritance,sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) +00535 { +00536 <font class="preprocessor">#ifdef NL_DEBUG</font> +00537 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_7">getMethodIndexSize</a>()) +00538 { +00539 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00540 } +00541 +00542 <font class="keywordflow">if</font> ( inheritance >= <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z233_2">sizeVTable</a>()) +00543 { +00544 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00545 } +00546 <font class="preprocessor">#endif</font> +00547 <font class="preprocessor"></font> <font class="keywordflow">return</font> (<a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(inheritance,<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>).getCode(); +00548 } +00549 +<a name="l00550"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_16">00550</a> <a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *CAgentScript::getMethode(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>) +00551 { +00552 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL ) +00553 { +00554 <font class="preprocessor">#ifdef NL_DEBUG </font> +00555 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_class_name = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +00556 <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_base_class_name = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1IClassInterpret.html#a5">getType</a>(); +00557 +00558 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> >= <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_7">getMethodIndexSize</a>()) +00559 { +00560 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionIndexError.html">NLAIE::CExceptionIndexError</a>(); +00561 } +00562 <font class="preprocessor">#endif</font> +00563 <font class="preprocessor"></font> <font class="keywordflow">return</font> (<a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(index).getCode(); +00564 } +00565 <font class="keywordflow">else</font> +00566 <font class="keywordflow">return</font> NULL; +00567 } +00568 +<a name="l00569"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_1">00569</a> <font class="keywordtype">void</font> CAgentScript::save(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &os) +00570 { +00571 IBasicAgent::save(os); +00572 sint32 size = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; +00573 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( size ); +00574 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00575 { +00576 os.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( (<a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]-><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>() ); +00577 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->save(os); +00578 } +00579 } +00580 +<a name="l00581"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_0">00581</a> <font class="keywordtype">void</font> CAgentScript::load(<a class="code" href="classNLMISC_1_1IStream.html">NLMISC::IStream</a> &is) +00582 { +00583 IBasicAgent::load(is); +00584 +00585 <font class="comment">// Loads static components</font> +00586 sint32 size; +00587 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( size ); +00588 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> = size; +00589 +00590 <font class="keywordflow">if</font>(_Components) +00591 { +00592 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00593 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->release(); +00594 <font class="keyword">delete</font>[] <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>; +00595 } +00596 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *[ <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ]; +00597 +00598 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00599 { +00600 <a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html">NLAIC::CIdentTypeAlloc</a> <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>; +00601 is.<a class="code" href="classNLMISC_1_1IStream.html#a5">serial</a>( id ); +00602 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *tmp_c = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)id.<a class="code" href="classNLAIC_1_1CIdentTypeAlloc.html#a3">allocClass</a>(); +00603 tmp_c->load(is); +00604 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i] = tmp_c; +00605 } +00606 } +00607 +<a name="l00608"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_22">00608</a> sint32 CAgentScript::getMethodIndexSize()<font class="keyword"> const</font> +00609 <font class="keyword"> </font>{ +00610 <font class="comment">/*if(_AgentClass)</font> +00611 <font class="comment"> {</font> +00612 <font class="comment"> return _AgentClass->getMethodIndexSize();</font> +00613 <font class="comment"> }</font> +00614 <font class="comment"> else*/</font> +00615 { +00616 <font class="keywordflow">return</font> IAgent::getMethodIndexSize() + <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s21">TLastM</a>; +00617 } +00618 } +00619 +<a name="l00620"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_2">00620</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentScript::clone()<font class="keyword"> const</font> +00621 <font class="keyword"> </font>{ +00622 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *result = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a>(*<font class="keyword">this</font>); +00623 <font class="keywordflow">return</font> result; +00624 } +00625 +<a name="l00626"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_3">00626</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1IBasicType.html">NLAIC::IBasicType</a> *CAgentScript::newInstance()<font class="keyword"> const</font> +00627 <font class="keyword"> </font>{ +00628 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *instance; +00629 <font class="keywordflow">if</font> ( _AgentClass ) +00630 { +00631 instance = (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a6">buildNewInstance</a>(); +00632 } +00633 <font class="keywordflow">else</font> +00634 { +00635 instance = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a>(NULL); +00636 } +00637 <font class="keywordflow">return</font> instance; +00638 } +00639 +<a name="l00640"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_4">00640</a> <font class="keywordtype">void</font> CAgentScript::getDebugString(std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>)<font class="keyword"> const</font> +00641 <font class="keyword"> </font>{ +00642 +00643 <font class="keywordflow">if</font>( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a> != NULL) +00644 { +00645 <font class="keyword">const</font> <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> p; +00646 <font class="keyword">static</font> CStringVarName debugStringF(<font class="stringliteral">"GetDebugString"</font>); +00647 +00648 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_19">isMember</a>(NULL,&debugStringF,p); +00649 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +00650 { +00651 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> *c = (<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a>->getAgentContext()->clone(); +00652 <a class="code" href="structNLAIAGENT_1_1CIdMethod.html">NLAIAGENT::CIdMethod</a> m = <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.top(); +00653 <font class="comment">//msg->setMethodIndex(0,m.Index); </font> +00654 c-><a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = <font class="keyword">this</font>; +00655 +00656 IBaseGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = <font class="keyword">new</font> CGroupType(); +00657 (*c).Stack ++; +00658 (*c).Stack[(int)(*c).Stack] = <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>; +00659 <a class="code" href="classNLAISCRIPT_1_1IMethodContext.html">NLAISCRIPT::IMethodContext</a> *methodContex = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CMethodContext.html">NLAISCRIPT::CMethodContext</a>(); +00660 <a class="code" href="classNLAISCRIPT_1_1CCallMethod.html">NLAISCRIPT::CCallMethod</a> opCall(methodContex,0,m.<a class="code" href="structNLAIAGENT_1_1CIdMethod.html#m0">Index</a>); +00661 opCall.<a class="code" href="classNLAISCRIPT_1_1CCallMethod.html#a2">runOpCode</a>(*c); +00662 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CStringType.html">NLAIAGENT::CStringType</a> *returnMsg = (<font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CStringType.html">NLAIAGENT::CStringType</a> *)c-><a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>[(int)(*c).Stack]; +00663 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += returnMsg-><a class="code" href="classNLAIAGENT_1_1CStringType.html#a10">getStr</a>().getString(); +00664 (*c).Stack--; +00665 c-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a3">release</a>(); +00666 <font class="keywordflow">return</font>; +00667 } +00668 } +00669 +00670 <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">"class type <%s> "</font>,(<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>()); +00671 <font class="keywordflow">if</font> ( _AgentClass ) +00672 <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">"<%s> (scripted) -StaticComponents:\n"</font>,(<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1IClassInterpret.html#a5">getType</a>()); +00673 <font class="keywordflow">else</font> +00674 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"<undefined_class> (scripted) -StaticComponents:\n"</font>; +00675 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +00676 { +00677 std::string buf; +00678 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"\t\t"</font>; +00679 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a26">getComponentName</a>(i) ) +00680 { +00681 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a26">getComponentName</a>(i); +00682 } +00683 <font class="keywordflow">else</font> +00684 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"<unnamed>"</font>; +00685 +00686 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"\t\t"</font>; +00687 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->getDebugString(buf); +00688 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"[ "</font>; +00689 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += buf; +00690 <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">" ]"</font>; +00691 <font class="keywordflow">if</font>(i != (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>-1)) <a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> += <font class="stringliteral">"\n"</font>; +00692 } +00693 +00694 } +00695 +<a name="l00696"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_7">00696</a> <font class="keywordtype">bool</font> <a class="code" href="chain_8cpp.html#a2">CAgentScript::isEqual</a>(<font class="keyword">const</font> IBasicObjectIA &a)<font class="keyword"> const</font> +00697 <font class="keyword"> </font>{ +00698 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00699 } +00700 +<a name="l00701"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_2">00701</a> <font class="keywordtype">void</font> CAgentScript::onKill(IConnectIA *a) +00702 { +00703 tsetDefNameAgent::iterator iter = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.begin(); +00704 <font class="keywordflow">while</font>( iter != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.end() ) +00705 { +00706 <font class="keywordflow">if</font>((*(*iter).Itr) == a) +00707 { +00708 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.erase(iter); +00709 <font class="keywordflow">break</font>; +00710 } +00711 iter++; +00712 } +00713 IAgent::onKill(a); +00714 } +00715 +<a name="l00717"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a5">00717</a> <font class="keywordtype">bool</font> CAgentScript::isa(<font class="keyword">const</font> std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>)<font class="keyword"> const</font> +00718 <font class="keyword"> </font>{ +00719 std::set<std::string>::iterator it = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n6">mapSet</a>.find(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>); +00720 <font class="keywordflow">if</font>(it != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n6">mapSet</a>.end()) <font class="keywordflow">return</font> <font class="keyword">true</font>; +00721 <font class="keywordflow">else</font> +00722 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_21">isClassInheritedFrom</a>(CStringVarName(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>.c_str())) >= 0) +00723 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00724 <font class="keywordflow">else</font> +00725 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> == (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>()) +00726 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00727 +00728 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00729 } +00730 +<a name="l00732"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a6">00732</a> <font class="keywordtype">void</font> CAgentScript::addSet(<font class="keyword">const</font> std::string &<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>) +00733 { +00734 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n6">mapSet</a>.insert(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>); +00735 } +00736 +<a name="l00737"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_2">00737</a> IObjectIA::CProcessResult CAgentScript::addDynamicAgent(IBaseGroupType *g) +00738 { +00739 CIteratorContener i = g->getIterator(); +00740 CStringType &<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = (CStringType &)*i++; +00741 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#b0">IBasicAgent</a> *a = (<a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#b0">IBasicAgent</a> *)i++; +00742 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#b0">IBasicAgent</a> *o = a; +00743 sint n = 1; +00744 +00745 <font class="preprocessor">#ifdef NL_DEBUG</font> +00746 <font class="preprocessor"></font> std::string name; +00747 <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00748 <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>.getDebugString(name); +00749 +00750 <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)a->getType(); +00751 <font class="keyword">const</font> <font class="keywordtype">char</font> *tname = name.c_str(); +00752 <font class="preprocessor">#endif</font> +00753 <font class="preprocessor"></font> <font class="keywordflow">if</font>(!i.isInEnd()) +00754 { +00755 n = (sint)((<a class="code" href="classNLAIAGENT_1_1INombreDefine.html">NLAIAGENT::INombreDefine</a> *)i++)->getNumber(); +00756 } +00757 +00758 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00759 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.ResultState = IObjectIA::ProcessIdle; +00760 +00761 <font class="keywordflow">while</font>(n --) +00762 { +00763 o->setParent( (<font class="keyword">const</font> IWordNumRef *) *<font class="keyword">this</font> ); +00764 CNotifyParentScript *m = <font class="keyword">new</font> CNotifyParentScript(<font class="keyword">this</font>); +00765 <font class="comment">//this->incRef();</font> +00766 m->setSender(<font class="keyword">this</font>); +00767 m->setPerformatif(IMessageBase::PTell); +00768 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)o)->sendMessage(m); +00769 +00770 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00771 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = o->getType(); +00772 +00773 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +00774 { +00775 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)o)->setAgentManager(<font class="keyword">this</font>); +00776 } +00777 +00778 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.insert(CKeyAgent(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>,<a class="code" href="classNLAIAGENT_1_1IAgentComposite.html#z115_0">addChild</a>(o))); +00779 <font class="keywordflow">if</font>(n) o = (<a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#b0">IBasicAgent</a> *)a->clone(); +00780 } +00781 +00782 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +00783 +00784 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00785 } +00786 +<a name="l00787"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_3">00787</a> IObjectIA::CProcessResult CAgentScript::addDynamicAgent(CStringType &name, IBasicAgent *agent) +00788 { +00789 <font class="preprocessor">#ifdef NL_DEBUG</font> +00790 <font class="preprocessor"></font> std::string dbg_name; +00791 <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a>; +00792 name.getDebugString( dbg_name ); +00793 <a class="code" href="driver__opengl__extension__def_8h.html#a373">type</a> = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)agent->getType(); +00794 <font class="keyword">const</font> <font class="keywordtype">char</font> *tname = dbg_name.c_str(); +00795 <font class="preprocessor">#endif</font> +00796 <font class="preprocessor"></font> IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00797 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.ResultState = IObjectIA::ProcessIdle; +00798 +00799 agent->setParent( (<font class="keyword">const</font> IWordNumRef *) *<font class="keyword">this</font> ); +00800 CNotifyParentScript *m = <font class="keyword">new</font> CNotifyParentScript(<font class="keyword">this</font>); +00801 m->setSender(<font class="keyword">this</font>); +00802 m->setPerformatif(IMessageBase::PTell); +00803 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *) agent )->sendMessage(m); +00804 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00805 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = agent->getType(); +00806 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +00807 { +00808 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *) agent )->setAgentManager(<font class="keyword">this</font>); +00809 } +00810 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.insert(CKeyAgent(name,<a class="code" href="classNLAIAGENT_1_1IAgentComposite.html#z115_0">addChild</a>( agent ))); +00811 +00812 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +00813 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00814 } +00815 +<a name="l00816"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_7">00816</a> IObjectIA::CProcessResult CAgentScript::removeDynamic(<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *g) +00817 { +00818 CStringType *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = (CStringType *)g-><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_11">getFront</a>(); +00819 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00820 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.ResultState = IObjectIA::ProcessIdle; +00821 std::pair<tsetDefNameAgent::iterator,tsetDefNameAgent::iterator> p = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.equal_range(CKeyAgent(*<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>)); +00822 +00823 <font class="keywordflow">if</font>(p.first != p.second) +00824 { +00825 <font class="keywordflow">while</font>(p.first != p.second) +00826 { +00827 tsetDefNameAgent::iterator iTmp = p.first; +00828 p.first ++; +00829 +00830 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html">NLAIAGENT::IBasicAgent</a> *o = *iTmp->Itr; +00831 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.erase(iTmp); +00832 <a class="code" href="classNLAIAGENT_1_1IAgentComposite.html#z115_2">removeChild</a>(o); +00833 } +00834 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> DigitalType(1.0); +00835 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00836 } +00837 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = &DigitalType::NullOperator; +00838 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result->incRef(); +00839 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00840 } +00841 +00842 +<a name="l00843"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_6">00843</a> <font class="keywordtype">void</font> CAgentScript::removeDynamic(<a class="code" href="classNLAIAGENT_1_1IBasicAgent.html">NLAIAGENT::IBasicAgent</a> *ag) +00844 { +00845 +00846 tsetDefNameAgent::iterator p = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.begin(); +00847 +00848 <font class="keywordflow">while</font>(p != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.end()) +00849 { +00850 <font class="keywordflow">if</font>((*(*p).Itr) == ag) +00851 { +00852 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.erase(p); +00853 <a class="code" href="classNLAIAGENT_1_1IAgentComposite.html#z115_2">removeChild</a>(ag); +00854 <font class="keywordflow">break</font>; +00855 } +00856 p ++; +00857 } +00858 } +00859 +<a name="l00860"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_4">00860</a> IObjectIA::CProcessResult CAgentScript::getDynamicAgent(IBaseGroupType *g) +00861 { +00862 CStringType *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = (CStringType *)g->get(); +00863 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00864 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.ResultState = IObjectIA::ProcessIdle; +00865 std::pair<tsetDefNameAgent::iterator,tsetDefNameAgent::iterator> p = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.equal_range(CKeyAgent(*<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>)); +00866 +00867 <font class="keywordflow">if</font>(p.first != p.second) +00868 { +00869 sint size = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.count(CKeyAgent(*<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>)); +00870 sint n = 0; +00871 CVectorGroupManager *<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00872 <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = <font class="keyword">new</font> CVectorGroupManager(size); +00873 <font class="keywordflow">while</font>(p.first != p.second) +00874 { +00875 (*p.first->Itr)->incRef(); +00876 <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>->set(n++, *p.first->Itr); +00877 p.first++; +00878 } +00879 +00880 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>; +00881 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00882 +00883 } +00884 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CVectorGroupManager(); +00885 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00886 } +00887 +<a name="l00888"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_8">00888</a> IObjectIA::CProcessResult CAgentScript::runAskParentNotify(IBaseGroupType *g) +00889 { +00890 CNotifyParentScript *m = <font class="keyword">new</font> CNotifyParentScript((<a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#b0">IBasicAgent</a> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>()); +00891 m->setPerformatif(IMessageBase::PTell); +00892 <font class="comment">//this->incRef();</font> +00893 m->setSender(<font class="keyword">this</font>); +00894 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00895 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = m; +00896 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00897 } +00898 +<a name="l00899"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_14">00899</a> IObjectIA::CProcessResult CAgentScript::runTellParentNotify(IBaseGroupType *g) +00900 { +00901 sint i; +00902 +00903 <font class="preprocessor">#ifdef NL_DEBUG</font> +00904 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *text = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +00905 <font class="keyword">const</font> <font class="keywordtype">char</font> *textP = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>()->getType(); +00906 <font class="preprocessor">#endif</font> +00907 <font class="preprocessor"></font> CNotifyParentScript *m = <font class="keyword">new</font> CNotifyParentScript(<font class="keyword">this</font>); +00908 m->setPerformatif(IMessageBase::PTell); +00909 m->setSender(<font class="keyword">this</font>); +00910 +00911 <font class="keywordflow">for</font>(i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++) +00912 { +00913 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i] != NULL) +00914 { +00915 CNotifyParentScript *msg = (CNotifyParentScript *)m->clone(); +00916 <font class="keywordflow">try</font> +00917 { +00918 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +00919 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->getType(); +00920 +00921 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +00922 _Components[i]->sendMessage(msg); +00923 } +00924 <font class="keywordflow">catch</font>(<a class="code" href="classNLAIE_1_1IException.html">NLAIE::IException</a> &) +00925 { +00926 msg->release(); +00927 } +00928 } +00929 } +00930 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00931 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = m; +00932 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00933 } +00934 +<a name="l00935"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_9">00935</a> IObjectIA::CProcessResult CAgentScript::runTellComponent(IBaseGroupType *g) +00936 { +00937 <a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &mOriginal = (<a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &)*g->get(); +00938 CStringType *c = (CStringType *)mOriginal[(sint32)0]; +00939 <a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> *m = (<a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> *)mOriginal[(sint32)1]; +00940 m-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00941 m-><a class="code" href="classNLAIAGENT_1_1IMessageBase.html#z165_0">setSender</a>((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)mOriginal.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#z165_5">getSender</a>()); +00942 m-><a class="code" href="classNLAIAGENT_1_1IMessageBase.html#a9">setPerformatif</a>(mOriginal.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#a10">getPerformatif</a>()); +00943 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_25">sendMessage</a>(c->getStr(), (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)m); +00944 +00945 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00946 +00947 m-><a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00948 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = m; +00949 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00950 } +00951 +<a name="l00952"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_10">00952</a> IObjectIA::CProcessResult CAgentScript::runAskGetValue(IBaseGroupType *g) +00953 { +00954 <a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &msg_result = (<a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &)*g->get(); +00955 msg_result.<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00956 +00957 CStringType *comp_name = (CStringType *)msg_result[(sint32)0]; +00958 +00959 msg_result.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#a9">setPerformatif</a>(IMessageBase::PTell); +00960 msg_result.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#z166_0">setMethodIndex</a>(-1,-1); +00961 msg_result.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#z165_2">setContinuation</a>( (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *) msg_result.<a class="code" href="classNLAIAGENT_1_1IMessageBase.html#z165_5">getSender</a>() ); +00962 +00963 sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a23">getInheritedStaticMemberIndex</a>( comp_name->getStr() ); +00964 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> != -1 ) +00965 { +00966 msg_result.<a class="code" href="classNLAIAGENT_1_1IListBasicManager.html#z161_4">set</a>( 1, <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[ <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> ] ); +00967 } +00968 <font class="keywordflow">else</font> +00969 { +00970 <font class="comment">// Component not foud: return error msg</font> +00971 } +00972 +00973 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00974 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = &msg_result; +00975 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +00976 } +00977 +<a name="l00978"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_11">00978</a> IObjectIA::CProcessResult CAgentScript::runTellSetValue(IBaseGroupType *g) +00979 { +00980 <a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &msg_result = (<a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &)*g->get(); +00981 msg_result.<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +00982 +00983 <font class="keywordflow">while</font> ( msg_result.<a class="code" href="classNLAIAGENT_1_1IListBasicManager.html#z161_16">size</a>() ) +00984 { +00985 CStringType *comp_name = (CStringType *) msg_result[ (sint32) 0 ]; +00986 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *comp_val = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *) msg_result[ (sint32) 1 ]; +00987 +00988 sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_15">getStaticMemberIndex</a>( comp_name->getStr() ); +00989 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> != -1 ) +00990 { +00991 <font class="comment">// Sets the component to the new value</font> +00992 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_17">setStaticMember</a>( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, comp_val ); +00993 } +00994 <font class="keywordflow">else</font> +00995 { +00996 <font class="comment">// Component not found: creates it</font> +00997 +00998 } +00999 } +01000 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01001 msg_result.<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +01002 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = &msg_result; +01003 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01004 } +01005 +<a name="l01006"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_12">01006</a> IObjectIA::CProcessResult CAgentScript::runInitComponent(IBaseGroupType *g) +01007 { +01008 <a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &msg_result = (<a class="code" href="classNLAIAGENT_1_1IMessageBase.html">NLAIAGENT::IMessageBase</a> &)*g->get(); +01009 msg_result.<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +01010 +01011 +01012 <font class="comment">// Cleans previous components</font> +01013 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> != NULL ) +01014 { +01015 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; i++ ) +01016 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[i]->release(); +01017 } +01018 +01019 <font class="comment">// Creates a new component array</font> +01020 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> = (sint32) msg_result.<a class="code" href="classNLAIAGENT_1_1IListBasicManager.html#z161_16">size</a>() / 3; +01021 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *[ <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ]; +01022 +01023 <font class="keywordtype">int</font> test = 0; +01024 +01025 <font class="keywordflow">for</font> ( <font class="keywordtype">int</font> i = 0; i < msg_result.<a class="code" href="classNLAIAGENT_1_1IListBasicManager.html#z161_16">size</a>() ; i += 3 ) +01026 { +01027 CStringType *comp_name = (CStringType *) msg_result[ (sint32) i ]; +01028 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *comp_val = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *) msg_result[ (sint32) (i + 2) ]; +01029 +01030 sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_15">getStaticMemberIndex</a>( comp_name->getStr() ); <font class="comment">//_AgentClass->getInheritedStaticMemberIndex( comp_name->getStr() );</font> +01031 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> != -1 ) +01032 { +01033 <font class="comment">// Sets the component to the new value</font> +01034 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_17">setStaticMember</a>( <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, comp_val ); +01035 } +01036 <font class="keywordflow">else</font> +01037 { +01038 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_17">setStaticMember</a>( (sint32) (i / 3) , comp_val ); +01039 } +01040 test++; +01041 } +01042 +01043 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01044 msg_result.<a class="code" href="classNLAIC_1_1IPointerGestion.html#a2">incRef</a>(); +01045 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = &msg_result; +01046 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01047 } +01048 +<a name="l01049"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_13">01049</a> IObjectIA::CProcessResult CAgentScript::runInitClass(IBaseGroupType *g) +01050 { +01051 <font class="keyword">const</font> <font class="keywordtype">char</font> * class_name = ((<a class="code" href="classNLAIAGENT_1_1CStringVarName.html">NLAIAGENT::CStringVarName</a> *)g->get())->getString(); +01052 <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> id_class( class_name ); +01053 +01054 +01055 +01056 <font class="comment">/*</font> +01057 <font class="comment"> NLAIAGENT::IMessageBase &msg_result = (NLAIAGENT::IMessageBase &)*g->get();</font> +01058 <font class="comment"> msg_result.incRef();</font> +01059 <font class="comment"></font> +01060 <font class="comment"></font> +01061 <font class="comment"> // Cleans previous components</font> +01062 <font class="comment"> if ( _Components != NULL )</font> +01063 <font class="comment"> {</font> +01064 <font class="comment"> for ( int i = 0; i < _NbComponents; i++ )</font> +01065 <font class="comment"> _Components[i]->release();</font> +01066 <font class="comment"> }</font> +01067 <font class="comment"></font> +01068 <font class="comment"> // Creates a new component array</font> +01069 <font class="comment"> _NbComponents = (sint32) msg_result.size() / 3;</font> +01070 <font class="comment"> _Components = new IObjectIA *[ _NbComponents ];</font> +01071 <font class="comment"></font> +01072 <font class="comment"> int test = 0;</font> +01073 <font class="comment"></font> +01074 <font class="comment"> for ( int i = 0; i < msg_result.size() ; i += 3 )</font> +01075 <font class="comment"> {</font> +01076 <font class="comment"> CStringType *comp_name = (CStringType *) msg_result[ (sint32) i ];</font> +01077 <font class="comment"> CStringType *comp_type = (CStringType *) msg_result[ (sint32) (i + 1) ];</font> +01078 <font class="comment"> IObjectIA *comp_val = (IObjectIA *) msg_result[ (sint32) (i + 2) ];</font> +01079 <font class="comment"> </font> +01080 <font class="comment"> sint32 index = getStaticMemberIndex( comp_name->getStr() ); //_AgentClass->getInheritedStaticMemberIndex( comp_name->getStr() );</font> +01081 <font class="comment"> if ( index != -1 )</font> +01082 <font class="comment"> {</font> +01083 <font class="comment"> // Sets the component to the new value</font> +01084 <font class="comment"> setStaticMember( index, comp_val ); </font> +01085 <font class="comment"> }</font> +01086 <font class="comment"> else</font> +01087 <font class="comment"> {</font> +01088 <font class="comment"> setStaticMember( (sint32) (i / 3) , comp_val );</font> +01089 <font class="comment"> }</font> +01090 <font class="comment"> test++;</font> +01091 <font class="comment"> }</font> +01092 <font class="comment"> */</font> +01093 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01094 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +01095 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01096 } +01097 +01098 +01099 +01100 +<a name="l01101"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_5">01101</a> IObjectIA::CProcessResult CAgentScript::getDynamicName(<a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html">NLAIAGENT::IBaseGroupType</a> *g) +01102 { +01103 +01104 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01105 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = ((CLocalAgentMail *)g-><a class="code" href="classNLAIAGENT_1_1IBaseGroupType.html#z136_10">get</a>())->getHost(); +01106 tsetDefNameAgent::iterator i = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.begin(); +01107 +01108 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.end()) +01109 { +01110 CKeyAgent key = *i; +01111 <font class="keywordflow">if</font>( o == *key.Itr ) +01112 { +01113 CStringType *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = <font class="keyword">new</font> CStringType(key.Name); +01114 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; +01115 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01116 } +01117 i ++; +01118 } +01119 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType(CStringVarName(<font class="stringliteral">"Unknown"</font>)); +01120 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01121 } +01122 +<a name="l01123"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_9">01123</a> IObjectIA::CProcessResult CAgentScript::sendMethod(IObjectIA *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>) +01124 { +01125 INombreDefine *p = (INombreDefine *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01126 IMessageBase *msg = (IMessageBase *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01127 msg->setPerformatif((IMessageBase::TPerformatif)(sint)p->getNumber()); +01128 p->release(); +01129 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_25">sendMessage</a>(msg); +01130 } +01131 +<a name="l01132"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_10">01132</a> IObjectIA::CProcessResult CAgentScript::sendMethodCompoment(IObjectIA *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>) +01133 { +01134 <a class="code" href="classNLAIAGENT_1_1CIteratorContener.html">NLAIAGENT::CIteratorContener</a> It = ((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->getIterator(); +01135 <font class="keyword">const</font> CStringType *n = (<font class="keyword">const</font> CStringType *)It++; +01136 INombreDefine *p = (INombreDefine *)((IBaseGroupType *)It++); +01137 IMessageBase *msg = (IMessageBase *)((IBaseGroupType *)It++); +01138 msg->setPerformatif((IMessageBase::TPerformatif)(sint)p->getNumber()); +01139 msg->incRef(); +01140 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_25">sendMessage</a>(n->getStr(),msg); +01141 } +01142 +<a name="l01143"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#b1">01143</a> IObjectIA::CProcessResult CAgentScript::sendBroadCast(IObjectIA *m) +01144 { +01145 tsetDefNameAgent::iterator i = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.begin(); +01146 +01147 <font class="keywordflow">if</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.end()) +01148 { +01149 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*(*(i)).Itr))->sendMessage(m); +01150 i ++; +01151 +01152 <font class="keywordflow">while</font>(i != <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.end()) +01153 { +01154 m->incRef(); +01155 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)(*(*(i)).Itr)); +01156 o->sendMessage(m); +01157 i++; +01158 } +01159 } +01160 +01161 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +01162 } +01163 +<a name="l01164"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_27">01164</a> IObjectIA::CProcessResult CAgentScript::sendMessageToDynmaicChild(<font class="keyword">const</font> IVarName &compName,IObjectIA *msg) +01165 { +01166 <font class="comment">//tsetDefNameAgent::iterator p = _DynamicAgentName.find(CKeyAgent(CStringType(compName)));</font> +01167 std::pair<tsetDefNameAgent::iterator,tsetDefNameAgent::iterator> p = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n3">_DynamicAgentName</a>.equal_range(CKeyAgent(CStringType(compName))); +01168 +01169 <font class="preprocessor">#ifdef NL_DEBUG</font> +01170 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *txt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)msg->getType(); +01171 std::string txtName; +01172 compName.getDebugString(txtName); +01173 <font class="preprocessor">#endif</font> +01174 <font class="preprocessor"></font> +01175 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01176 +01177 <font class="keywordflow">if</font>(p.first != p.second) +01178 { +01179 <font class="keywordflow">while</font>(p.first != p.second) +01180 { +01181 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *o = (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)*((*(p.first)).Itr); +01182 o->sendMessage(msg); +01183 p.first ++; +01184 <font class="keywordflow">if</font>(p.first != p.second) msg = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->clone(); +01185 } +01186 } +01187 <font class="keywordflow">else</font> +01188 { +01189 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.ResultState = <a class="code" href="namespaceNLAIAGENT.html#a50a9">processError</a>; +01190 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +01191 } +01192 +01193 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01194 } +01195 +<a name="l01196"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_26">01196</a> IObjectIA::CProcessResult CAgentScript::sendMessage(<font class="keyword">const</font> IVarName &compName,IObjectIA *msg) +01197 { +01198 <font class="preprocessor">#ifdef NL_DEBUG</font> +01199 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *txt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)msg->getType(); +01200 <font class="keyword">const</font> <font class="keywordtype">char</font> *compNameDb = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)compName.getString(); +01201 <font class="comment">//nlinfo("MSG %s %4x", txt, this);</font> +01202 <font class="preprocessor">#endif</font> +01203 <font class="preprocessor"></font> <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL) +01204 { +01205 <font class="keywordtype">int</font> i = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_15">getStaticMemberIndex</a>(compName); +01206 <font class="keywordflow">if</font>(i >= 0) +01207 { +01208 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *comp = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_16">getStaticMember</a>(i); +01209 <font class="keywordflow">if</font>(comp != NULL) +01210 { +01211 comp->sendMessage(msg); +01212 } +01213 <font class="keywordflow">else</font> +01214 { +01215 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_27">sendMessageToDynmaicChild</a>(compName,msg).ResultState == <a class="code" href="namespaceNLAIAGENT.html#a50a9">processError</a>) msg->release(); +01216 } +01217 } +01218 <font class="keywordflow">else</font> +01219 { +01220 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_27">sendMessageToDynmaicChild</a>(compName,msg).ResultState == <a class="code" href="namespaceNLAIAGENT.html#a50a9">processError</a>) msg->release(); +01221 } +01222 } +01223 <font class="keywordflow">else</font> +01224 { +01225 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_27">sendMessageToDynmaicChild</a>(compName,msg).ResultState == <a class="code" href="namespaceNLAIAGENT.html#a50a9">processError</a>) msg->release(); +01226 } +01227 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +01228 } +01229 +<a name="l01230"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_25">01230</a> IObjectIA::CProcessResult CAgentScript::sendMessage(IObjectIA *m) +01231 { +01232 <font class="preprocessor">#ifdef NL_DEBUG</font> +01233 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *txt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)m->getType(); +01234 <font class="keyword">const</font> <font class="keywordtype">char</font> *classBase = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +01235 <font class="comment">//nlinfo("MSG %s %4x", txt, m);</font> +01236 <font class="preprocessor">#endif</font> +01237 <font class="preprocessor"></font> IMessageBase *msg = (IMessageBase *)m; +01238 <font class="comment">//this->incRef();</font> +01239 msg->setReceiver(<font class="keyword">this</font>); +01240 <font class="keywordflow">if</font>(msg->getMethodIndex() < 0) +01241 { +01242 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s9">NLAIC::CTypeOfObject::tMessage</a>; +01243 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = m->getType(); +01244 +01245 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +01246 { +01247 <font class="comment">//char runMsg[1024];</font> +01248 <font class="comment">//strcpy(runMsg,_RUN_);</font> +01249 <font class="keyword">static</font> CStringVarName sRunTell(<font class="stringliteral">"RunTell"</font>); +01250 <font class="keyword">static</font> CStringVarName sRunAchieve(<font class="stringliteral">"RunAchieve"</font>); +01251 <font class="keyword">static</font> CStringVarName sRunAsk(<font class="stringliteral">"RunAsk"</font>); +01252 <font class="keyword">static</font> CStringVarName sRunExec(<font class="stringliteral">"RunExec"</font>); +01253 <font class="keyword">static</font> CStringVarName sRunBreak(<font class="stringliteral">"RunBreak"</font>); +01254 <font class="keyword">static</font> CStringVarName sRunKill(<font class="stringliteral">"RunKill"</font>); +01255 <font class="keyword">static</font> CStringVarName sRunError(<font class="stringliteral">"RunError"</font>); +01256 +01257 CStringVarName *runMsg = NULL;<font class="comment">//sRunTell;</font> +01258 +01259 <font class="keywordflow">switch</font>(msg->getPerformatif()) +01260 { +01261 <font class="keywordflow">case</font> IMessageBase::PExec: +01262 <font class="comment">//strcat(runMsg,"Exec");</font> +01263 runMsg = &sRunExec; +01264 <font class="keywordflow">break</font>; +01265 <font class="keywordflow">case</font> IMessageBase::PAchieve: +01266 <font class="comment">//strcat(runMsg,"Achieve");</font> +01267 runMsg = &sRunAchieve; +01268 <font class="keywordflow">break</font>; +01269 <font class="keywordflow">case</font> IMessageBase::PAsk: +01270 <font class="comment">//strcat(runMsg,"Ask");</font> +01271 runMsg = &sRunAsk; +01272 <font class="keywordflow">break</font>; +01273 <font class="keywordflow">case</font> IMessageBase::PTell: +01274 <font class="comment">//strcat(runMsg,"Tell");</font> +01275 runMsg = &sRunTell; +01276 <font class="keywordflow">break</font>; +01277 <font class="keywordflow">case</font> IMessageBase::PBreak: +01278 runMsg = &sRunBreak; +01279 <font class="keywordflow">break</font>; +01280 <font class="keywordflow">case</font> IMessageBase::PKill: +01281 runMsg = &sRunKill; +01282 <font class="keywordflow">break</font>; +01283 <font class="keywordflow">case</font> IMessageBase::PError: +01284 runMsg = &sRunError; +01285 <font class="keywordflow">break</font>; +01286 +01287 <font class="keywordflow">default</font>: +01288 <font class="keywordflow">throw</font>; +01289 <font class="keywordflow">break</font>; +01290 } +01291 +01292 CStringVarName &tmp_name = *runMsg; +01293 +01294 <a class="code" href="classNLAISCRIPT_1_1COperandSimple.html">NLAISCRIPT::COperandSimple</a> *t = <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>(m->getType())); +01295 <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> p(1,t); +01296 +01297 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_19">isMember</a>(NULL,&tmp_name,p); +01298 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +01299 { +01300 <a class="code" href="structNLAIAGENT_1_1CIdMethod.html">NLAIAGENT::CIdMethod</a> m = <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.top(); +01301 msg->setMethodIndex(0,m.<a class="code" href="structNLAIAGENT_1_1CIdMethod.html#m0">Index</a>); +01302 } +01303 } +01304 } +01305 +01306 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = IAgent::sendMessage(msg); +01307 +01308 +01309 +01310 <font class="preprocessor">#ifdef PROFILE</font> +01311 <font class="preprocessor"></font> time = <a class="code" href="classNLMISC_1_1CTime.html#d2">NLMISC::CTime::getPerformanceTime</a>() - time; +01312 <font class="comment">//if(time)</font> +01313 { +01314 TimeSend += time; +01315 NbSend ++; +01316 } +01317 <font class="preprocessor">#endif</font> +01318 <font class="preprocessor"></font> +01319 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01320 <font class="comment">//return IObjectIA::CProcessResult();</font> +01321 } +01322 +<a name="l01323"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_0">01323</a> <font class="keywordtype">void</font> CAgentScript::runChildren() +01324 { +01325 <font class="preprocessor">#ifdef NL_DEBUG </font> +01326 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *classBase = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +01327 <font class="preprocessor">#endif</font> +01328 <font class="preprocessor"></font> <font class="comment">// Activation des agents de la partie statique</font> +01329 <font class="keywordtype">int</font> i = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>; +01330 +01331 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> **com = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>; +01332 +01333 <font class="keywordflow">while</font>(i --) +01334 (*com ++)->run(); +01335 +01336 <font class="comment">// Activation des fils</font> +01337 IAgent::runChildren(); +01338 } +01339 +<a name="l01340"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_1">01340</a> <font class="keywordtype">bool</font> CAgentScript::runChildrenStepByStep() +01341 { +01342 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n5">_iComponents</a> == <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a>) +01343 { +01344 <font class="keywordflow">if</font>(IAgent::runChildrenStepByStep()) +01345 { +01346 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n5">_iComponents</a> = 0; +01347 <font class="keywordflow">return</font> <font class="keyword">true</font>; +01348 } +01349 <font class="keywordflow">else</font> <font class="keywordflow">return</font> <font class="keyword">false</font>; +01350 } +01351 +01352 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n5">_iComponents</a> ++]; +01353 o->run(); +01354 +01355 <font class="keywordflow">return</font> <font class="keyword">false</font>; +01356 } +01357 +<a name="l01358"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_4">01358</a> <font class="keywordtype">void</font> CAgentScript::processMessages(IMessageBase *msg,IObjectIA *c) +01359 { +01360 <font class="preprocessor">#ifdef NL_DEBUG</font> +01361 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *txt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)msg->getType(); +01362 <font class="keywordtype">bool</font> dbugB = <font class="keyword">false</font>; +01363 <font class="preprocessor">#endif</font> +01364 <font class="preprocessor"></font> <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &context = (<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &)*c; +01365 IBaseGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = <font class="keyword">new</font> CGroupType(); +01366 msg->incRef(); +01367 <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->push(msg); +01368 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a> ++; +01369 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>[(int)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>] = <a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>; +01370 +01371 <font class="keywordtype">int</font> indexM = msg->getMethodIndex() - <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z143_0">getBaseMethodCount</a>(); +01372 <font class="keywordflow">if</font>(indexM >= 0) +01373 { +01374 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *code = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_15">getMethode</a>(indexM); +01375 <font class="keywordflow">if</font>(code == NULL) +01376 { +01377 <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a9">getMail</a>()->popMessage(); +01378 <font class="keywordflow">return</font>; +01379 } +01380 } +01381 +01382 <a class="code" href="classNLAISCRIPT_1_1IMethodContext.html">NLAISCRIPT::IMethodContext</a> *methodContex; +01383 +01384 <font class="keywordflow">if</font> (context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m6">ContextDebug</a>.Active) +01385 { +01386 <font class="comment">/*context.ContextDebug.Param.push_back(&listBidon); </font> +01387 <font class="comment"> listBidon.incRef();*/</font> +01388 methodContex = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CMethodContextDebug.html">NLAISCRIPT::CMethodContextDebug</a>(); +01389 } +01390 <font class="keywordflow">else</font> +01391 { +01392 methodContex = <font class="keyword">new</font> <a class="code" href="classNLAISCRIPT_1_1CMethodContext.html">NLAISCRIPT::CMethodContext</a>(); +01393 } +01394 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *self = context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a>; +01395 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = <font class="keyword">this</font>; +01396 <a class="code" href="classNLAISCRIPT_1_1CCallMethod.html">NLAISCRIPT::CCallMethod</a> opCall(methodContex,msg->getHeritanceIndex(),msg->getMethodIndex()); +01397 opCall.<a class="code" href="classNLAISCRIPT_1_1CCallMethod.html#a2">runOpCode</a>(context); +01398 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = self; +01399 IMessageBase *returnMsg = (IMessageBase *)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>[(int)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>]; +01400 returnMsg->incRef(); +01401 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>--; +01402 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_5">processContinuation</a>(msg, returnMsg); +01403 +01404 returnMsg->release(); +01405 } +01406 +<a name="l01407"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_5">01407</a> <font class="keywordtype">void</font> CAgentScript::processContinuation(IMessageBase *msg, IMessageBase *returnMsg) +01408 { +01409 <font class="keywordflow">switch</font>(msg->getPerformatif()) +01410 { +01411 <font class="keywordflow">case</font> IMessageBase::PExec: +01412 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01413 { +01414 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01415 o->setMethodIndex(-1,-1); +01416 <font class="comment">//this->incRef();</font> +01417 o->setSender(<font class="keyword">this</font>); +01418 <font class="comment">//((IObjectIA *)msg->getContinuation())->incRef();</font> +01419 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01420 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01421 } +01422 <font class="keywordflow">break</font>; +01423 <font class="keywordflow">case</font> IMessageBase::PAchieve: +01424 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01425 { +01426 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01427 o->setMethodIndex(-1,-1); +01428 <font class="comment">//this->incRef();</font> +01429 o->setSender(<font class="keyword">this</font>); +01430 <font class="comment">//((IObjectIA *)msg->getContinuation())->incRef();</font> +01431 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01432 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01433 } +01434 <font class="keywordflow">break</font>; +01435 <font class="keywordflow">case</font> IMessageBase::PAsk: +01436 { +01437 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01438 o->setMethodIndex(-1,-1); +01439 <font class="comment">//this->incRef();</font> +01440 o->setSender(<font class="keyword">this</font>); +01441 o->setPerformatif(IMessageBase::PTell); +01442 <font class="comment">//if(returnMsg->getSender() != NULL) ((IObjectIA *)returnMsg->getSender())->incRef();</font> +01443 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)returnMsg->getSender()); +01444 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getSender())->sendMessage(o); +01445 +01446 +01447 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01448 { +01449 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01450 o->setMethodIndex(-1,-1); +01451 <font class="comment">//this->incRef();</font> +01452 o->setSender(<font class="keyword">this</font>); +01453 <font class="comment">//if(msg->getContinuation() != NULL) ((IObjectIA *)msg->getContinuation())->incRef();</font> +01454 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01455 o->setPerformatif(IMessageBase::PTell); +01456 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01457 } +01458 } +01459 <font class="keywordflow">break</font>; +01460 <font class="keywordflow">case</font> IMessageBase::PTell: +01461 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01462 { +01463 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01464 o->setMethodIndex(-1,-1); +01465 <font class="comment">//this->incRef();</font> +01466 o->setSender(<font class="keyword">this</font>); +01467 <font class="comment">//if(msg->getContinuation() != NULL) ((IObjectIA *)msg->getContinuation())->incRef();</font> +01468 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01469 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01470 } +01471 <font class="keywordflow">break</font>; +01472 <font class="keywordflow">case</font> IMessageBase::PBreak: +01473 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01474 { +01475 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01476 o->setMethodIndex(-1,-1); +01477 <font class="comment">//this->incRef();</font> +01478 o->setSender(<font class="keyword">this</font>); +01479 <font class="comment">//if(msg->getContinuation() != NULL) ((IObjectIA *)msg->getContinuation())->incRef();</font> +01480 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01481 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01482 } +01483 <font class="keywordflow">break</font>; +01484 <font class="keywordflow">case</font> IMessageBase::PKill: +01485 <font class="keywordflow">if</font>(msg->getContinuation() != NULL) +01486 { +01487 IMessageBase *o = (IMessageBase *)returnMsg->clone(); +01488 o->setMethodIndex(-1,-1); +01489 <font class="comment">//this->incRef();</font> +01490 o->setSender(<font class="keyword">this</font>); +01491 <font class="comment">//if(msg->getContinuation() != NULL) ((IObjectIA *)msg->getContinuation())->incRef();</font> +01492 o->setReceiver((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation()); +01493 ((<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)msg->getContinuation())->sendMessage(o); +01494 } +01495 <font class="keywordflow">break</font>; +01496 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01497 } +01498 } +01499 +<a name="l01500"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_3">01500</a> <font class="keywordtype">void</font> CAgentScript::processMessages() +01501 { +01502 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *c = NULL; +01503 <font class="keywordflow">if</font>( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a> != NULL) +01504 c = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a>->getAgentContext(); +01505 <font class="keywordflow">else</font> +01506 c = NULL; +01507 +01508 IMailBox *mail = <a class="code" href="classNLAIAGENT_1_1IBasicAgent.html#a9">getMail</a>(); +01509 +01510 +01511 <font class="comment">//const IMailBox::tListMessage &l = mail->getMesseageListe();</font> +01512 sint n = mail->size(); +01513 +01514 <font class="keywordflow">while</font>(<font class="comment">/*l.begin() != l.end()*/</font>n--) +01515 { +01516 IMessageBase &msg = (IMessageBase &)mail->getMessage(); +01517 <font class="preprocessor">#ifdef NL_DEBUG</font> +01518 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_this = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +01519 <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_msg = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) msg.getType(); +01520 <font class="preprocessor">#endif</font> +01521 <font class="preprocessor"></font> +01522 <font class="keywordflow">if</font>(msg.getMethodIndex() >= 0 && c != NULL) +01523 { +01524 sint indexM = msg.getMethodIndex() - IAgent::getMethodIndexSize(); +01525 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o; +01526 <font class="keywordflow">if</font>(indexM != CAgentScript::TDeflautProccessMsg) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_3">processMessages</a>(&msg,c); +01527 <font class="keywordflow">else</font> +01528 { +01529 o = IBasicAgent::run( msg ); +01530 <font class="keywordflow">if</font>(o != NULL) o->release(); +01531 } +01532 <font class="keywordflow">if</font> ( mail->size() != 0 ) +01533 mail->popMessage(); +01534 } +01535 <font class="keywordflow">else</font> +01536 { +01537 <font class="keywordflow">try</font> +01538 { +01539 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = IBasicAgent::run( msg ); +01540 <font class="keywordflow">if</font> (o != NULL) +01541 o->release(); +01542 mail->popMessage(); +01543 } +01544 <font class="keywordflow">catch</font>(<a class="code" href="classNLAIE_1_1CExceptionNotImplemented.html">NLAIE::CExceptionNotImplemented</a> &e) +01545 { +01546 mail->popMessage(); +01547 <font class="keywordflow">throw</font> <a class="code" href="classNLAIE_1_1CExceptionNotImplemented.html">NLAIE::CExceptionNotImplemented</a>(e.what()); +01548 } +01549 } +01550 } +01551 } +01552 +<a name="l01553"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_6">01553</a> IObjectIA::CProcessResult CAgentScript::runActivity() +01554 { +01555 +01556 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> *context = (<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> *)<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n2">_AgentManager</a>->getAgentContext(); +01557 context-><a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = <font class="keyword">this</font>; +01558 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_8">getRunMethod</a>() >= 0) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_23">runMethodeMember</a>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_8">getRunMethod</a>(), context); +01559 +01560 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#p0">ProcessRun</a>; +01561 } +01562 +<a name="l01563"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_8">01563</a> <font class="keywordtype">bool</font> CAgentScript::haveActivity()<font class="keyword"> const</font> +01564 <font class="keyword"> </font>{ +01565 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL && (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_8">getRunMethod</a>() >= 0); +01566 } +01567 +01568 +01569 <font class="preprocessor">#ifdef PROFILE</font> +01570 <font class="preprocessor"></font> NLMISC::TTicks TimeRun = 0; +01571 NLMISC::TTicks NbRun = 0; +01572 <font class="preprocessor">#endif</font> +01573 <font class="preprocessor"></font> +<a name="l01574"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_28">01574</a> <font class="keyword">const</font> IObjectIA::CProcessResult &CAgentScript::run() +01575 { +01576 +01577 <font class="preprocessor">#ifdef NL_DEBUG</font> +01578 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_class_name = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +01579 <font class="comment">//const NLAIAGENT::IRefrence *dbg_mail_parent = _ScriptMail->getParent();</font> +01580 <font class="preprocessor">#endif</font> +01581 <font class="preprocessor"></font> +01582 <font class="preprocessor">#ifdef PROFILE</font> +01583 <font class="preprocessor"></font> NLMISC::TTicks time = <a class="code" href="classNLMISC_1_1CTime.html#d2">NLMISC::CTime::getPerformanceTime</a>(); +01584 <font class="preprocessor">#endif</font> +01585 <font class="preprocessor"></font> +01586 <font class="keyword">const</font> IObjectIA::CProcessResult &<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = IAgentManager::run(); +01587 +01588 <font class="preprocessor">#ifdef PROFILE</font> +01589 <font class="preprocessor"></font> time = <a class="code" href="classNLMISC_1_1CTime.html#d2">NLMISC::CTime::getPerformanceTime</a>() - time; +01590 <font class="comment">//if(time)</font> +01591 { +01592 TimeRun = time; +01593 NbRun = 1; +01594 } +01595 <font class="preprocessor">#endif</font> +01596 <font class="preprocessor"></font> +01597 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01598 +01599 } +01600 +<a name="l01601"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_29">01601</a> <font class="keyword">const</font> IObjectIA::CProcessResult &CAgentScript::runStep() +01602 { +01603 +01604 <font class="preprocessor">#ifdef NL_DEBUG</font> +01605 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *dbg_class_name = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +01606 <font class="comment">//const NLAIAGENT::IRefrence *dbg_mail_parent = _ScriptMail->getParent();</font> +01607 <font class="preprocessor">#endif</font> +01608 <font class="preprocessor"></font> +01609 <font class="keywordflow">return</font> IAgentManager::runStep(); +01610 +01611 } +01612 +<a name="l01613"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_0">01613</a> <font class="keywordtype">void</font> CAgentScript::addOperator(<a class="code" href="classNLAILOGIC_1_1IBaseOperator.html">NLAILOGIC::IBaseOperator</a> *op) +01614 { +01615 <font class="comment">// _Operators.push_back(op);</font> +01616 } +01617 +<a name="l01618"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_1">01618</a> <font class="keywordtype">void</font> CAgentScript::remOperator(<a class="code" href="classNLAILOGIC_1_1IBaseOperator.html">NLAILOGIC::IBaseOperator</a> *op) +01619 { +01620 <font class="comment">/* std::vector<NLAILOGIC::IBaseOperator *>::iterator it_o = _Operators.begin();</font> +01621 <font class="comment"> while ( it_o != _Operators.end() )</font> +01622 <font class="comment"> {</font> +01623 <font class="comment"> if ( op == *it_o )</font> +01624 <font class="comment"> {</font> +01625 <font class="comment"> _Operators.erase( it_o );</font> +01626 <font class="comment"> return;</font> +01627 <font class="comment"> }</font> +01628 <font class="comment"> it_o++;</font> +01629 <font class="comment"> }</font> +01630 <font class="comment"> char buf[2048];</font> +01631 <font class="comment"> op->getDebugString(buf);</font> +01632 <font class="comment"> throw NLAIE::CExceptionObjectNotFoundError(buf);</font> +01633 <font class="comment"> */</font> +01634 } +01635 +<a name="l01636"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">01636</a> <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a> &CAgentScript::getType()<font class="keyword"> const</font> +01637 <font class="keyword"> </font>{ +01638 <font class="keywordflow">if</font> ( _AgentClass ) +01639 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1IClassInterpret.html#a5">getType</a>(); +01640 <font class="keywordflow">else</font> +01641 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#p17">IdAgentScript</a>; +01642 } +01643 +<a name="l01644"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_11">01644</a> IObjectIA::CProcessResult CAgentScript::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>,IObjectIA *o) +01645 { +01646 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - IAgent::getMethodIndexSize()) +01647 { +01648 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s0">TSend</a>: +01649 { +01650 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_9">sendMethod</a>(o); +01651 } +01652 +01653 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s1">TSendComponent</a>: +01654 { +01655 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_10">sendMethodCompoment</a>(o); +01656 } +01657 +01658 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s2">TGetChildTag</a>: +01659 { +01660 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_4">getDynamicAgent</a>((IBaseGroupType *)o); +01661 } +01662 +01663 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s3">TAddChildTag</a>: +01664 { +01665 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_2">addDynamicAgent</a>((IBaseGroupType *)o); +01666 } +01667 +01668 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s5">TFather</a>: +01669 { +01670 IObjectIA::CProcessResult a; +01671 a.Result = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>(); +01672 a.Result->incRef(); +01673 <font class="keywordflow">return</font> a; +01674 } +01675 +01676 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s6">TSelf</a>: +01677 { +01678 IObjectIA::CProcessResult a; +01679 a.Result = <font class="keyword">new</font> CLocalAgentMail(<font class="keyword">this</font>); +01680 <font class="keywordflow">return</font> a; +01681 } +01682 +01683 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s7">TGetName</a>: +01684 { +01685 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01686 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *p = (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>(); +01687 tsetDefNameAgent::iterator i = p->_DynamicAgentName.begin(); +01688 +01689 <font class="keywordflow">while</font>(i != p->_DynamicAgentName.end()) +01690 { +01691 CKeyAgent key = *i; +01692 <font class="keywordflow">if</font>( <font class="keyword">this</font> == *key.Itr ) +01693 { +01694 CStringType *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = <font class="keyword">new</font> CStringType(key.Name); +01695 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; +01696 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01697 } +01698 i ++; +01699 } +01700 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType(CStringVarName(<font class="stringliteral">"Unknown"</font>)); +01701 +01702 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01703 } +01704 +01705 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s9">TGetClassName</a>: +01706 { +01707 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01708 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL ) +01709 { +01710 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *classname = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a16">getClassName</a>(); +01711 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType( *classname ); +01712 } +01713 <font class="keywordflow">else</font> +01714 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType( CStringVarName(<font class="stringliteral">"<unknown>"</font>)); +01715 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01716 } +01717 +01718 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s8">TIsInherited</a>: +01719 { +01720 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01721 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL ) +01722 { +01723 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01724 CStringType *comp_name = (CStringType *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01725 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_21">isClassInheritedFrom</a>( comp_name->getStr() ) != -1 ) +01726 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">true</font> ); +01727 <font class="keywordflow">else</font> +01728 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">false</font> ); +01729 } +01730 <font class="keywordflow">else</font> +01731 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">false</font> ); +01732 +01733 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01734 } +01735 +01736 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s4">TRemoveChild</a>: +01737 { +01738 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_6">removeDynamic</a>((IBaseGroupType *)o); +01739 } +01740 +01741 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s12">TRunAskParentNotify</a>: +01742 { +01743 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_8">runAskParentNotify</a>((IBaseGroupType *)o); +01744 } +01745 +01746 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s13">TRunTellParentNotify</a>: +01747 { +01748 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_14">runTellParentNotify</a>((IBaseGroupType *)o); +01749 } +01750 +01751 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s11">TRunAskComponent</a>: +01752 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s10">TRunTellComponent</a>: +01753 { +01754 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_9">runTellComponent</a>((IBaseGroupType *)o); +01755 } +01756 +01757 +01758 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s14">TSetStatic</a>: +01759 { +01760 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01761 CStringType *comp_name = (CStringType *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01762 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01763 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a19">getComponentIndex</a>( comp_name->getStr() ); +01764 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a32">updateStaticMember</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +01765 <font class="keywordflow">return</font> IObjectIA::CProcessResult(); +01766 } +01767 +01768 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s15">TGetValue</a>: +01769 { +01770 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_10">runAskGetValue</a>( (IBaseGroupType *) o ); +01771 } +01772 +01773 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s16">TSetValue</a>: +01774 { +01775 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_11">runTellSetValue</a>( (IBaseGroupType *) o ); +01776 } +01777 +01778 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s18">TInitComponent</a>: +01779 { +01780 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_12">runInitComponent</a>( (IBaseGroupType *) o ); +01781 } +01782 +01783 +01784 <font class="keywordflow">default</font>: +01785 <font class="keywordflow">return</font> IAgent::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,o); +01786 +01787 } +01788 } +01789 +<a name="l01790"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_12">01790</a> IObjectIA::CProcessResult CAgentScript::runMethodBase(<font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,IObjectIA *o) +01791 { +01792 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - IAgent::getMethodIndexSize()) +01793 { +01794 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s0">TSend</a>: +01795 { +01796 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_9">sendMethod</a>(o); +01797 } +01798 +01799 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s1">TSendComponent</a>: +01800 { +01801 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_10">sendMethodCompoment</a>(o); +01802 } +01803 +01804 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s2">TGetChildTag</a>: +01805 { +01806 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_4">getDynamicAgent</a>((IBaseGroupType *)o); +01807 } +01808 +01809 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s3">TAddChildTag</a>: +01810 { +01811 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_2">addDynamicAgent</a>((IBaseGroupType *)o); +01812 } +01813 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s5">TFather</a>: +01814 { +01815 IObjectIA::CProcessResult a; +01816 a.Result = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>(); +01817 <font class="comment">//if(a.Result != NULL) </font> +01818 a.Result->incRef(); +01819 <font class="keywordflow">return</font> a; +01820 } +01821 +01822 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s6">TSelf</a>: +01823 { +01824 IObjectIA::CProcessResult a; +01825 a.Result = <font class="keyword">new</font> CLocalAgentMail(<font class="keyword">this</font>); +01826 <font class="keywordflow">return</font> a; +01827 } +01828 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s7">TGetName</a>: +01829 { +01830 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01831 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *p = (<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)<a class="code" href="classNLAIAGENT_1_1IConnectIA.html#a3">getParent</a>(); +01832 tsetDefNameAgent::iterator i = p->_DynamicAgentName.begin(); +01833 +01834 <font class="keywordflow">while</font>(i != p->_DynamicAgentName.end()) +01835 { +01836 CKeyAgent key = *i; +01837 <font class="keywordflow">if</font>( <font class="keyword">this</font> == *key.Itr ) +01838 { +01839 CStringType *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a> = <font class="keyword">new</font> CStringType(key.Name); +01840 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>; +01841 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01842 } +01843 i ++; +01844 } +01845 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType(CStringVarName(<font class="stringliteral">"Unknown"</font>)); +01846 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01847 } +01848 +01849 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s9">TGetClassName</a>: +01850 { +01851 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01852 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *classname = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a16">getClassName</a>(); +01853 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> CStringType( *classname ); +01854 +01855 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result->incRef(); +01856 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01857 } +01858 +01859 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s8">TIsInherited</a>: +01860 { +01861 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01862 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL ) +01863 { +01864 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01865 CStringType *comp_name = (CStringType *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01866 <font class="keywordflow">if</font> ( <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_21">isClassInheritedFrom</a>( comp_name->getStr() ) != -1 ) +01867 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">true</font> ); +01868 <font class="keywordflow">else</font> +01869 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">false</font> ); +01870 +01871 } +01872 <font class="keywordflow">else</font> +01873 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = <font class="keyword">new</font> <a class="code" href="classNLAILOGIC_1_1CBoolType.html">NLAILOGIC::CBoolType</a>( <font class="keyword">false</font> ); +01874 +01875 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result->incRef(); +01876 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +01877 } +01878 +01879 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s12">TRunAskParentNotify</a>: +01880 { +01881 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_8">runAskParentNotify</a>((IBaseGroupType *)o); +01882 } +01883 +01884 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s13">TRunTellParentNotify</a>: +01885 { +01886 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_14">runTellParentNotify</a>((IBaseGroupType *)o); +01887 } +01888 +01889 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s11">TRunAskComponent</a>: +01890 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s10">TRunTellComponent</a>: +01891 { +01892 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_9">runTellComponent</a>((IBaseGroupType *)o); +01893 } +01894 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s14">TSetStatic</a>: +01895 { +01896 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01897 CStringType *comp_name = (CStringType *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01898 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)((IBaseGroupType *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)->popFront(); +01899 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a23">getInheritedStaticMemberIndex</a>( comp_name->getStr() ); +01900 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a32">updateStaticMember</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>); +01901 IObjectIA::CProcessResult a; +01902 a.Result = NULL; +01903 <font class="keywordflow">return</font> a; +01904 } +01905 +01906 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s15">TGetValue</a>: +01907 { +01908 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_10">runAskGetValue</a>( (IBaseGroupType *) o ); +01909 } +01910 +01911 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s16">TSetValue</a>: +01912 { +01913 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_11">runTellSetValue</a>( (IBaseGroupType *) o ); +01914 } +01915 +01916 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s18">TInitComponent</a>: +01917 { +01918 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_12">runInitComponent</a>( (IBaseGroupType *) o ); +01919 } +01920 +01921 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s19">TIsEUU</a>: +01922 { +01923 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01924 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>(((<a class="code" href="classNLAIAGENT_1_1CStringType.html">NLAIAGENT::CStringType</a> *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->get())->getStr().getString()); +01925 <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>; +01926 +01927 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a5">isa</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>)) +01928 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_1DigitalType.html">NLAIAGENT::DigitalType</a>(1.0); +01929 <font class="keywordflow">else</font> +01930 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_1DigitalType.html">NLAIAGENT::DigitalType</a>(0.0); +01931 <font class="keywordflow">return</font> r; +01932 } +01933 +01934 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s20">TAddSet</a>: +01935 { +01936 CGroupType *<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a> = (CGroupType *) o; +01937 std::string <a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>(((<a class="code" href="classNLAIAGENT_1_1CStringType.html">NLAIAGENT::CStringType</a> *)<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>->get())->getStr().getString()); +01938 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a6">addSet</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>); +01939 +01940 <font class="keywordflow">return</font> <a class="code" href="structNLAIAGENT_1_1IObjectIA_1_1CProcessResult.html">NLAIAGENT::IObjectIA::CProcessResult</a>(); +01941 } +01942 +01943 <font class="keywordflow">default</font>: +01944 <font class="keywordflow">return</font> IAgent::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,o); +01945 } +01946 } +01947 +<a name="l01948"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_13">01948</a> std::string CAgentScript::getMethodeMemberDebugString(sint32 h, sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>)<font class="keyword"> const</font> +01949 <font class="keyword"> </font>{ +01950 <font class="keywordtype">int</font> i = <a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a> - <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z143_0">getBaseMethodCount</a>(); +01951 <font class="keywordflow">if</font>(i >= 0) +01952 { +01953 std::string name; +01954 <font class="keywordflow">if</font>(h) +01955 { +01956 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(h,i).getName().getDebugString(name); +01957 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(h,i).getParam().getDebugString(name); +01958 } +01959 <font class="keywordflow">else</font> +01960 { +01961 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(i).getName().getDebugString(name); +01962 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(i).getParam().getDebugString(name); +01963 } +01964 <font class="keywordflow">return</font> name; +01965 } +01966 +01967 <font class="keywordflow">switch</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a> - IAgent::getMethodIndexSize()) +01968 { +01969 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s0">TSend</a>: +01970 { +01971 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::sendMessage(IMessage)"</font>); +01972 } +01973 +01974 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s1">TSendComponent</a>: +01975 { +01976 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::sendMessage(String,IMessage)"</font>); +01977 } +01978 +01979 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s2">TGetChildTag</a>: +01980 { +01981 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::getDynamicAgent(String)"</font>); +01982 } +01983 +01984 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s3">TAddChildTag</a>: +01985 { +01986 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::addDynamicAgent(String,IAgent)"</font>); +01987 } +01988 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s5">TFather</a>: +01989 { +01990 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::Father()"</font>); +01991 } +01992 +01993 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s6">TSelf</a>: +01994 { +01995 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::Self()"</font>); +01996 } +01997 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s7">TGetName</a>: +01998 { +01999 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::GetAgentName()"</font>); +02000 } +02001 +02002 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s12">TRunAskParentNotify</a>: +02003 { +02004 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runAskParentNotify(CNotifyParent)"</font>); +02005 } +02006 +02007 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s13">TRunTellParentNotify</a>: +02008 { +02009 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runTellarentNotify(CNotifyParent)"</font>); +02010 } +02011 +02012 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s11">TRunAskComponent</a>: +02013 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s10">TRunTellComponent</a>: +02014 { +02015 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runTell/AskCompoment(MsgTellCompoment)"</font>); +02016 } +02017 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s14">TSetStatic</a>: +02018 { +02019 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::updateStaticMember(String, IObjectIA *)"</font>); +02020 } +02021 +02022 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s15">TGetValue</a>: +02023 { +02024 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runAskGetValue(MsgGetValue)"</font>); +02025 } +02026 +02027 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s16">TSetValue</a>: +02028 { +02029 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runTellSetValue(MsgGetValue)"</font>); +02030 } +02031 +02032 <font class="keywordflow">case</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s18">TInitComponent</a>: +02033 { +02034 <font class="keywordflow">return</font> std::string(<font class="stringliteral">"CAgentScript::runInitComponent(MsgGetValue)"</font>); +02035 } +02036 +02037 +02038 <font class="keywordflow">default</font>: +02039 <font class="keywordflow">return</font> IAgentManager::getMethodeMemberDebugString(h,<a class="code" href="driver__opengl__extension__def_8h.html#a356">id</a>); +02040 } +02041 } +02042 +<a name="l02043"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z143_0">02043</a> <font class="keywordtype">int</font> CAgentScript::getBaseMethodCount()<font class="keyword"> const</font> +02044 <font class="keyword"> </font>{ +02045 <font class="keywordflow">return</font> IAgentManager::getBaseMethodCount() + CAgentScript::TLastM; +02046 } +02047 +<a name="l02048"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_23">02048</a> IObjectIA::CProcessResult CAgentScript::runMethodeMember(sint32 inheritance, sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, IObjectIA *c) +02049 { +02050 +02051 <font class="keywordflow">if</font>(c->getType() != <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#p0">NLAISCRIPT::CCodeContext::IdCodeContext</a>) +02052 { +02053 <font class="keywordflow">return</font> IAgent::runMethodeMember(inheritance,<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, c); +02054 } +02055 +02056 <a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *opPtr = NULL; +02057 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &context = (<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &)*c; +02058 +02059 <font class="keywordtype">int</font> i = <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z143_0">getBaseMethodCount</a>(); +02060 <font class="keywordflow">if</font>(i < 0) +02061 { +02062 <font class="comment">/*if (context.ContextDebug.Active)</font> +02063 <font class="comment"> {</font> +02064 <font class="comment"> context.ContextDebug.Param.push_back(&listBidon);</font> +02065 <font class="comment"> listBidon.incRef();</font> +02066 <font class="comment"> }*/</font> +02067 +02068 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_11">runMethodBase</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,(<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m5">Param</a>.back()); +02069 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result != NULL) +02070 { +02071 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>++; +02072 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>[(int)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>] = <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result; +02073 } +02074 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +02075 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02076 } +02077 <font class="keywordflow">else</font> +02078 { +02079 opPtr = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_15">getMethode</a>(inheritance,i); +02080 } +02081 +02082 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02083 <font class="keywordflow">if</font>(opPtr != NULL) +02084 { +02085 <font class="preprocessor">#ifdef NL_DEBUG</font> +02086 <font class="preprocessor"></font> std::string nameDbg; +02087 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(inheritance,i).getName().getDebugString(nameDbg); +02088 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>(inheritance,i).getParam().getDebugString(nameDbg); +02089 <font class="preprocessor">#endif</font> +02090 <font class="preprocessor"></font> <a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> &op = *opPtr; +02091 <a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *opTmp = context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02092 <font class="keywordtype">int</font> ip = (uint32)*context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02093 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = (<a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *)&op; +02094 *context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = 0; +02095 +02096 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = ((<a class="code" href="classNLAISCRIPT_1_1ICodeBranche.html">NLAISCRIPT::ICodeBranche</a> *)opPtr)->run(context); +02097 <font class="comment">// If we are in Debug Mode</font> +02098 <font class="keywordflow">if</font> (context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m6">ContextDebug</a>.Active) +02099 { +02100 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m6">ContextDebug</a>.callStackPop(); +02101 } +02102 *context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = ip; +02103 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = opTmp; +02104 } +02105 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02106 } +02107 +<a name="l02108"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_24">02108</a> IObjectIA::CProcessResult CAgentScript::runMethodeMember(sint32 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, IObjectIA *c) +02109 { +02110 <font class="keywordflow">if</font>(c->getType() != <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#p0">NLAISCRIPT::CCodeContext::IdCodeContext</a>) +02111 { +02112 <font class="keywordflow">return</font> IAgent::runMethodeMember(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>, c); +02113 } +02114 +02115 <a class="code" href="classNLAISCRIPT_1_1IOpCode.html">NLAISCRIPT::IOpCode</a> *opPtr = NULL; +02116 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &context = (<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> &)*c; +02117 +02118 <font class="keywordtype">int</font> i = <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> - <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z143_0">getBaseMethodCount</a>(); +02119 <font class="keywordflow">if</font>(i < 0) +02120 { +02121 <font class="comment">/*if (context.ContextDebug.Active)</font> +02122 <font class="comment"> {</font> +02123 <font class="comment"> context.ContextDebug.Param.push_back(&listBidon);</font> +02124 <font class="comment"> listBidon.incRef();</font> +02125 <font class="comment"> }*/</font> +02126 +02127 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_11">runMethodBase</a>(<a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a>,(<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m5">Param</a>.back()); +02128 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result != NULL) +02129 { +02130 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>++; +02131 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>[(int)context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m0">Stack</a>] = <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result; +02132 } +02133 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.Result = NULL; +02134 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02135 } +02136 <font class="keywordflow">else</font> +02137 { +02138 opPtr = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z142_15">getMethode</a>(i); +02139 } +02140 IObjectIA::CProcessResult <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02141 <font class="keywordflow">if</font>(opPtr != NULL) +02142 { +02143 <a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *opTmp = context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02144 <font class="keywordtype">int</font> ip; +02145 <font class="keywordflow">if</font>(context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> != NULL) ip = (uint32)*context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02146 <font class="keywordflow">else</font> ip =0; +02147 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = (<a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *)opPtr; +02148 *context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = 0; +02149 +02150 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = ((<a class="code" href="classNLAISCRIPT_1_1ICodeBranche.html">NLAISCRIPT::ICodeBranche</a> *)opPtr)->run(context); +02151 +02152 <font class="comment">// If we are in Debug Mode</font> +02153 <font class="keywordflow">if</font> (context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m6">ContextDebug</a>.Active) +02154 { +02155 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m6">ContextDebug</a>.callStackPop(); +02156 } +02157 +02158 *context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = ip; +02159 context.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = opTmp; +02160 } +02161 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02162 } +02163 +<a name="l02164"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_18">02164</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> CAgentScript::getPrivateMember(<font class="keyword">const</font> IVarName *className,<font class="keyword">const</font> IVarName *methodName,<font class="keyword">const</font> IObjectIA &<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)<font class="keyword"> const</font> +02165 <font class="keyword"> </font>{ +02166 +02167 <font class="preprocessor">#ifdef NL_DEBUG</font> +02168 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> *dgb_meth_name = methodName->getString(); +02169 <font class="preprocessor">#endif</font> +02170 <font class="preprocessor"></font> <font class="keywordflow">return</font> <a class="code" href="namespaceNLAIAGENT.html#a42">isTemplateMember</a>(CAgentScript::StaticMethod,CAgentScript::TLastM,IAgent::getMethodIndexSize(),className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02171 } +02172 +<a name="l02173"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_19">02173</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> CAgentScript::isMember(<font class="keyword">const</font> IVarName *className,<font class="keyword">const</font> IVarName *methodName,<font class="keyword">const</font> IObjectIA &<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)<font class="keyword"> const</font> +02174 <font class="keyword"> </font>{ +02175 +02176 +02177 <font class="keywordflow">if</font>(className == NULL) +02178 { +02179 +02180 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02181 <font class="keywordflow">if</font>(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a> != NULL) +02182 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_6">getPrivateMember</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02183 +02184 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +02185 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02186 <font class="keywordflow">else</font> +02187 { +02188 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_18">getPrivateMember</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02189 <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>; +02190 <font class="keywordflow">else</font> +02191 { +02192 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = IAgent::isMember(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02193 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +02194 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02195 <font class="keywordflow">else</font> +02196 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_20">isDeflautProccessMsg</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02197 } +02198 } +02199 +02200 } +02201 <font class="keywordflow">else</font> +02202 <font class="keywordflow">if</font>(*className == CStringVarName(<font class="stringliteral">"Agent"</font>)) +02203 { +02204 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02205 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_18">getPrivateMember</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02206 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +02207 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02208 <font class="keywordflow">else</font> +02209 { +02210 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_6">getPrivateMember</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02211 +02212 <font class="keywordflow">if</font> ( <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size() ) +02213 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02214 <font class="keywordflow">else</font> +02215 { +02216 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a> = IAgent::isMember(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02217 <font class="keywordflow">if</font>(<a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.size()) +02218 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02219 <font class="keywordflow">else</font> +02220 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_20">isDeflautProccessMsg</a>(className,methodName,<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>); +02221 } +02222 } +02223 +02224 } +02225 <font class="keywordflow">return</font> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a>(); +02226 } +02227 +<a name="l02228"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_20">02228</a> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> CAgentScript::isDeflautProccessMsg(<font class="keyword">const</font> IVarName *className,<font class="keyword">const</font> IVarName *methodName,<font class="keyword">const</font> IObjectIA &<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>)<font class="keyword"> const</font> +02229 <font class="keyword"> </font>{ +02230 <font class="keyword">const</font> <font class="keywordtype">char</font> *name = methodName->getString(); +02231 <font class="keywordflow">if</font>(name[0] == <font class="charliteral">'R'</font> && name[1] == <font class="charliteral">'u'</font> && name[2] == <font class="charliteral">'n'</font>) +02232 { +02233 <font class="keyword">static</font> CStringVarName runMsgName[7] = {<font class="stringliteral">"RunTell"</font>, <font class="stringliteral">"RunAchieve"</font>, <font class="stringliteral">"RunAsk"</font>, <font class="stringliteral">"RunExec"</font>, <font class="stringliteral">"RunBreak"</font>, <font class="stringliteral">"RunKill"</font>, <font class="stringliteral">"RunError"</font>}; +02234 sint i; +02235 <font class="keywordflow">for</font>(i = 0; i < 7; i ++) +02236 { +02237 <font class="keywordflow">if</font>(*methodName == runMsgName[i]) +02238 { +02239 <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02240 CObjectType *c = <font class="keyword">new</font> CObjectType(<font class="keyword">new</font> <a class="code" href="classNLAIC_1_1CIdentType.html">NLAIC::CIdentType</a>(<a class="code" href="classNLAIC_1_1CIdentType.html#p0">NLAIC::CIdentType::VoidType</a>)); +02241 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.push(CIdMethod(<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#s25s17">TDeflautProccessMsg</a> + IAgent::getMethodIndexSize(),0.0,NULL,c)); +02242 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02243 } +02244 } +02245 } +02246 +02247 <font class="keywordflow">return</font> <a class="code" href="namespaceNLAIAGENT.html#a1">tQueue</a>(); +02248 } +02249 +<a name="l02250"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_21">02250</a> sint32 CAgentScript::isClassInheritedFrom(<font class="keyword">const</font> IVarName &name)<font class="keyword"> const</font> +02251 <font class="keyword"> </font>{ +02252 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z234_0">isClassInheritedFrom</a>( name ); +02253 } +02254 +<a name="l02255"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z144_15">02255</a> sint32 CAgentScript::getStaticMemberIndex(<font class="keyword">const</font> IVarName &name)<font class="keyword"> const</font> +02256 <font class="keyword"> </font>{ +02257 <font class="keywordflow">return</font> <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n4">_AgentClass</a>-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a23">getInheritedStaticMemberIndex</a>(name); +02258 } +02259 +02260 NLAIAGENT::tQueue <a class="code" href="namespaceNLAIAGENT.html#a42">isTemplateMember</a>( CAgentScript::CMethodCall **StaticMethod,<font class="keywordtype">int</font> count,<font class="keywordtype">int</font> shift, +02261 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *className, +02262 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IVarName.html">NLAIAGENT::IVarName</a> *methodName, +02263 <font class="keyword">const</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a382">param</a>) +02264 { +02265 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = count; +02266 <font class="keywordtype">int</font> i; +02267 +02268 <font class="keywordflow">for</font>(i = 0; i < count; i ++) +02269 { +02270 <font class="keywordflow">if</font>(StaticMethod[i]->MethodName == *methodName) +02271 { +02272 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = StaticMethod[i]->Index; +02273 <font class="keywordflow">switch</font>(StaticMethod[i]->CheckArgType) +02274 { +02275 <font class="keywordflow">case</font> CAgentScript::CheckAll: +02276 { +02277 <font class="keywordtype">double</font> d = ((<a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> &)*StaticMethod[i]->ArgType).eval((<a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> &)param); +02278 <font class="keywordflow">if</font>(d >= 0.0) +02279 { +02280 NLAIAGENT::tQueue <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02281 StaticMethod[i]->ReturnValue->incRef(); +02282 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.push(<a class="code" href="structNLAIAGENT_1_1CIdMethod.html">NLAIAGENT::CIdMethod</a>( (shift + StaticMethod[i]->Index), +02283 0.0, +02284 NULL, +02285 StaticMethod[i]->ReturnValue)); +02286 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02287 } +02288 } +02289 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = count; +02290 <font class="keywordflow">break</font>; +02291 +02292 +02293 <font class="keywordflow">case</font> CAgentScript::CheckCount: +02294 { +02295 <font class="keywordflow">if</font>(((<a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a> &)param).size() == StaticMethod[i]->ArgCount) +02296 { +02297 NLAIAGENT::tQueue <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02298 StaticMethod[i]->ReturnValue->incRef(); +02299 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.push(<a class="code" href="structNLAIAGENT_1_1CIdMethod.html">NLAIAGENT::CIdMethod</a>( (shift + StaticMethod[i]->Index), +02300 0.0, +02301 NULL, +02302 StaticMethod[i]->ReturnValue )); +02303 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02304 } +02305 } +02306 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = count; +02307 <font class="keywordflow">break</font>; +02308 +02309 <font class="keywordflow">case</font> CAgentScript::DoNotCheck: +02310 { +02311 NLAIAGENT::tQueue <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02312 StaticMethod[i]->ReturnValue->incRef(); +02313 <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>.push(<a class="code" href="structNLAIAGENT_1_1CIdMethod.html">NLAIAGENT::CIdMethod</a>( (shift + StaticMethod[i]->Index), +02314 0.0, +02315 NULL, +02316 StaticMethod[i]->ReturnValue)); +02317 <font class="keywordflow">return</font> <a class="code" href="driver__opengl__extension__def_8h.html#a385">r</a>; +02318 } +02319 <a class="code" href="driver__opengl__extension__def_8h.html#a358">index</a> = count; +02320 <font class="keywordflow">break</font>; +02321 } +02322 } +02323 } +02324 <font class="keywordflow">return</font> <a class="code" href="namespaceNLAIAGENT.html#a1">NLAIAGENT::tQueue</a>(); +02325 } +02326 +<a name="l02327"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#b0">02327</a> <font class="keywordtype">void</font> CAgentScript::createComponents(<a class="code" href="classstd_1_1list.html">std::list<IObjectIA *></a> &<a class="code" href="driver__opengl__extension__def_8h.html#a413">components</a>) +02328 { +02329 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> = components.size(); +02330 <font class="keywordflow">if</font> ( _NbComponents ) +02331 { +02332 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = <font class="keyword">new</font> <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *[ <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n1">_NbComponents</a> ]; +02333 <a class="code" href="classstd_1_1list.html">std::list<IObjectIA *></a>::iterator it_c = components.begin(); +02334 <font class="keywordtype">int</font> id_c = 0; +02335 <font class="keywordflow">while</font> ( it_c != components.end() ) +02336 { +02337 <a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *o = (<a class="code" href="classNLAIAGENT_1_1IObjectIA.html#b0">IObjectIA</a> *)*it_c; +02338 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a>[id_c] = o; +02339 +02340 uint b = <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s5">NLAIC::CTypeOfObject::tInterpret</a> | <a class="code" href="classNLAIC_1_1CTypeOfObject.html#s12s4">NLAIC::CTypeOfObject::tAgent</a>; +02341 <font class="keyword">const</font> <a class="code" href="classNLAIC_1_1CTypeOfObject.html">NLAIC::CTypeOfObject</a> &<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = o->getType(); +02342 +02343 <font class="keywordflow">if</font>((t.<a class="code" href="classNLAIC_1_1CBinaryType.html#a5">getValue</a>() & b) == b) +02344 { +02345 ((<a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a1">CAgentScript</a> *)o)->setParent( (<font class="keyword">const</font> IWordNumRef *) *<font class="keyword">this</font>); +02346 } +02347 +02348 it_c++; +02349 id_c++; +02350 } +02351 } +02352 <font class="keywordflow">else</font> +02353 <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#n0">_Components</a> = NULL; +02354 } +02355 +<a name="l02356"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a19">02356</a> <font class="keywordtype">void</font> CAgentScript::callConstructor() +02357 { +02358 <a class="code" href="classNLAIAGENT_1_1CStringVarName.html">NLAIAGENT::CStringVarName</a> constructor_func_name(<font class="stringliteral">"Constructor"</font>); +02359 sint32 id_func = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a15">getClass</a>()-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a28">findMethod</a>( constructor_func_name, <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>() ); +02360 +02361 <font class="preprocessor">#ifdef NL_DEBUG</font> +02362 <font class="preprocessor"></font> +02363 <font class="keyword">const</font> <font class="keywordtype">char</font> * ttt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +02364 <font class="preprocessor">#endif</font> +02365 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( id_func != -1 ) +02366 { +02367 <a class="code" href="classNLAISCRIPT_1_1CStackPointer.html">NLAISCRIPT::CStackPointer</a> stack; +02368 <a class="code" href="classNLAISCRIPT_1_1CStackPointer.html">NLAISCRIPT::CStackPointer</a> heap; +02369 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> codeContext(stack, heap, NULL, <font class="keyword">this</font>, <a class="code" href="classNLAISCRIPT_1_1CCallPrint.html#p1">NLAISCRIPT::CCallPrint::inputOutput</a>); +02370 codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = <font class="keyword">this</font>; +02371 <a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *o = (<a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a15">getClass</a>()-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>( id_func ).getCode(); +02372 codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = o; +02373 <font class="keywordtype">int</font> ip; +02374 <font class="keywordflow">if</font>(codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> != NULL) ip = (uint32)*codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02375 <font class="keywordflow">else</font> ip =0; +02376 +02377 *codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = 0; +02378 +02379 (void)o-><a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html#z209_0">run</a>(codeContext); +02380 +02381 *codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = ip; +02382 +02383 } +02384 } +02385 +<a name="l02386"></a><a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a0">02386</a> <font class="keywordtype">void</font> CAgentScript::callFunction(std::string &f_name, <a class="code" href="classNLAIAGENT_1_1IObjectIA.html">NLAIAGENT::IObjectIA</a> *p) +02387 { +02388 <a class="code" href="classNLAIAGENT_1_1CStringVarName.html">NLAIAGENT::CStringVarName</a> func_name( f_name.c_str() ); +02389 sint32 id_func = <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a15">getClass</a>()-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#a28">findMethod</a>( func_name, <a class="code" href="classNLAISCRIPT_1_1CParam.html">NLAISCRIPT::CParam</a>() ); +02390 +02391 <font class="preprocessor">#ifdef NL_DEBUG</font> +02392 <font class="preprocessor"></font> <font class="keyword">const</font> <font class="keywordtype">char</font> * ttt = (<font class="keyword">const</font> <font class="keywordtype">char</font> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#z145_5">getType</a>(); +02393 <font class="preprocessor">#endif</font> +02394 <font class="preprocessor"></font> <font class="keywordflow">if</font> ( id_func != -1 ) +02395 { +02396 <a class="code" href="classNLAISCRIPT_1_1CStackPointer.html">NLAISCRIPT::CStackPointer</a> stack; +02397 <a class="code" href="classNLAISCRIPT_1_1CStackPointer.html">NLAISCRIPT::CStackPointer</a> heap; +02398 <a class="code" href="classNLAISCRIPT_1_1CCodeContext.html">NLAISCRIPT::CCodeContext</a> codeContext(stack, heap, NULL, <font class="keyword">this</font>, <a class="code" href="classNLAISCRIPT_1_1CCallPrint.html#p1">NLAISCRIPT::CCallPrint::inputOutput</a>); +02399 codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m3">Self</a> = <font class="keyword">this</font>; +02400 <a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *o = (<a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html">NLAISCRIPT::CCodeBrancheRun</a> *) <a class="code" href="classNLAIAGENT_1_1CAgentScript.html#a15">getClass</a>()-><a class="code" href="classNLAISCRIPT_1_1CAgentClass.html#z232_1">getBrancheCode</a>( id_func ).getCode(); +02401 codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = o; +02402 <font class="keywordtype">int</font> ip; +02403 <font class="keywordflow">if</font>(codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> != NULL) ip = (uint32)*codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a>; +02404 <font class="keywordflow">else</font> ip =0; +02405 +02406 *codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = 0; +02407 +02408 (void)o-><a class="code" href="classNLAISCRIPT_1_1CCodeBrancheRun.html#z209_0">run</a>(codeContext); +02409 +02410 *codeContext.<a class="code" href="classNLAISCRIPT_1_1CCodeContext.html#m2">Code</a> = ip; +02411 +02412 } +02413 } +02414 } +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |