From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a02160.html | 5168 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5168 insertions(+) create mode 100644 docs/doxygen/nel/a02160.html (limited to 'docs/doxygen/nel/a02160.html') diff --git a/docs/doxygen/nel/a02160.html b/docs/doxygen/nel/a02160.html new file mode 100644 index 00000000..b195730b --- /dev/null +++ b/docs/doxygen/nel/a02160.html @@ -0,0 +1,5168 @@ + + +NeL: NLAIAGENT::CActor class Reference + + + +
+

NLAIAGENT::CActor Class Reference

#include <actor.h> +

+

Inheritance diagram for NLAIAGENT::CActor: +

+ +NLAIAGENT::IAgent +NLAIAGENT::IAgentComposite +NLAIAGENT::IBasicAgent +NLAIAGENT::IConnectIA +NLAIAGENT::IRefrence +NLAIAGENT::IObjectIA +NLAIAGENT::IBasicObjectIA +NLAIC::IBasicInterface +NLAIC::IBasicType +NLAIC::IPointerGestion +NLMISC::IStreamable +NLMISC::IClassable + +

Detailed Description

+Class Actor You can think of activation as a set of tokens passed between actors. The number of tokens isn't fixed, which means one transition can activate more than one actor. An actor has a list of conditions under which he's going to pass activation to other actors. A simple state machine is a particular case in which there's always only one token for all actors. If a run() is defined, the actor becomes an active agent with an activity at each cycle. +

+ +

+Definition at line 46 of file actor.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Base class member method.

virtual const NLAIC::IBasicTypeclone () const
virtual void getDebugString (std::string &t) const
virtual sint32 getMethodIndexSize () const
virtual const NLAIC::CIdentTypegetType () const
virtual bool isEqual (const IBasicObjectIA &a) const
 Implementation of the isEqual of the IBasicObjectIA.

virtual TQueue isMember (const NLAIAGENT::IVarName *, const NLAIAGENT::IVarName *, const IObjectIA &) const
virtual void load (NLMISC::IStream &is)
virtual const NLAIC::IBasicTypenewInstance () const
virtual void processMessages ()
virtual const CProcessResult & run ()
virtual IObjectIA::CProcessResult runMethodeMember (sint32, IObjectIA *)
virtual void save (NLMISC::IStream &os)
const NLAIC::CIdentType IdActor

Some IObjectIA method.

virtual TQueue isMember (const IVarName *, const IVarName *, const IObjectIA &) const
virtual CProcessResult runMethodeMember (sint32, sint32, IObjectIA *)

Some IBasicAgent method.

virtual void runChildren ()
virtual bool runChildrenStepByStep ()
 Activates the child agents.


Public Member Functions

void activate ()
 Activates the actor.

void addTransition (NLAILOGIC::IBaseCond *, std::vector< CActor * > &, bool)
 Adds a transition, ie a condition and a list of newly activated agents.

 CActor (const CActor &)
 copy constructor

 CActor (IAgent *, bool activated=false)
 Builds and actor with its father.

 CActor ()
 Default constructor.

virtual TQueue canProcessMessage (const IVarName &)
void connect (IConnectIA *b)
sint32 decRef ()
 Decrement the reference of an object.

virtual sint getChildCoun () const
virtual const CIdent getIdentType () const
virtual const std::string getInfo ()
IMailBoxgetMail () const
 Get the mail box letter.

virtual std::string getMethodeMemberDebugString (sint32, sint32) const
virtual const IRefrencegetOwner () const
 To get the top level parent of this agent.

IConnectIAgetParent () const
 to get the agent parents

const sint32getRef () const
 get the refence count.

virtual const CProcessResult & getState () const
 Get the curent state of the agent.

const IObjectIAgetStaticMember (const IVarName &compName) const
virtual const IObjectIAgetStaticMember (sint32) const
virtual sint32 getStaticMemberIndex (const IVarName &) const
virtual sint32 getStaticMemberSize () const
virtual bool haveActivity () const
 allow to know if the agent have an activity process to run.

void incRef ()
 Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

virtual void init (IObjectIA *)
bool isActivated ()
 Returns true if the actor has a token.

virtual sint32 isClassInheritedFrom (const IVarName &) const
virtual bool isLocal ()
 If the result is true the object is loclal else its a representation of an object on the server. By the method return true.

virtual void Kill ()
 Call this function to destroy an agent including its referneces in other agents and its childs.

virtual void onActivate ()
 Callback called at the activation of the actor.

virtual void onKill (IConnectIA *A)
 Called by an agent who's destroyed te remove its references.

virtual void onUnActivate ()
 Callback called when the agent is unactivated.

 operator const IWordNumRef & () const
 to get a word num ref of the agents.

 operator const IWordNumRef * () const
 to get a word num ref pointer of the agents.

bool operator== (const IBasicObjectIA &classType) const
virtual void release ()
 Release allow to release the pointer. The last release when the _Ref is nul delete the object.

void removeConnection (IConnectIA *Agent)
 To release a connection.

virtual IObjectIA::CProcessResult runActivity ()
 Mailer do'nt have own activity.

virtual CProcessResult sendMessage (const IVarName &, IObjectIA *)
virtual IObjectIA::CProcessResult sendMessage (IObjectIA *m)
virtual IObjectIA::CProcessResult sendMessage (IMessageBase *msg, IBasicAgent &receiver)
 Send message to an receiver agent.

virtual IObjectIA::CProcessResult sendMessage (IMessageBase *msg)
 Send a message to the agent.

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
virtual void setParent (const IWordNumRef *parent)
 to set the parent of the agents.

virtual void setState (TProcessStatement s, IObjectIA *result)
 Set the state of an agent.

virtual bool setStaticMember (sint32, IObjectIA *)
bool setStaticMember (const IVarName &compName, IObjectIA *change)
void setTypeAt (uint64 t)
 That function allow user to change the 7 bit of the type field in the sid agent number;.

void unActivate ()
 Unactivates the actor.

 ~CActor ()

Static Public Attributes

const NLAIC::CIdentTypeIdAgent = NULL
TProcessStatement ProcessBuzzy = processBuzzy
TProcessStatement ProcessEnd = processEnd
TProcessStatement ProcessError = processError
TProcessStatement ProcessIdle = processIdle
TProcessStatement ProcessLocked = processLocked
CProcessResult ProcessNotComplit = IObjectIA::CProcessResult(processNotComplete)
CProcessResult ProcessRun = IObjectIA::CProcessResult()

Protected Types

enum  c_funcs_id { fid_activate, +fid_unActivate, +fid_forwardActivity + }

Protected Member Functions

void connectLoadStream (NLMISC::IStream &is)
virtual void forwardActivity (std::vector< CActor * > &, bool stay_active=false)
virtual void forwardActivity (CActor *, bool stay_active=false)
void refLoadStream (NLMISC::IStream &is)
 the loader of the class.

virtual IObjectIArun (const IMessageBase &m)
virtual IMessageBaserunAchieve (const IMessageBase &m)
virtual IMessageBaserunAsk (const IMessageBase &m)
virtual IMessageBaserunBreak (const IMessageBase &m)
virtual IMessageBaserunError (const IMessageBase &m)
virtual IMessageBaserunEven (const IMessageBase &m)
virtual IMessageBaserunExec (const IMessageBase &m)
virtual IMessageBaserunKill (const IMessageBase &m)
virtual IMessageBaserunService (const IMessageBase &m)
virtual IMessageBaserunTell (const IMessageBase &m)
void setNumRef (const IWordNumRef &ref)

Protected Attributes

TBasicList _AgentList
TListIBasic _Connected
TListIBasic _Connection
bool _IsActivated
IMailBox_Mail
 Box letter for communication service.

CProcessResult _RunState
 Internal state of the agent.

sint _SizeChild
+


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NLAIAGENT::CActor::c_funcs_id [protected] +
+
+ + + + + +
+   + + +

+

Enumeration values:
+ + + + +
fid_activate  +
fid_unActivate  +
fid_forwardActivity  +
+
+ +

+Definition at line 50 of file actor.h. +

+

00051                         {
+00052                                 fid_activate,
+00053                                 fid_unActivate,
+00054                                 fid_forwardActivity
+00055                         };
+
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NLAIAGENT::CActor::CActor  ) 
+
+ + + + + +
+   + + +

+Default constructor. +

+ +

+Definition at line 8 of file actor.cpp. +

+Referenced by clone(), and newInstance(). +

+

00008                        : IAgent(NULL)
+00009         {
+00010         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
NLAIAGENT::CActor::CActor IAgent,
bool  activated = false
+
+ + + + + +
+   + + +

+Builds and actor with its father. +

+ +

+Definition at line 13 of file actor.cpp. +

+References _IsActivated. +

+

00013                                                      : IAgent( father )
+00014         {
+00015                 _IsActivated = activated;
+00016         }
+
+

+ + + + +
+ + + + + + + + + + +
NLAIAGENT::CActor::CActor const CActor  ) 
+
+ + + + + +
+   + + +

+copy constructor +

+ +

+Definition at line 19 of file actor.cpp. +

+References _IsActivated. +

+

00019                                       : IAgent( c )
+00020         {
+00021                 _IsActivated = c._IsActivated;
+00022         }
+
+

+ + + + +
+ + + + + + + + + +
NLAIAGENT::CActor::~CActor  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 24 of file actor.cpp. +

+

00025         {
+00026 //              for (int i = 0; i < c._Transitions.size(); i++ )
+00027                 //      _Transitions[i]->release();
+00028         }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::CActor::activate  ) 
+
+ + + + + +
+   + + +

+Activates the actor. +

+ +

+Definition at line 37 of file actor.cpp. +

+References _IsActivated, and onActivate(). +

+Referenced by forwardActivity(), and runMethodeMember(). +

+

00038         {
+00039                 if ( !_IsActivated )
+00040                 {
+00041                         onActivate();
+00042                         _IsActivated = true;
+00043                 }
+00044         }
+
+

+ + + + +
+ + + + + + + + + + +
std::list< IBasicAgent * >::iterator NLAIAGENT::IAgentComposite::addChild IBasicAgent p  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Add a child to the agent. Child is added in a std::list<IBasicAgent *>. The method return the range of the child in the list. +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail. +

+Definition at line 67 of file basic_agent.cpp. +

+References NLAIAGENT::IAgentComposite::_AgentList, NLAIAGENT::IAgentComposite::_SizeChild, NLAIAGENT::IMailBox::addMailBox(), NLAIAGENT::IBasicAgent::getMail(), and NLAIC::IPointerGestion::incRef(). +

+Referenced by NLAIAGENT::CAgentScript::addDynamicAgent(), NLAIAGENT::IAgentComposite::IAgentComposite(), and NLAIAGENT::IAgentComposite::load(). +

+

00068         {                       
+00069                 p->incRef();
+00070                 _AgentList.push_front((IBasicAgent *)p);
+00071                 // Donne au fils accès à la boite aux lettres du père
+00072                 p->getMail()->addMailBox( this->getMail() );
+00073                 _SizeChild ++;
+00074 
+00075                 return _AgentList.begin();
+00076         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::addInConnectedList const IConnectIA a  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 595 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::_Connected. +

+Referenced by NLAIAGENT::IConnectIA::connect(), and NLAIAGENT::IConnectIA::connectLoadStream(). +

+

00596         {
+00597                 _Connected.insert(a);
+00598         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::addInConnectionList const IConnectIA a  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 572 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::_Connection. +

+Referenced by NLAIAGENT::IConnectIA::connect(), and NLAIAGENT::IConnectIA::connectLoadStream(). +

+

00573         {
+00574                 _Connection.insert(a);
+00575         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NLAIAGENT::CActor::addTransition NLAILOGIC::IBaseCond,
std::vector< CActor * > & ,
bool 
+
+ + + + + +
+   + + +

+Adds a transition, ie a condition and a list of newly activated agents. +

+ +

+Definition at line 84 of file actor.cpp. +

+

00085         {
+00086 
+00087         }
+
+

+ + + + +
+ + + + + + + + + + +
TQueue NLAIAGENT::IObjectIA::canProcessMessage const IVarName  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+The method canProcessMessage(const IVarName &msgName) allow us to know if agent can preocess given by msgName.

+TQueue contain the liste of method (same as a run(msg)) that coud process the msg. +

+Reimplemented in NLAIAGENT::CLocalAgentMail. +

+Definition at line 350 of file baseai.cpp. +

+References NLAIAGENT::TQueue. +

+Referenced by NLAIAGENT::CLocalAgentMail::canProcessMessage(). +

+

00351         {
+00352                 return TQueue();
+00353         }
+
+

+ + + + +
+ + + + + + + + + +
const NLAIC::IBasicType * NLAIAGENT::CActor::clone  )  const [virtual]
+
+ + + + + +
+   + + +

+This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 105 of file actor.cpp. +

+References CActor(). +

+

00106         {               
+00107                 CActor *m = new CActor(*this);
+00108                 return m;
+00109         }               
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::connect IConnectIA b  )  [inherited]
+
+ + + + + +
+   + + +

+When agent want to make connection he have to call this method to connect to an agent. When it call the B object is added in the connection list. +

+Definition at line 555 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::addInConnectedList(), and NLAIAGENT::IConnectIA::addInConnectionList(). +

+Referenced by NLAIAGENT::CAgentWatchTimer::addAttrib(), NLAIAGENT::IAgentInput::addInputConnection(), NLAIAGENT::CLocalMailBox::addMailBox(), NLAIAGENT::CAgentWatchTimer::CAgentWatchTimer(), NLAIAGENT::CLocalAgentMail::CLocalAgentMail(), NLAIAGENT::CAgentOperation::connectOnChange(), and NLAIAGENT::IConnectIA::setParent(). +

+

00556         {
+00557                 b->addInConnectedList(this);
+00558                 addInConnectionList(b);
+00559         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::connectLoadStream NLMISC::IStream is  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 521 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::addInConnectedList(), NLAIAGENT::IConnectIA::addInConnectionList(), num, NLMISC::IStream::serial(), and sint32. +

+Referenced by NLAIAGENT::IConnectIA::IConnectIA(), and NLAIAGENT::IConnectIA::load(). +

+

00522         {
+00523                 IRefrence::refLoadStream(is);
+00524                 NLAIC::CIdentTypeAlloc id;
+00525                 sint32 i;
+00526                 is.serial( i );
+00527 
+00528                 if(i)
+00529                 {
+00530                         while(i --)
+00531                         {                                       
+00532                                 is >> id;
+00533                                 IWordNumRef *num = (IWordNumRef *)id.allocClass();
+00534                                 num->load(is);
+00535                                 addInConnectionList((IConnectIA *)((const IRefrence *)*num));
+00536                                 delete num; 
+00537                         }
+00538                 }
+00539 
+00540                 
+00541                 is.serial(i);
+00542                 if(i)
+00543                 {
+00544                         while(i--)
+00545                         {
+00546                                 is >> id;                                       
+00547                                 IWordNumRef *num = (IWordNumRef *)id.allocClass();
+00548                                 num->load(is);
+00549                                 addInConnectedList((IConnectIA *)((const IRefrence *)*num));
+00550                                 delete num;
+00551                         }
+00552                 }
+00553         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IAgentComposite::cpyChild const IBasicAgent p  )  [inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 78 of file basic_agent.cpp. +

+References NLAIAGENT::IAgentComposite::_AgentList, NLAIAGENT::IAgentComposite::_SizeChild, and NLAIC::IBasicType::clone(). +

+

00079         {
+00080                 _AgentList.push_front((IBasicAgent *)p.clone());
+00081                 _SizeChild ++;
+00082         }
+
+

+ + + + +
+ + + + + + + + + +
sint32 NLAIC::IPointerGestion::decRef  )  [inline, inherited]
+
+ + + + + +
+   + + +

+Decrement the reference of an object. +

+ +

+Definition at line 93 of file abstract_interface.h. +

+References NLAIC::IPointerGestion::_Ref, and sint32. +

+Referenced by NLAIC::IPointerGestion::release(), and NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(). +

+

00094                 {
+00095                         return --_Ref;
+00096                 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLAIAGENT::CActor::forwardActivity std::vector< CActor * > & ,
bool  stay_active = false
[protected, virtual]
+
+ + + + + +
+   + + +

+Transfers activity to another actor. The second arg bool must be set to true for this agent to stay active, false otherwise. +

+Definition at line 70 of file actor.cpp. +

+References unActivate(). +

+

00071         {
+00072                 std::vector<CActor *>::iterator it_act = actors.begin();
+00073                 while ( it_act != actors.end() )
+00074                 {
+00075                         ( *it_act )->activate();
+00076                         it_act++;
+00077                 }
+00078                 // TODO: Envoi de message "activate" 
+00079                 if ( !stay_active )
+00080                         unActivate();
+00081         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLAIAGENT::CActor::forwardActivity CActor,
bool  stay_active = false
[protected, virtual]
+
+ + + + + +
+   + + +

+Transfers activity to another actor. The second arg bool must be set to true for this agent to stay active, false otherwise. +

+Definition at line 59 of file actor.cpp. +

+References activate(), and unActivate(). +

+Referenced by runMethodeMember(). +

+

00060         {
+00061                 receiver->activate();
+00062 
+00063                 if ( !stay_active )
+00064                         unActivate();
+00065         }
+
+

+ + + + +
+ + + + + + + + + +
virtual sint NLAIAGENT::IAgentComposite::getChildCoun  )  const [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 358 of file agent.h. +

+References NLAIAGENT::IAgentComposite::_SizeChild, and sint. +

+

00359                         {
+00360                                 return _SizeChild;
+00361                         }
+
+

+ + + + +
+ + + + + + + + + +
virtual std::string NLAIC::IPointerGestion::getClassName  )  [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+ +

+Implements NLMISC::IClassable. +

+Reimplemented in NLAIC::CIdentType. +

+Definition at line 116 of file abstract_interface.h. +

+Referenced by NLAISCRIPT::CAgentClass::isClassInheritedFrom(). +

+

00117                 {
+00118                         return std::string("<unnamed>");
+00119                 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::CActor::getDebugString std::string &  t  )  const [virtual]
+
+ + + + + +
+   + + +

+This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 121 of file actor.cpp. +

+References _IsActivated, and t. +

+Referenced by runMethodeMember(). +

+

00122         {
+00123                 t = "CActor ";
+00124                 if ( _IsActivated )
+00125                         t += "<active>";
+00126                 else
+00127                         t += "<idle>";
+00128         }
+
+

+ + + + +
+ + + + + + + + + +
const CIdent NLAIAGENT::IRefrence::getIdentType  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 480 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef, NLAIAGENT::CNumericIndex::getId(), and NLAIAGENT::IWordNumRef::getNumIdent(). +

+

00481         {
+00482                 return CIdent(0,_NumRef->getNumIdent().getId());
+00483         }
+
+

+ + + + +
+ + + + + + + + + +
virtual const std::string NLAIC::IBasicType::getInfo  )  [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 292 of file abstract_interface.h. +

+References NLAIC::IBasicType::getDebugString(), and s. +

+

00293                 {
+00294                         std::string s;
+00295                         getDebugString(s);
+00296                         return s;
+00297                 }
+
+

+ + + + +
+ + + + + + + + + +
IMailBox * NLAIAGENT::IBasicAgent::getMail  )  const [inherited]
+
+ + + + + +
+   + + +

+Get the mail box letter. +

+ +

+Definition at line 332 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::_Mail. +

+Referenced by NLAIAGENT::IAgentComposite::addChild(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIAGENT::IAgent::processMessages(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::IAgentComposite::removeChild(), NLAIAGENT::CMainAgentScript::run(), NLAIAGENT::IAgent::run(), NLAIAGENT::IAgent::runStep(), and NLAIAGENT::IBasicAgent::sendMessage(). +

+

00333         {
+00334                 return _Mail;
+00335         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
std::string NLAIAGENT::IObjectIA::getMethodeMemberDebugString sint32 ,
sint32 
const [virtual, inherited]
+
+ + + + + +
+   + + +

+The methode getMethodeMemberDebugString(sint32 heritance, sint32 index) return a string that define the name and the argument of the method +

+Reimplemented in NLAIAGENT::CAgentScript. +

+Definition at line 311 of file baseai.cpp. +

+References sint32. +

+Referenced by NLAISCRIPT::CCallHeapMethodi::getDebugResult(), NLAISCRIPT::CCallStackMethodi::getDebugResult(), NLAISCRIPT::CCallMethodi::getDebugResult(), NLAISCRIPT::CLibHeapMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackNewMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackMemberMethod::getDebugResult(), NLAISCRIPT::CLibCallMethodi::getDebugResult(), NLAISCRIPT::CLibCallInheritedMethod::getDebugResult(), NLAISCRIPT::CLibCallMethod::getDebugResult(), NLAISCRIPT::CLibMemberMethodi::getDebugResult(), NLAISCRIPT::CLibMemberInheritedMethod::getDebugResult(), and NLAISCRIPT::CLibMemberMethod::getDebugResult(). +

+

00312         {
+00313                 switch(id)
+00314                 {
+00315                 case 0:
+00316                         {
+00317                                 return std::string("IObjectIA::sendMessage(IMessage)");
+00318                         }                       
+00319                         break;
+00320                 case 1:                 
+00321                         break;
+00322                 case 2:                 
+00323                         return std::string("IObjectIA::run()");
+00324                         break;
+00325 
+00326                 case 3:
+00327                         {                               
+00328                                 return std::string("IObjectIA::getStaticMember(Integer)");                              
+00329                         }
+00330                 }
+00331                 return std::string("Mathod_?????(Param_?????)");
+00332         }
+
+

+ + + + +
+ + + + + + + + + +
sint32 NLAIAGENT::CActor::getMethodIndexSize  )  const [virtual]
+
+ + + + + +
+   + + +

+getMethodIndexSize define the nomber of method define in the class. +

+Reimplemented from NLAIAGENT::IBasicAgent. +

+Definition at line 263 of file actor.cpp. +

+References NLAIAGENT::IBasicAgent::getMethodIndexSize(), and sint32. +

+

00264         {
+00265                 return IAgent::getMethodIndexSize() + 2;
+00266         }
+
+

+ + + + +
+ + + + + + + + + +
const IRefrence * NLAIAGENT::IRefrence::getOwner  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+To get the top level parent of this agent. +

+ +

+Definition at line 402 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::getParent(). +

+

00403         {
+00404                 const IRefrence *p = getParent();
+00405 
+00406                 if(p == NULL) return this;
+00407 
+00408                 while( true )
+00409                 {
+00410                         if(p->getParent() == NULL) return p;
+00411                 }
+00412         }
+
+

+ + + + +
+ + + + + + + + + +
IConnectIA * NLAIAGENT::IConnectIA::getParent  )  const [inherited]
+
+ + + + + +
+   + + +

+to get the agent parents +

+ +

+Reimplemented from NLAIAGENT::IRefrence. +

+Definition at line 511 of file baseai.cpp. +

+Referenced by NLAIAGENT::CActorScript::activate(), NLAIAGENT::COperatorScript::calcPriority(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::COperatorScript::lookForGoals(), NLAIAGENT::CLocalMailBox::newInstance(), NLAIAGENT::IAgent::newInstance(), newInstance(), NLAIAGENT::IConnectIA::onKill(), NLAIAGENT::IBasicAgent::runAsk(), NLAIAGENT::CAgentScript::runAskDebugString(), NLAIAGENT::CAgentScript::runAskParentNotify(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAIAGENT::IConnectIA::setParent(), and NLAIAGENT::CActorScript::unActivate(). +

+

00512         {
+00513                 return (IConnectIA *)IRefrence::getParent();
+00514         }       
+
+

+ + + + +
+ + + + + + + + + +
const sint32& NLAIC::IPointerGestion::getRef  )  const [inline, inherited]
+
+ + + + + +
+   + + +

+get the refence count. +

+ +

+Definition at line 99 of file abstract_interface.h. +

+References NLAIC::IPointerGestion::_Ref, and sint32. +

+Referenced by NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(). +

+

00100                 {
+00101                         return _Ref;
+00102                 }
+
+

+ + + + +
+ + + + + + + + + +
const IObjectIA::CProcessResult & NLAIAGENT::IBasicAgent::getState  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+Get the curent state of the agent. +

+ +

+Implements NLAIAGENT::IConnectIA. +

+Definition at line 309 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::_RunState. +

+Referenced by NLAIAGENT::CMainAgentScript::run(), NLAIAGENT::IAgent::run(), NLAIAGENT::CAgentClockTimer::runActivity(), NLAIAGENT::CAgentWatchTimer::runActivity(), NLAIAGENT::IAgent::runChildren(), NLAIAGENT::IAgent::runChildrenStepByStep(), and NLAIAGENT::IAgent::runStep(). +

+

00310         {
+00311                 return _RunState;
+00312         }
+
+

+ + + + +
+ + + + + + + + + + +
const IObjectIA* NLAIAGENT::IObjectIA::getStaticMember const IVarName compName  )  const [inline, inherited]
+
+ + + + + +
+   + + +

+to get the pointer of a given components referened by an string. +

+Definition at line 261 of file baseai.h. +

+References NLAIAGENT::IObjectIA::getStaticMember(), and NLAIAGENT::IObjectIA::getStaticMemberIndex(). +

+

00262                 {
+00263                         return getStaticMember(getStaticMemberIndex(compName));
+00264                 }
+
+

+ + + + +
+ + + + + + + + + + +
const IObjectIA * NLAIAGENT::IObjectIA::getStaticMember sint32   )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+to get the pointer of a given components referened by an index. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMessageScript, and NLAISCRIPT::CAgentClass. +

+Definition at line 193 of file baseai.cpp. +

+References sint32. +

+Referenced by NLAISCRIPT::CCompilateur::affectationMember(), NLAIAGENT::CComponentHandle::getComponent(), NLAISCRIPT::CLdbMemberiOpCode::getDebugResult(), NLAISCRIPT::CLdbHeapMemberiOpCode::getDebugResult(), NLAISCRIPT::CLdbStackMemberiOpCode::getDebugResult(), NLAISCRIPT::CCallStackNewMethodi::getDebugResult(), NLAISCRIPT::CCallHeapMethodi::getDebugResult(), NLAISCRIPT::CCallStackMethodi::getDebugResult(), NLAISCRIPT::CCallMethodi::getDebugResult(), NLAISCRIPT::CLibHeapMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackNewMemberMethod::getDebugResult(), NLAISCRIPT::CLibStackMemberMethod::getDebugResult(), NLAISCRIPT::CLibCallMethodi::getDebugResult(), NLAISCRIPT::CLibMemberMethodi::getDebugResult(), NLAISCRIPT::CLoadHeapObject::getObject(), NLAISCRIPT::CLoadStackObject::getObject(), NLAISCRIPT::CLoadSelfObject::getObject(), NLAIAGENT::IObjectIA::getStaticMember(), NLAIAGENT::CLocalAgentMail::getStaticMember(), NLAISCRIPT::CCompilateur::getValidateHierarchyBase(), NLAISCRIPT::CCompilateur::isValidateVarName(), NLAISCRIPT::CCodeBrancheRunDebug::printVariable(), NLAIAGENT::IObjectIA::runMethodeMember(), NLAISCRIPT::CLdbMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallHeapMethodi::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CCallStackNewMethodi::runOpCode(), NLAISCRIPT::CCallMethodi::runOpCode(), NLAISCRIPT::CLibHeapMemberMethod::runOpCode(), NLAISCRIPT::CLibStackNewMemberMethod::runOpCode(), NLAISCRIPT::CLibStackMemberMethod::runOpCode(), NLAISCRIPT::CLibCallMethodi::runOpCode(), NLAISCRIPT::CLibMemberMethodi::runOpCode(), NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), and NLAISCRIPT::CAffMemberiOpCode::runOpCode(). +

+

00194         {
+00195                 return NULL;
+00196         }
+
+

+ + + + +
+ + + + + + + + + + +
sint32 NLAIAGENT::IObjectIA::getStaticMemberIndex const IVarName  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+to get the index of a given components name. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CMessageScript. +

+Definition at line 188 of file baseai.cpp. +

+References sint32. +

+Referenced by NLAISCRIPT::CCompilateur::affectation(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::IObjectIA::getStaticMember(), NLAIAGENT::CLocalAgentMail::getStaticMemberIndex(), NLAISCRIPT::CCompilateur::getValidateHierarchyBase(), NLAISCRIPT::CCompilateur::isValidateVarName(), NLAISCRIPT::CCodeBrancheRunDebug::printVariable(), NLAISCRIPT::CCompilateur::processingVar(), NLAISCRIPT::CConstraintStackComp::run(), and NLAIAGENT::IObjectIA::setStaticMember(). +

+

00189         {
+00190                 return -1;
+00191         }
+
+

+ + + + +
+ + + + + + + + + +
sint32 NLAIAGENT::IObjectIA::getStaticMemberSize  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+Static member is the component that the agent is create and die with. getStaticMemberSize to get the size of the static member components +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMessageScript, NLAISCRIPT::IClassInterpret, and NLAISCRIPT::CAgentClass. +

+Definition at line 180 of file baseai.cpp. +

+References NLAIC::IBasicType::getType(), sint32, and NLAIC::stringGetBuild(). +

+Referenced by NLAIAGENT::CLocalAgentMail::getStaticMemberSize(). +

+

00181         {
+00182                 std::string text;
+00183                 text = NLAIC::stringGetBuild("sint32 IObjectIA::getStaticMemberSize() note implementaited for the '%s' interface",(const char *)getType());
+00184                 throw NLAIE::CExceptionNotImplemented(text.c_str());
+00185                 return 0;       
+00186         }
+
+

+ + + + +
+ + + + + + + + + +
const NLAIC::CIdentType & NLAIAGENT::CActor::getType  )  const [virtual]
+
+ + + + + +
+   + + +

+getType return a unique string how represente the class, it can be the name of the class. This function is used for the sytem regstry class (see the definition of the template class Gen::CRegistry). +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 162 of file actor.cpp. +

+References IdActor. +

+

00163         {               
+00164                 return IdActor;
+00165         }
+
+

+ + + + +
+ + + + + + + + + +
virtual bool NLAIAGENT::IAgent::haveActivity  )  const [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+allow to know if the agent have an activity process to run. +

+ +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, and NLAIAGENT::CAgentOperation. +

+Definition at line 423 of file agent.h. +

+Referenced by NLAIAGENT::IAgent::run(), and NLAIAGENT::IAgent::runStep(). +

+

00424                 {
+00425                         return false;
+00426                 }
+
+

+ + + + +
+ + + + + + + + + +
void NLAIC::IPointerGestion::incRef  )  [inline, inherited]
+
+ + + + + +
+   + + +

+Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list. +

+ +

+Definition at line 80 of file abstract_interface.h. +

+References NLAIC::IPointerGestion::_Ref. +

+Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAILOGIC::CFactBase::addAssert(), NLAIAGENT::IAgentComposite::addChild(), NLAILOGIC::IBaseAssert::addInput(), NLAILOGIC::CBoolOperator::addPostcondition(), NLAILOGIC::CBoolOperator::addPrecondition(), NLAILOGIC::CInternalGoal::addPredecessor(), NLAILOGIC::CGoal::addPredecessor(), NLAIFUZZY::CFuzzyVar::addSet(), NLAISCRIPT::CCompilateur::affectation(), NLAILOGIC::CFact::asValueSet(), NLAIAGENT::CAgentWatchTimer::attach(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CAgentClass::buildVMethode(), NLAIAGENT::CAgentOperation::CAgentOperation(), NLAIAGENT::CAgentTimerHandle::CAgentTimerHandle(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CClassInterpretFactory::CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::CCompilateur(), NLAISCRIPT::CFactorType::CFactorType(), NLAISCRIPT::CFunctionTag::CFunctionTag(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIC::CIdentType::CIdentType(), NLAIAGENT::CIdMethod::CIdMethod(), NLAIAGENT::CKeyObject::CKeyObject(), NLAISCRIPT::CFindRunMsg::clone(), NLAISCRIPT::CObjectUnknown::clone(), NLAISCRIPT::CConstraintStackComp::clone(), NLAISCRIPT::CConstraintFindRun::clone(), NLAISCRIPT::CConstraintMethode::clone(), NLAILINK::IOTrace::clone(), NLAISCRIPT::CMethodeName::CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::CMethodType(), NLAISCRIPT::CObjectUnknown::CObjectUnknown(), NLAIAGENT::CPairType::CPairType(), NLAISCRIPT::CAgentClass::createComponents(), NLAILOGIC::CValueSet::CValueSet(), NLAILOGIC::CVar::CVar(), NLAILOGIC::CValueSet::forward(), NLAIAGENT::IMessageBase::IMessageBase(), NLAIAGENT::CAgentScript::initAgentScript(), NLAISCRIPT::CCompilateur::initMessageManager(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAILOGIC::CValueSet::load(), NLAILOGIC::IBaseOperator::load(), NLAISCRIPT::CAgentClass::load(), NLAISCRIPT::CComponent::load(), NLAISCRIPT::CMethodeName::load(), NLAIAGENT::CVectorGroupType::operator+(), NLAIAGENT::CGroupType::operator+(), NLAISCRIPT::CPramContainer::operator+=(), NLAIAGENT::IMessageBase::operator=(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CAgentClass::CMethodType::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAISCRIPT::CCompilateur::pushParamExpression(), NLAISCRIPT::CConstraintFindRun::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runAskGetValue(), NLAIAGENT::IAgent::runChildren(), NLAIAGENT::CMainAgentScript::runExec(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAIAGENT::CAgentWatchTimer::runMethodBase(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IMessageBase::runMethodeMember(), NLAIAGENT::IBaseGroupType::runMethodeMember(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAISCRIPT::CLdbRefOpCode::runOpCode(), NLAISCRIPT::CLdbMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CCallStackNewMethodi::runOpCode(), NLAISCRIPT::CLibStackNewMemberMethod::runOpCode(), NLAISCRIPT::CLibStackMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CAddParamNameDebug::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellComponent(), NLAIAGENT::CAgentScript::runTellSetValue(), NLAISCRIPT::CMethodContextDebug::saveContext(), NLAISCRIPT::CMethodContext::saveContext(), NLAIAGENT::CAgentScript::sendBroadCast(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentScript::sendMethodCompoment(), NLAIAGENT::CVolatilMemmory::sendUpdateMessage(), NLAISCRIPT::CFactorType::set(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setParamVarName(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAILOGIC::CVar::setValue(), NLAILOGIC::CValueSet::setValue(), NLAIAGENT::CAgentWatchTimer::tellBroker(), NLAISCRIPT::CCompilateur::typeOfMethod(), NLAILOGIC::CVar::unify(), NLAILOGIC::CValueSet::unify(), and NLAIAGENT::CAgentOperation::update(). +

+

00081                 {
+00082                         _Ref ++;
+00083                 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IObjectIA::init IObjectIA  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Init method alows to init the attribut of an object. the maparmetre is in more time a list of IObjectIA. +

+Reimplemented in NLAIFUZZY::CSimpleFuzzyCond, NLAIFUZZY::CFuzzyRule, NLAIFUZZY::CFuzzyRuleSet, NLAIFUZZY::CFuzzyInterval, NLAIFUZZY::CRightFuzzySet, NLAIFUZZY::CTriangleFuzzySet, NLAIFUZZY::CTrapezeFuzzySet, NLAIFUZZY::CLeftFuzzySet, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CFirstOrderAssert, NLAILOGIC::CRule, and NLAILOGIC::CFactPattern. +

+Definition at line 116 of file baseai.cpp. +

+Referenced by NLAIFUZZY::IFuzzySet::runMethodeMember(), and NLAISCRIPT::CLdbNewOpCode::runOpCode(). +

+

00117         {
+00118                 
+00119         }
+
+

+ + + + +
+ + + + + + + + + +
bool NLAIAGENT::CActor::isActivated  ) 
+
+ + + + + +
+   + + +

+Returns true if the actor has a token. +

+ +

+Definition at line 31 of file actor.cpp. +

+References _IsActivated. +

+

00032         {
+00033                 return _IsActivated;
+00034         }
+
+

+ + + + +
+ + + + + + + + + + +
sint32 NLAIAGENT::IObjectIA::isClassInheritedFrom const IVarName  )  const [virtual, inherited]
+
+ + + + + +
+   + + +

+isClassInheritedFrom(className) allow us to known if this class have a base class with the name className.

+If true the method return the range of the base class, this range is an arbitrary reference id define by the programmer or bay the scrypt. the false return is define by -1. +

+Reimplemented in NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::IBaseGroupType, and NLAIAGENT::CMessageScript. +

+Definition at line 246 of file baseai.cpp. +

+References sint32. +

+Referenced by NLAISCRIPT::CCompilateur::getValidateHierarchyBase(), NLAIAGENT::CLocalAgentMail::isClassInheritedFrom(), NLAIAGENT::CActorScript::Launch(), NLAIAGENT::CFsmScript::setTopLevel(), and NLAIAGENT::CActorScript::setTopLevel(). +

+

00247         {
+00248                 return -1;
+00249         }       
+
+

+ + + + +
+ + + + + + + + + + +
bool NLAIAGENT::CActor::isEqual const IBasicObjectIA a  )  const [virtual]
+
+ + + + + +
+   + + +

+Implementation of the isEqual of the IBasicObjectIA. +

+ +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 130 of file actor.cpp. +

+

00131         {
+00132                 return true;
+00133         }
+
+

+ + + + +
+ + + + + + + + + +
bool NLAIAGENT::IObjectIA::isLocal  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+If the result is true the object is loclal else its a representation of an object on the server. By the method return true. +

+ +

+Definition at line 356 of file baseai.cpp. +

+

00357         {
+00358                 return true;
+00359         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
TQueue NLAIAGENT::IBasicAgent::isMember const IVarName,
const IVarName,
const IObjectIA
const [virtual, inherited]
+
+ + + + + +
+   + + +

+The method isMember(nameSubClass,methodName,param) return the best method correspondent to the search. remember we use the overloadind method.

+NameSubClass: if this pointer is not NULL then NameSubClass is the name of the base class were the method are defined.

+methodName: is the name of the class.

+param: is an IObjectIA where it defined the parametre of the method. lot of method use a IObjectIA vector object with an NLAIC::CIdentType as the the template argm. +

+Reimplemented from NLAIAGENT::IObjectIA. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, and NLAIAGENT::CProxyAgentMail. +

+Definition at line 452 of file agents.cpp. +

+References NLAIAGENT::_GetNumId, NLAIAGENT::_RunAsk, NLAIAGENT::_RunTel, NLAISCRIPT::CParam::eval(), and NLAIAGENT::TQueue. +

+Referenced by NLAIAGENT::CAgentScript::isMember(), NLAIAGENT::CLocalAgentMail::isMember(), and isMember(). +

+

00453         {                       
+00454                 if(className == NULL)
+00455                 {
+00456                         TQueue a;
+00457                         for(int i = 0; i < _LastM; i++)
+00458                         {
+00459                                 if(*methodName == IBasicAgent::_Method[i].MethodName)
+00460                                 {       
+00461                                         CObjectType *c;
+00462                                         if(i == _RunTel || i == _RunAsk)
+00463                                         {
+00464                                                 static NLAISCRIPT::CParam paramMsg(1,new NLAISCRIPT::COperandSimple (new NLAIC::CIdentType(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass)));
+00465 
+00466                                                 if(paramMsg.eval((NLAISCRIPT::CParam &)p) < 0.0) continue;
+00467                                                 c = new CObjectType(new NLAIC::CIdentType(NLAISCRIPT::CMessageClass::IdMessageClass));
+00468                                         }
+00469                                         else
+00470                                         if (i == _GetNumId)
+00471                                         {
+00472                                                 c = new CObjectType(new NLAIC::CIdentType(CStringType::IdStringType));
+00473                                         }
+00474                                         else
+00475                                         {
+00476                                                 c = new CObjectType(new NLAIC::CIdentType(CLocalAgentMail::LocalAgentMail));
+00477                                         }
+00478                                         a.push(CIdMethod(IBasicAgent::_Method[i].Index + IObjectIA::getMethodIndexSize(),0.0,NULL,c));                                  
+00479                                         break;
+00480                                 }
+00481                         }
+00482 
+00483                         if(a.size()) return a;
+00484                         else return IConnectIA::isMember(className,methodName,p);
+00485                 }
+00486                 return IConnectIA::isMember(className,methodName,p);
+00487         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
TQueue NLAIAGENT::CActor::isMember const NLAIAGENT::IVarName,
const NLAIAGENT::IVarName,
const IObjectIA
const [virtual]
+
+ + + + + +
+   + + +

+ +

+Definition at line 179 of file actor.cpp. +

+References fid_activate, fid_forwardActivity, fid_unActivate, NLAIAGENT::IBasicAgent::isMember(), param, and NLAIAGENT::TQueue. +

+

00180         {
+00181                 TQueue result;
+00182 
+00183                 result = IAgent::isMember( className, name, param );
+00184 
+00185                 if ( result.size() )
+00186                         return result;
+00187 
+00188 //              if(className != NULL) 
+00189 //              {
+00190                         if ( *name == CStringVarName("activate") )
+00191                         {
+00192                                 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) );
+00193                                 result.push( NLAIAGENT::CIdMethod( fid_activate + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) );
+00194                         }
+00195 
+00196                         if ( *name == CStringVarName("unActivate") )
+00197                         {
+00198                                 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) );
+00199                                 result.push( NLAIAGENT::CIdMethod( fid_unActivate + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) );
+00200                         }
+00201 
+00202                         if ( *name == CStringVarName("forwardActivity") )
+00203                         {
+00204                                 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) );
+00205                                 result.push( NLAIAGENT::CIdMethod( fid_forwardActivity + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) );
+00206                         }
+00207 //              }
+00208                 return result;
+00209         }
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::IAgent::Kill  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Call this function to destroy an agent including its referneces in other agents and its childs. +

+ +

+Reimplemented from NLAIAGENT::IConnectIA. +

+Definition at line 57 of file agents.cpp. +

+References NLAIAGENT::IConnectIA::onKill(), NLAIC::IPointerGestion::release(), and sint. +

+Referenced by NLAIAGENT::CAgentScript::~CAgentScript(), NLAIAGENT::CMainAgentScript::~CMainAgentScript(), NLAIAGENT::IAgent::~IAgent(), and NLAIAGENT::IMainAgent::~IMainAgent(). +

+

00058         {
+00059 //sint n = _SizeChild;
+00060 
+00061 #ifdef NL_DEBUG
+00062                 if(_SizeChild != (sint)_AgentList.size())
+00063                 {
+00064                         sint i = (sint)_AgentList.size();
+00065                         throw;
+00066                 }       
+00067 
+00068 #endif
+00069                 sint n = _SizeChild ;
+00070                 while ( /*_AgentList.begin() !=  _AgentList.end()*/ n--)
+00071                 {                                       
+00072                         IConnectIA *c = _AgentList.front();
+00073                         _AgentList.pop_front();
+00074                         c->onKill(this);
+00075                         c->release();                   
+00076                 }
+00077                 _SizeChild = 0;
+00078                 IAgentComposite::Kill();
+00079         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::CActor::load NLMISC::IStream is  )  [virtual]
+
+ + + + + +
+   + + +

+Load the class from a stream. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 174 of file actor.cpp. +

+References NLAIAGENT::IAgent::load(). +

+

00175         {
+00176                 IAgent::load(is);
+00177         }
+
+

+ + + + +
+ + + + + + + + + +
const NLAIC::IBasicType * NLAIAGENT::CActor::newInstance  )  const [virtual]
+
+ + + + + +
+   + + +

+This function allow a new instance, that mean that the class is a class factory. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 111 of file actor.cpp. +

+References CActor(), and NLAIAGENT::IConnectIA::getParent(). +

+

00112         {       
+00113                 NLAIC::IBasicInterface *m;
+00114                 if ( getParent() != NULL ) 
+00115                         m = new CActor((IAgent *)getParent());
+00116                 else 
+00117                         m = new CActor(NULL);
+00118                 return m;
+00119         }       
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::CActor::onActivate  )  [virtual]
+
+ + + + + +
+   + + +

+Callback called at the activation of the actor. +

+ +

+Definition at line 95 of file actor.cpp. +

+Referenced by activate(). +

+

00096         {
+00097                 // Default behaviour: do nothing
+00098         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IAgent::onKill IConnectIA A  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Called by an agent who's destroyed te remove its references. +

+ +

+Reimplemented from NLAIAGENT::IAgentComposite. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentOperation, and NLAIAGENT::COperatorScript. +

+Definition at line 81 of file agents.cpp. +

+References NLAIC::IPointerGestion::release(), and NLAIAGENT::IConnectIA::removeConnection(). +

+Referenced by NLAIAGENT::CAgentScript::onKill(), NLAIAGENT::CLocalAgentMail::onKill(), and NLAIAGENT::IAgent::runChildren(). +

+

00082         {
+00083                 if(eraseFromList<IBasicAgent *>(&_AgentList,(IBasicAgent *)a)) 
+00084                 {
+00085                         a->release();
+00086                         _SizeChild --;
+00087                 }
+00088                 removeConnection(a);            
+00089                 IAgentComposite::onKill(a);             
+00090         }
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::CActor::onUnActivate  )  [virtual]
+
+ + + + + +
+   + + +

+Callback called when the agent is unactivated. +

+ +

+Definition at line 100 of file actor.cpp. +

+Referenced by unActivate(). +

+

00101         {
+00102                 // default behaviour: do nothing
+00103         }
+
+

+ + + + +
+ + + + + + + + + +
NLAIAGENT::IRefrence::operator const IWordNumRef &  )  const [inherited]
+
+ + + + + +
+   + + +

+to get a word num ref of the agents. +

+ +

+Definition at line 380 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef. +

+

00381         {
+00382                 return *_NumRef;
+00383         }
+
+

+ + + + +
+ + + + + + + + + +
NLAIAGENT::IRefrence::operator const IWordNumRef *  )  const [inherited]
+
+ + + + + +
+   + + +

+to get a word num ref pointer of the agents. +

+ +

+Definition at line 385 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef. +

+

00386         {
+00387                 return _NumRef;
+00388         }
+
+

+ + + + +
+ + + + + + + + + + +
bool NLAIAGENT::IBasicObjectIA::operator== const IBasicObjectIA classType  )  const [inherited]
+
+ + + + + +
+   + + +

+Lot of algo use this function to determine the equality between 2 class, in particular the extraction from stl list. the == operator call the bool isEqual(const IBasicObjectIA &a) const member method to determine the equality between tow class. +

+Definition at line 134 of file baseai.cpp. +

+References NLAIC::IBasicType::getType(), and NLAIAGENT::IBasicObjectIA::isEqual(). +

+

00135         {                                               
+00136                 if(a.getType() == getType() ) return isEqual(a);                        
+00137                 return false;
+00138         }               
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::CActor::processMessages  )  [virtual]
+
+ + + + + +
+   + + +

+The processMessages method, process the loop/Run message. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 135 of file actor.cpp. +

+References NLAIAGENT::IAgent::processMessages(). +

+

00136         {
+00137                 IAgent::processMessages();
+00138 /*              while(getMail()->getMessageCount())
+00139                 {
+00140                         const IMessageBase &msg = getMail()->getMessage();                              
+00141                         run( msg );
+00142                         getMail()->popMessage();
+00143                 }*/
+00144         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IRefrence::refLoadStream NLMISC::IStream is  )  [protected, inherited]
+
+ + + + + +
+   + + +

+the loader of the class. +

+ +

+Definition at line 433 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef, NLAIC::IBasicInterface::load(), NLAIC::IPointerGestion::release(), and NLMISC::IStream::serial(). +

+Referenced by NLAIAGENT::IRefrence::IRefrence(), and NLAIAGENT::IRefrence::load(). +

+

00434         {
+00435                 IObjectIA::load(is);
+00436                 _NumRef->release();
+00437                 NLAIC::CIdentTypeAlloc id;
+00438                 is >> id;
+00439                 _NumRef = (IWordNumRef *)id.allocClass();
+00440                 _NumRef->load(is);
+00441                 bool k;
+00442                 is.serial( k );
+00443                 if ( k ) 
+00444                 {
+00445                         if(_Parent) _Parent->release();
+00446                         is >> id;
+00447                         _Parent = (IWordNumRef *)id.allocClass();
+00448                         _Parent->load(is);
+00449                 }
+00450                 else 
+00451                 {
+00452                         _Parent = NULL;
+00453                 }
+00454         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NLAIC::IPointerGestion::release void   )  [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+Release allow to release the pointer. The last release when the _Ref is nul delete the object. +

+ +

+Definition at line 86 of file abstract_interface.h. +

+References NLAIC::IPointerGestion::decRef(). +

+Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAISCRIPT::CAgentClass::addBrancheCode(), NLAISCRIPT::CConstraintDebug::addIndex(), NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), NLAISCRIPT::COperatorClass::backward(), NLAILOGIC::CFirstOrderOperator::backward(), NLAILOGIC::CFirstOrderAssert::backward(), NLAISCRIPT::CCompilateur::buildObject(), NLAILINK::buildScript(), NLAISCRIPT::CCompilateur::callFunction(), NLAIC::CIdentType::CIdentType(), NLAISCRIPT::CCompilateur::clean(), NLAISCRIPT::CParam::clear(), NLAIAGENT::CVectorGroupType::clear(), NLAIAGENT::CGroupType::clear(), NLAIAGENT::CVolatilMemmory::CVolatilMemmory(), NLAISCRIPT::CFactorType::del(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIPYSERVER::endPythonInterface(), NLAIAGENT::CVectorGroupType::erase(), NLAIAGENT::CGroupType::erase(), NLAIAGENT::CVectorGroupType::eraseAll(), NLAIAGENT::CGroupType::eraseAll(), NLAISCRIPT::CCompilateur::errorMethodConstraint(), NLAISCRIPT::CCompilateur::errorTypeConstraint(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::COperatorClass::forward(), NLAILOGIC::CFirstOrderOperator::forward(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::COperatorScript::getDebugString(), NLAIAGENT::CAgentScript::getDebugString(), NLAILOGIC::IBaseOperator::IBaseOperator(), NLAISCRIPT::CCompilateur::ifInterrogation(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), NLAILOGIC::CFactPattern::init(), NLAILOGIC::CRule::init(), NLAIFUZZY::CTrapezeFuzzySet::init(), NLAIFUZZY::CLeftFuzzySet::init(), NLAIFUZZY::CTriangleFuzzySet::init(), NLAIFUZZY::CRightFuzzySet::init(), NLAIFUZZY::CFuzzyInterval::init(), NLAIFUZZY::CFuzzyRule::init(), NLAIFUZZY::CSimpleFuzzyCond::init(), NLAISCRIPT::CCompilateur::interrogationEnd(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAIAGENT::IAgent::Kill(), NLAILOGIC::CVar::load(), NLAILOGIC::CValueSet::load(), NLAISCRIPT::CLdbOpCode::load(), NLAISCRIPT::CLibCallMethodi::load(), NLAISCRIPT::CLibCallInheritedMethod::load(), NLAISCRIPT::CLibCallMethod::load(), NLAISCRIPT::CLdbNewOpCode::load(), NLAISCRIPT::CAddParamNameDebug::load(), NLAISCRIPT::CFindRunMsg::load(), NLAIAGENT::IListBasicManager::load(), NLAIAGENT::CVectorGroupType::load(), NLAIAGENT::CGroupType::load(), NLAIAGENT::CAgentScript::load(), NLAIAGENT::CStringType::load(), NLAIAGENT::CLocalAgentMail::load(), NLAISCRIPT::CMethodContextDebug::loadContext(), NLAISCRIPT::CCompilateur::onEndClass(), NLAIAGENT::CLocalMailBox::onKill(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::CLocalAgentMail::onKill(), NLAIAGENT::CVectorGroupType::operator-(), NLAIAGENT::CGroupType::operator-(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::PrivateError(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::IRefrence::refLoadStream(), NLAISCRIPT::CCompilateur::registerMethod(), NLAIAGENT::IAgentComposite::removeChild(), NLAILOGIC::CFirstOrderAssert::removeFact(), NLAISCRIPT::CConstraintStackComp::run(), NLAISCRIPT::CConstraintFindRun::run(), NLAISCRIPT::CConstraintMethode::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CVolatilMemmory::runMessage(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAISCRIPT::CCompilateur::runMethodConstraint(), NLAILOGIC::CInternalGoal::runMethodeMember(), NLAILOGIC::CGoal::runMethodeMember(), NLAILOGIC::CFact::runMethodeMember(), NLAIAGENT::IObjectIA::runMethodeMember(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CLibHeapMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CJFalseOpCode::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CDiffOpCode::runOpCode(), NLAISCRIPT::CInfEqOpCode::runOpCode(), NLAISCRIPT::CSupEqOpCode::runOpCode(), NLAISCRIPT::CEqOpCode::runOpCode(), NLAISCRIPT::CInfOpCode::runOpCode(), NLAISCRIPT::CSupOpCode::runOpCode(), NLAISCRIPT::CMulOpCode::runOpCode(), NLAISCRIPT::CDivOpCode::runOpCode(), NLAISCRIPT::CSubOpCode::runOpCode(), NLAISCRIPT::CAddOpCode::runOpCode(), NLAISCRIPT::CNegOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAISCRIPT::CCompilateur::runTypeConstraint(), NLAIAGENT::CHashTimerManager::sendMessage(), NLAIAGENT::CVolatilMemmory::sendMessage(), NLAIAGENT::CLocalMailBox::sendMessage(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentTimerHandle::sendMessage(), NLAIAGENT::CAgentScript::sendMessage(), NLAIAGENT::CAgentScript::sendMethod(), NLAISCRIPT::COperandSimple::serial(), NLAISCRIPT::CObjectUnknown::setBaseType(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CClassInterpretFactory::setClass(), NLAIC::CSelfClassFactory::setClass(), NLAISCRIPT::IClassInterpret::setClassName(), NLAISCRIPT::CObjectUnknown::setClassType(), NLAIAGENT::IMessageBase::setContinuation(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::COperatorClass::setGoal(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CParam::setInfo(), NLAISCRIPT::CAgentClass::setInheritanceName(), NLAISCRIPT::CCompilateur::setListVar(), NLAIAGENT::IMessageBase::setMessageGroup(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAILOGIC::IBaseVar::setName(), NLAIAGENT::CAgentOperation::setName(), NLAISCRIPT::CMethodeName::setName(), NLAIAGENT::IRefrence::setNumRef(), NLAISCRIPT::CConstraintFindRun::setOpCode(), NLAISCRIPT::CConstraintMethode::setOpCode(), NLAISCRIPT::CCompilateur::setPerformative(), NLAILOGIC::CInternalGoal::setProperty(), NLAIAGENT::IMessageBase::setReceiver(), NLAIAGENT::IMessageBase::setSender(), NLAILOGIC::CValueSet::setSize(), NLAISCRIPT::CCompilateur::setStackVar(), NLAIAGENT::CMessageScript::setStaticMember(), NLAIAGENT::CAgentScript::setStaticMember(), NLAISCRIPT::IClassInterpret::setType(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAISCRIPT::CMethodeName::setTypeOfMethode(), NLAILOGIC::CVar::setValue(), NLAIAGENT::CAgentOperation::setValue(), NLAIAGENT::IAgentInput::setValue(), NLAILOGIC::CValueSet::unify(), NLAISCRIPT::COperatorClass::unifyBackward(), NLAILOGIC::CFirstOrderOperator::unifyBackward(), NLAISCRIPT::COperatorClass::unifyForward(), NLAILOGIC::CFirstOrderOperator::unifyForward(), NLAILOGIC::CRule::unifyLiaisonBack(), NLAISCRIPT::CAddParamNameDebug::~CAddParamNameDebug(), NLAISCRIPT::CAgentClass::~CAgentClass(), NLAIAGENT::CAgentOperation::~CAgentOperation(), NLAIAGENT::CAgentScript::~CAgentScript(), NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(), NLAIAGENT::CAgentWatchTimer::~CAgentWatchTimer(), NLAISCRIPT::CClassInterpretFactory::~CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::~CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::~CCompilateur(), NLAIAGENT::CComponentHandle::~CComponentHandle(), NLAISCRIPT::CConstraintChkMethodeType::~CConstraintChkMethodeType(), NLAISCRIPT::CConstraintMethode::~CConstraintMethode(), NLAISCRIPT::CConstraintStackComp::~CConstraintStackComp(), NLAILOGIC::CFact::~CFact(), NLAISCRIPT::CFindRunMsg::~CFindRunMsg(), NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert(), NLAISCRIPT::CFunctionTag::~CFunctionTag(), NLAIC::CIdentType::~CIdentType(), NLAIAGENT::CIdMethod::~CIdMethod(), NLAILOGIC::CInternalGoal::~CInternalGoal(), NLAIAGENT::CKeyObject::~CKeyObject(), NLAISCRIPT::CLdbNewOpCode::~CLdbNewOpCode(), NLAISCRIPT::CLdbOpCode::~CLdbOpCode(), NLAISCRIPT::CLibCallInheritedMethod::~CLibCallInheritedMethod(), NLAISCRIPT::CLibCallMethod::~CLibCallMethod(), NLAISCRIPT::CLibCallMethodi::~CLibCallMethodi(), NLAIAGENT::CLocalMailBox::~CLocalMailBox(), NLAIAGENT::CMainAgentScript::~CMainAgentScript(), NLAISCRIPT::CLibTest::CMethodCall::~CMethodCall(), NLAIAGENT::CAgentScript::CMethodCall::~CMethodCall(), NLAISCRIPT::CMethodeName::~CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::~CMethodType(), NLAISCRIPT::CObjectUnknown::~CObjectUnknown(), NLAISCRIPT::COperandSimple::~COperandSimple(), NLAISCRIPT::COperandUnknown::~COperandUnknown(), NLAISCRIPT::COperationType::~COperationType(), NLAISCRIPT::COperationTypeGD::~COperationTypeGD(), NLAISCRIPT::COperatorClass::~COperatorClass(), NLAIAGENT::CPairType::~CPairType(), NLAIC::CSelfClassFactory::~CSelfClassFactory(), NLAIAGENT::CStringType::~CStringType(), NLAILOGIC::CValueSet::~CValueSet(), NLAILOGIC::CVar::~CVar(), NLAIAGENT::CVolatilMemmory::~CVolatilMemmory(), NLAIAGENT::IAgentInput::~IAgentInput(), NLAILOGIC::IBaseAssert::~IBaseAssert(), NLAILOGIC::IBaseOperator::~IBaseOperator(), NLAILOGIC::IBaseVar::~IBaseVar(), NLAIAGENT::IBasicAgent::~IBasicAgent(), NLAISCRIPT::IBlock::~IBlock(), NLAISCRIPT::IClassInterpret::~IClassInterpret(), NLAILOGIC::IGoal::~IGoal(), NLAIAGENT::IListBasicManager::~IListBasicManager(), NLAIAGENT::IMessageBase::~IMessageBase(), NLAIAGENT::IRefrence::~IRefrence(), and NLAICHARACTER::IZone::~IZone(). +

+

00087                 {
+00088                         if(decRef() == 0) 
+00089                                         delete this;
+00090                 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IAgentComposite::removeChild std::list< IBasicAgent * >::iterator &  iter  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Remove a child from the std::list<IBasicAgent *> child list. +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail. +

+Definition at line 84 of file basic_agent.cpp. +

+References NLAIAGENT::IAgentComposite::_AgentList, and NLAIAGENT::IAgentComposite::_SizeChild. +

+

00085         {                                       
+00086                 _AgentList.erase(iter);
+00087                 _SizeChild --;
+00088         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IAgentComposite::removeChild const IBasicAgent p  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Remove a child from the std::list<IBasicAgent *> child list. +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail. +

+Definition at line 108 of file basic_agent.cpp. +

+References NLAIAGENT::IAgentComposite::_AgentList, NLAIAGENT::IAgentComposite::_SizeChild, NLAIAGENT::IBasicAgent::getMail(), NLAIC::IPointerGestion::release(), and NLAIAGENT::IMailBox::removeMailBox(). +

+

00109         {                       
+00110                 std::list<IBasicAgent *>::iterator i = _AgentList.begin();
+00111                 while(i != _AgentList.end())
+00112                 {                                       
+00113                         IBasicAgent *c = *i;
+00114                         if(c == p)
+00115                         {
+00116                                 _AgentList.erase(i);                            
+00117                                 p->getMail()->removeMailBox( this->getMail() );
+00118                                 c->release();
+00119                                 _SizeChild --;
+00120                                 // Supprime chez l'ancien fils la boite au lettre du père                               
+00121                                 break;
+00122                         }
+00123                         i++;
+00124                 }
+00125         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IAgentComposite::removeChild const IBasicAgent p  )  [inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 90 of file basic_agent.cpp. +

+References NLAIAGENT::IAgentComposite::_AgentList, NLAIAGENT::IAgentComposite::_SizeChild, NLAIAGENT::IBasicAgent::getMail(), and NLAIAGENT::IMailBox::removeMailBox(). +

+Referenced by NLAIAGENT::CAgentScript::removeDynamic(), NLAIAGENT::IAgent::runChildren(), and NLAIAGENT::IAgent::runChildrenStepByStep(). +

+

00091         {                       
+00092                 std::list<IBasicAgent *>::iterator i = _AgentList.begin();
+00093                 while(i != _AgentList.end())
+00094                 {                                       
+00095                         if(*((*i)) == p)
+00096                         {
+00097                                 (*i)->release();
+00098                                 _AgentList.erase(i);
+00099                                 // Supprime chez l'ancien fils la boite au lettre du père
+00100                                 p.getMail()->removeMailBox( this->getMail() );
+00101                                 _SizeChild --;
+00102                                 return;
+00103                         }
+00104                         i++;
+00105                 }
+00106         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::removeConnection IConnectIA Agent  )  [inherited]
+
+ + + + + +
+   + + +

+To release a connection. +

+ +

+Definition at line 561 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::removeInConnectedList(), and NLAIAGENT::IConnectIA::removeInConnectionList(). +

+Referenced by NLAIAGENT::CAgentWatchTimer::detach(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::IAgentInput::releaseInputConnexion(), and NLAIAGENT::CLocalMailBox::removeMailBox(). +

+

00562         {               
+00563                 Agent->removeInConnectedList(this);
+00564                 removeInConnectionList(Agent);                  
+00565         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::removeInConnectedList const IConnectIA a  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 600 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::_Connected, and NLAIAGENT::IConnectIA::TListIBasicItr. +

+Referenced by NLAIAGENT::IConnectIA::Kill(), and NLAIAGENT::IConnectIA::removeConnection(). +

+

00601         {
+00602                 TListIBasicItr i = _Connected.find(a);
+00603                 if(i != _Connected.end())
+00604                                                 _Connected.erase(i);
+00605                 /*TListIBasicItr i = _Connected.begin();
+00606                 while(i != _Connected.end())
+00607                 {                       
+00608                         const IConnectIA *o = *i;
+00609                         if(o == a)
+00610                         {                                       
+00611                                 _Connected.erase(i);
+00612                                 return;
+00613                         }
+00614                         i++;
+00615                 }*/
+00616         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::removeInConnectionList IConnectIA a  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 577 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::_Connection, and NLAIAGENT::IConnectIA::TListIBasicItr. +

+Referenced by NLAIAGENT::IConnectIA::Kill(), and NLAIAGENT::IConnectIA::removeConnection(). +

+

00578         {
+00579 
+00580                 TListIBasicItr i = _Connection.find(a);
+00581                 if(i != _Connection.end())
+00582                                                         _Connection.erase(i);
+00583                 /*TListIBasicItr i = _Connection.begin();
+00584                 while(i != _Connection.end())
+00585                 {                               
+00586                         if(*i == a)
+00587                         {
+00588                                 _Connection.erase(i);
+00589                                 return;
+00590                         }
+00591                         i++;
+00592                 }*/
+00593         }
+
+

+ + + + +
+ + + + + + + + + + +
IObjectIA * NLAIAGENT::IBasicAgent::run const IMessageBase m  )  [protected, virtual, inherited]
+
+ + + + + +
+   + + +

+Run message is the message processing. +

+Reimplemented in NLAIAGENT::CMsgWaiter. +

+Definition at line 365 of file agents.cpp. +

+References NLAIAGENT::IMessageBase::getContinuation(), NLAIAGENT::IMessageBase::getPerformatif(), NLAIAGENT::IMessageBase::getSender(), NLAIC::IBasicType::getType(), NLAIC::IPointerGestion::incRef(), NLAIC::IPointerGestion::release(), NLAIAGENT::IBasicAgent::runAchieve(), NLAIAGENT::IBasicAgent::runAsk(), NLAIAGENT::IBasicAgent::runBreak(), NLAIAGENT::IBasicAgent::runError(), NLAIAGENT::IBasicAgent::runEven(), NLAIAGENT::IBasicAgent::runExec(), NLAIAGENT::IBasicAgent::runKill(), NLAIAGENT::IBasicAgent::runTell(), NLAIAGENT::IMessageBase::setPerformatif(), and NLAIC::stringGetBuild(). +

+Referenced by NLAIAGENT::CSeqFsmScript::runChildren(), and NLAIAGENT::IAgent::runChildren(). +

+

00366         {
+00367                 IMessageBase *returnMsg = NULL;
+00368                 switch(msg.getPerformatif())
+00369                 {
+00370                 case IMessageBase::PUndefine:
+00371                         {
+00372                                 std::string text;
+00373                                 text = NLAIC::stringGetBuild("Function IObjectIA *IBasicAgent::run('%s') proccess an IMessageBase::PUndefine performatif",(const char *)msg.getType());
+00374                                 throw NLAIE::CExceptionNotImplemented(text.c_str());
+00375                         }
+00376                         break;          
+00377                 case IMessageBase::PExec:
+00378                 
+00379                         returnMsg = runExec(msg);
+00380                         if(msg.getContinuation() != NULL) 
+00381                         {
+00382                                 returnMsg->incRef();
+00383                                 ((IObjectIA *)msg.getContinuation())->sendMessage(returnMsg);
+00384                         }                               
+00385                         break;
+00386                 case IMessageBase::PAchieve:
+00387                         returnMsg = runAchieve(msg);
+00388                         if(msg.getContinuation() != NULL)
+00389                         {
+00390                                 returnMsg->incRef();
+00391                                 ((IObjectIA *)msg.getContinuation())->sendMessage(returnMsg);
+00392                         }
+00393                         break;
+00394                 case IMessageBase::PAsk:
+00395                         returnMsg = runAsk(msg);
+00396                         returnMsg->setPerformatif(IMessageBase::PTell);
+00397                         returnMsg->incRef();                    
+00398                         ((IObjectIA *)msg.getSender())->sendMessage(returnMsg);
+00399                         if(msg.getContinuation() != NULL)
+00400                         {                                       
+00401                                 returnMsg->incRef();
+00402                                 ((IObjectIA *)msg.getContinuation())->sendMessage(returnMsg);                           
+00403                         }                       
+00404                         break;
+00405                 case IMessageBase::PTell:                       
+00406                         returnMsg = runTell(msg);                       
+00407                         
+00408                         break;
+00409                 case IMessageBase::PBreak:
+00410                         returnMsg = runBreak(msg);
+00411                         break;
+00412                 case IMessageBase::PKill:
+00413                         returnMsg = runKill(msg);
+00414                         break;
+00415                 case IMessageBase::PError:
+00416                         returnMsg = runError(msg);
+00417                         break;
+00418 
+00419                 case IMessageBase::PEven:
+00420                         returnMsg = runEven(msg);                       
+00421                         break;
+00422                 default: break;
+00423                 }
+00424                 
+00425                 if(returnMsg) returnMsg->release();
+00426                 return NULL;
+00427         }
+
+

+ + + + +
+ + + + + + + + + +
const IObjectIA::CProcessResult & NLAIAGENT::CActor::run  )  [virtual]
+
+ + + + + +
+   + + +

+The work of an agent. Typically agent process child message, process its message and run its activity. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 146 of file actor.cpp. +

+References _IsActivated, and NLAIAGENT::IAgent::run(). +

+

00147         {
+00148                 if ( _IsActivated )
+00149                 {
+00150                         return IAgent::run();
+00151                 }
+00152                 else
+00153                         return IObjectIA::ProcessRun;
+00154                                 
+00155         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runAchieve const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runAchieve ist to processing reltative to PAchieve Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 127 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00128                 {
+00129                         std::string debugString;
+00130                         std::string text;
+00131                         getDebugString(debugString);
+00132                         text = "IMessageBase *runAchieve(";
+00133                         text += (const char *)m.getType();
+00134                         text += " note implementaited for the '";
+00135                         text += (const char *)getType();
+00136                         text += "' interface for the instence '";
+00137                         text += (const char *)getType();
+00138                         text += "' '";
+00139                         text += debugString;
+00140                         text += "'";
+00141                         
+00142                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00143                         return NULL;
+00144                 }
+
+

+ + + + +
+ + + + + + + + + +
virtual IObjectIA::CProcessResult NLAIAGENT::IAgent::runActivity  )  [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+Mailer do'nt have own activity. +

+ +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentClockTimer, and NLAIAGENT::CAgentOperation. +

+Definition at line 429 of file agent.h. +

+Referenced by NLAIAGENT::IAgent::run(), and NLAIAGENT::IAgent::runStep(). +

+

00430                 {
+00431                         return ProcessRun;
+00432                 }               
+
+

+ + + + +
+ + + + + + + + + + +
IMessageBase * NLAIAGENT::IBasicAgent::runAsk const IMessageBase m  )  [protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runAsk is to processing reltative to PAsk Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 546 of file agents.cpp. +

+References NLAIC::IBasicType::getDebugString(), NLAIAGENT::IConnectIA::getParent(), NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00547         {
+00548                 if(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass == m.getType())
+00549                 {
+00550                         if(getParent() != NULL)
+00551                         {
+00552                                 CNotifyParentScript *msg = new CNotifyParentScript();
+00553                                 return msg;
+00554                         }
+00555                         else
+00556                         {
+00557                                 CNotifyParentScript *msg = new CNotifyParentScript((IBasicAgent *)getParent());
+00558                                 return msg;
+00559                         }
+00560                 }
+00561                 else
+00562                 {
+00563                         std::string debugString;
+00564                         std::string text;
+00565                         getDebugString(debugString);
+00566                         text += NLAIC::stringGetBuild("runAsk(%s) note implementaited for the '%s' interface for the instence '%s'",(const char *)m.getType(),(const char *)getType(),debugString.c_str());
+00567                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00568                         return NULL;
+00569                 }               
+00570         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runBreak const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runBreak is to processing reltative to PBreak Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 159 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00160                 {
+00161                         std::string debugString;
+00162                         std::string text;
+00163                         getDebugString(debugString);
+00164                         text = "IMessageBase *runBreak(";
+00165                         text += (const char *)m.getType();
+00166                         text += " note implementaited for the '";
+00167                         text += (const char *)getType();
+00168                         text += "' interface for the instence '";
+00169                         text += (const char *)getType();
+00170                         text += "' '";
+00171                         text += debugString;
+00172                         text += "'";
+00173                         
+00174                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00175                         return NULL;
+00176                 }
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::IAgent::runChildren  )  [protected, virtual, inherited]
+
+ + + + + +
+   + + +

+Run all child. +

+Implements NLAIAGENT::IBasicAgent. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CFsmScript, and NLAIAGENT::CSeqFsmScript. +

+Definition at line 160 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::getState(), NLAIC::IPointerGestion::incRef(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::processPresKill, NLAIAGENT::processToKill, NLAIAGENT::IAgentComposite::removeChild(), NLAIAGENT::IBasicAgent::run(), and sint. +

+Referenced by NLAIAGENT::IAgent::run(), and NLAIAGENT::CAgentScript::runChildren(). +

+

00161         {
+00162                 std::list<IBasicAgent *>::iterator i_agl = _AgentList.begin();          
+00163                 sint n = _SizeChild;
+00164 
+00165 #ifdef NL_DEBUG
+00166                 if(n != (sint)_AgentList.size())
+00167                                                                 throw;
+00168 #endif
+00169 
+00170                 while ( /*i_agl != _AgentList.end()*/n -- )
+00171                 {                                       
+00172                         IBasicAgent *c = *i_agl;
+00173 
+00174                         
+00175                         c->run();
+00176                         switch(c->getState().ResultState)
+00177                         {
+00178                         case processToKill:
+00179                                 {
+00180                                         i_agl ++;
+00181                                         removeChild(c);
+00182                                 }
+00183                                 break;
+00184                         case processPresKill:
+00185                                 {
+00186                                         i_agl ++;
+00187                                         c->incRef();
+00188                                         removeChild(c);
+00189                                         onKill(c);
+00190                                 }
+00191                                 break;
+00192                         default:
+00193                                 i_agl ++;
+00194                                 break;
+00195 
+00196                         };                      
+00197                 }
+00198         }               
+
+

+ + + + +
+ + + + + + + + + +
bool NLAIAGENT::IAgent::runChildrenStepByStep  )  [protected, virtual, inherited]
+
+ + + + + +
+   + + +

+Activates the child agents. +

+ +

+Reimplemented in NLAIAGENT::CAgentScript. +

+Definition at line 137 of file agents.cpp. +

+References NLAIAGENT::IAgent::_Iter_Child, NLAIAGENT::IBasicAgent::getState(), NLAIAGENT::processToKill, NLAIAGENT::IAgentComposite::removeChild(), and NLAIAGENT::IObjectIA::runStep(). +

+Referenced by NLAIAGENT::CAgentScript::runChildrenStepByStep(), and NLAIAGENT::IAgent::runStep(). +

+

00138         {
+00139                 if(_Iter_Child != _AgentList.end())
+00140                 {
+00141                         IBasicAgent *c = *_Iter_Child;
+00142 
+00143                         if(c->runStep().ResultState == ProcessNotComplit.ResultState) return false;
+00144 
+00145                         if(c->getState().ResultState == processToKill)
+00146                         {
+00147                                 _Iter_Child ++;
+00148                                 removeChild(c);
+00149                         }
+00150                         else _Iter_Child++;
+00151 
+00152                         return false;
+00153 
+00154                 }
+00155 
+00156                 _Iter_Child = _AgentList.begin();               
+00157                 return true;
+00158         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runError const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runError is to processing reltative to PError Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 206 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00207                 {
+00208                         std::string debugString;
+00209                         std::string text;
+00210                         getDebugString(debugString);
+00211                         text = "IMessageBase *runError(";
+00212                         text += (const char *)m.getType();
+00213                         text += " note implementaited for the '";
+00214                         text += (const char *)getType();
+00215                         text += "' interface for the instence '";
+00216                         text += (const char *)getType();
+00217                         text += "' '";
+00218                         text += debugString;
+00219                         text += "'";
+00220                         
+00221                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00222                         return NULL;
+00223                 }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runEven const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+RunExec is to processing reltative to PExec Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 105 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00106                 {
+00107                         std::string debugString;
+00108                         std::string text;
+00109                         getDebugString(debugString);
+00110                         text = "IMessageBase *runEven(";
+00111                         text += (const char *)m.getType();
+00112                         text += " note implementaited for the '";
+00113                         text += (const char *)getType();
+00114                         text += "' interface for the instence '";
+00115                         text += (const char *)getType();
+00116                         text += "' '";
+00117                         text += debugString;
+00118                         text += "'";
+00119 
+00120                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00121                         return NULL;
+00122                 }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runExec const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+RunExec is to processing reltative to PExec Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Reimplemented in NLAIAGENT::CMainAgentScript. +

+Definition at line 83 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00084                 {
+00085                         std::string debugString;
+00086                         std::string text;
+00087                         getDebugString(debugString);
+00088                         text = "IMessageBase *runExec(";
+00089                         text += (const char *)m.getType();
+00090                         text += " note implementaited for the '";
+00091                         text += (const char *)getType();
+00092                         text += "' interface for the instence '";
+00093                         text += (const char *)getType();
+00094                         text += "' '";
+00095                         text += debugString;
+00096                         text += "'";
+00097                         
+00098                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00099                         return NULL;
+00100                 }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runKill const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runKill is to processing reltative to PKill Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Reimplemented in NLAIAGENT::CAgentWatchTimer. +

+Definition at line 184 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(). +

+

00185                 {
+00186                         std::string debugString;
+00187                         std::string text;
+00188                         getDebugString(debugString);
+00189                         text = "IMessageBase *runKill(";
+00190                         text += (const char *)m.getType();
+00191                         text += " note implementaited for the '";
+00192                         text += (const char *)getType();
+00193                         text += "' interface for the instence '";
+00194                         text += (const char *)getType();
+00195                         text += "' '";
+00196                         text += debugString;
+00197                         text += "'";
+00198                         
+00199                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00200                         return NULL;
+00201                 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
IObjectIA::CProcessResult NLAIAGENT::IBasicAgent::runMethodeMember sint32 ,
sint32 ,
IObjectIA
[virtual, inherited]
+
+ + + + + +
+   + + +

+The methode runMethodeMember(sint32 heritance, sint32 index, IObjectIA *param) allow us to run a member method.

+heritance: is the id returned by the methodisClassInheritedFrom(const IVarName &). index: is the method id return by the isMember(const IVarName *,const IVarName *,const IObjectIA &) const method. param: is the parametre for the method. +

+Reimplemented from NLAIAGENT::IObjectIA. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, and NLAIAGENT::CAgentScript. +

+Definition at line 489 of file agents.cpp. +

+References index, and sint32. +

+Referenced by NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CAgentScript::runMethodeMember(), NLAIAGENT::CLocalAgentMail::runMethodeMember(), and runMethodeMember(). +

+

00490         {
+00491                 return IConnectIA::runMethodeMember(h,index,p);
+00492         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
IObjectIA::CProcessResult NLAIAGENT::CActor::runMethodeMember sint32 ,
IObjectIA
[virtual]
+
+ + + + + +
+   + + +

+The methode runMethodeMember(sint32 index,IObjectIA *param) allow us to run a own member method.

+index: is the method id return by the isMember(const IVarName *,const IVarName *,const IObjectIA &) const method. param: is the parametre for the method. +

+Reimplemented from NLAIAGENT::IBasicAgent. +

+Definition at line 212 of file actor.cpp. +

+References activate(), fid_activate, fid_forwardActivity, fid_unActivate, forwardActivity(), getDebugString(), NLAIAGENT::IBaseGroupType::getFront(), NLAIAGENT::IBasicAgent::getMethodIndexSize(), params, NLAIAGENT::IBaseGroupType::popFront(), r, NLAIAGENT::IBasicAgent::runMethodeMember(), sint32, NLAIAGENT::IBaseGroupType::size(), and unActivate(). +

+

00213         {
+00214                 if ( id < IAgent::getMethodIndexSize() )
+00215                         return IAgent::runMethodeMember(id, params);
+00216 
+00217                 IObjectIA::CProcessResult r;
+00218 
+00219 #ifdef NL_DEBUG
+00220                 std::string buf;
+00221                 getDebugString(buf);
+00222 #endif
+00223 
+00224                 id = id - IAgent::getMethodIndexSize();
+00225                 
+00226                 if ( id == fid_activate )
+00227                 {
+00228                         activate();
+00229                         IObjectIA::CProcessResult r;
+00230                         r.ResultState =  NLAIAGENT::processIdle;
+00231                         r.Result = NULL;
+00232                 }
+00233 
+00234                 if ( id == fid_unActivate )
+00235                 {
+00236                         unActivate();
+00237                         IObjectIA::CProcessResult r;
+00238                         r.ResultState =  NLAIAGENT::processIdle;
+00239                         r.Result = NULL;
+00240                 }
+00241 
+00242                 if ( id == fid_forwardActivity )
+00243                 {
+00244                         std::vector<CActor *> forwarded;
+00245                         if ( ( (NLAIAGENT::IBaseGroupType *) params)->size() )
+00246                         {
+00247                                 IBaseGroupType *fw = (IBaseGroupType *) ( ((NLAIAGENT::IBaseGroupType *)params) )->getFront();
+00248                                 ( ((NLAIAGENT::IBaseGroupType *)params))->popFront();
+00249                                 while ( fw->size() )
+00250                                 {
+00251                                         forwarded.push_back( (CActor *) fw->getFront() );
+00252                                         fw->popFront();
+00253                                 }
+00254                                 forwardActivity( forwarded, false );
+00255                         }
+00256                         IObjectIA::CProcessResult r;
+00257                         r.ResultState =  NLAIAGENT::processIdle;
+00258                         r.Result = NULL;
+00259                 }
+00260                 return r;
+00261         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IMessageBase* NLAIAGENT::IBasicAgent::runService const IMessageBase m  )  [inline, protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runService is to processing reltative to PService Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Definition at line 228 of file agent.h. +

+References NLAIC::IBasicType::getDebugString(), and NLAIC::IBasicType::getType(). +

+

00229                 {
+00230                         std::string debugString;
+00231                         std::string text;
+00232                         getDebugString(debugString);
+00233                         text = "IMessageBase *runService(";
+00234                         text += (const char *)m.getType();
+00235                         text += " note implementaited for the '";
+00236                         text += (const char *)getType();
+00237                         text += "' interface for the instence '";
+00238                         text += (const char *)getType();
+00239                         text += "' '";
+00240                         text += debugString;
+00241                         text += "'";
+00242                         
+00243                         throw NLAIE::CExceptionNotImplemented(text.c_str());
+00244                         return NULL;
+00245                 }
+
+

+ + + + +
+ + + + + + + + + +
const IObjectIA::CProcessResult & NLAIAGENT::IAgent::runStep  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Some where Run method define the process of the agen. +

+Reimplemented from NLAIAGENT::IObjectIA. +

+Reimplemented in NLAIAGENT::CAgentScript. +

+Definition at line 262 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::getMail(), NLAIAGENT::IBasicAgent::getState(), NLAIAGENT::IAgent::haveActivity(), NLAIAGENT::processIdle, NLAIAGENT::IAgent::processMessages(), NLAIAGENT::IObjectIA::run(), NLAIAGENT::IAgent::runActivity(), and NLAIAGENT::IAgent::runChildrenStepByStep(). +

+

00263         {
+00264                 if(runChildrenStepByStep())
+00265                 {
+00266                         getMail()->run();       // Execution de la boite aux lettres
+00267 
+00268                         processMessages();      // Traitement de ses propres messages
+00269 
+00270                         if(haveActivity() && getState().ResultState == processIdle) runActivity();
+00271                         return getState();
+00272                 }
+00273                 else 
+00274                         return IObjectIA::ProcessNotComplit;
+00275         }       
+
+

+ + + + +
+ + + + + + + + + + +
IMessageBase * NLAIAGENT::IBasicAgent::runTell const IMessageBase m  )  [protected, virtual, inherited]
+
+ + + + + +
+   + + +

+runTell is to processing reltative to PTell Performatif. its call from the IObjectIA *run(const IMessageBase &m) method. +

+Reimplemented in NLAIAGENT::CActorScript, NLAIAGENT::CAgentWatchTimer, and NLAIAGENT::CAgentOperation. +

+Definition at line 572 of file agents.cpp. +

+References NLAIC::IBasicType::clone(), and NLAIC::IBasicType::getType(). +

+Referenced by NLAIAGENT::IBasicAgent::run(), and NLAIAGENT::CAgentWatchTimer::runTell(). +

+

00573         {
+00574                 if(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass == m.getType())
+00575                 {
+00576                         /*const INombreDefine *n = (const INombreDefine *)m.getFront();
+00577                         if(n->getNumber() != 0.0)
+00578                         {
+00579                                 const CLocalAgentMail *parent = (const CLocalAgentMail *)m.get();
+00580                         }*/
+00581                         return (IMessageBase *)m.clone();                       
+00582                 }
+00583                 else
+00584                 {
+00585 /*                      std::string debugString;
+00586                         std::string text;
+00587                         getDebugString(debugString);
+00588                         text += NLAIC::stringGetBuild("runTell(%s) note implementaited for the '%s' interface for the instence '%s'",(const char *)m.getType(),(const char *)getType(),debugString.c_str());
+00589                         throw NLAIE::CExceptionNotImplemented(text.c_str()); */
+00590                         return NULL;
+00591                 }
+00592         }       
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::CActor::save NLMISC::IStream os  )  [virtual]
+
+ + + + + +
+   + + +

+programmer have to call this method to load or save internal attribut. +

+Reimplemented from NLAIAGENT::IAgent. +

+Definition at line 167 of file actor.cpp. +

+References _IsActivated, NLAIAGENT::IAgent::save(), and NLMISC::IStream::serial(). +

+

00168         {
+00169                 IAgent::save(os);
+00170                 os.serial( (bool &) _IsActivated );
+00171                 
+00172         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
IObjectIA::CProcessResult NLAIAGENT::IObjectIA::sendMessage const IVarName,
IObjectIA
[virtual, inherited]
+
+ + + + + +
+   + + +

+This method allow to send a message to an compoment given by an string IVarName. +

+Reimplemented in NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::IMessageBase. +

+Definition at line 334 of file baseai.cpp. +

+References NLAIAGENT::IVarName::getString(), NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild(). +

+

00335         {
+00336                 std::string text;
+00337                 text = NLAIC::stringGetBuild("method 'sendMessage(%s,const IObjectIA &)' '%s' interface",name.getString(), (const char *)getType());
+00338                 throw NLAIE::CExceptionNotImplemented(text.c_str());
+00339                 return CProcessResult();
+00340         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual IObjectIA::CProcessResult NLAIAGENT::IConnectIA::sendMessage IObjectIA m  )  [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+sendMessage allow agent to send a message to an ather agent. The message is a IMessageBase. +

+Reimplemented from NLAIAGENT::IObjectIA. +

+Reimplemented in NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CMainAgentScript. +

+Definition at line 451 of file baseai.h. +

+

00452                 {
+00453                         return sendMessage((IMessageBase *)m);
+00454                 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
IObjectIA::CProcessResult NLAIAGENT::IBasicAgent::sendMessage IMessageBase msg,
IBasicAgent receiver
[virtual, inherited]
+
+ + + + + +
+   + + +

+Send message to an receiver agent. +

+ +

+Definition at line 326 of file agents.cpp. +

+References NLAIAGENT::IMailBox::addMessage(), and NLAIAGENT::IBasicAgent::getMail(). +

+

00327         {
+00328                 receiver.getMail()->addMessage( msg );
+00329                 return IObjectIA::ProcessRun;
+00330         }
+
+

+ + + + +
+ + + + + + + + + + +
IObjectIA::CProcessResult NLAIAGENT::IBasicAgent::sendMessage IMessageBase msg  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+Send a message to the agent. +

+ +

+Implements NLAIAGENT::IConnectIA. +

+Definition at line 320 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::_Mail, and NLAIAGENT::IMailBox::addMessage(). +

+Referenced by NLAILOGIC::IGoal::failure(), NLAIAGENT::CAgentScript::sendMessage(), and NLAILOGIC::IGoal::success(). +

+

00321         {
+00322                 _Mail->addMessage(msg);
+00323                 return IObjectIA::ProcessRun;
+00324         }
+
+

+ + + + +
+ + + + + + + + + + +
virtual void NLAIC::IBasicInterface::serial NLMISC::IStream f  )  throw (NLMISC::EStream) [inline, virtual, inherited]
+
+ + + + + +
+   + + +

+ +

+Reimplemented from NLAIC::IPointerGestion. +

+Definition at line 328 of file abstract_interface.h. +

+References NLAIC::IBasicInterface::load(), and NLAIC::IBasicInterface::save(). +

+

00329                 {
+00330                         if ( f.isReading() )
+00331                                 load( f );
+00332                         else
+00333                                 save( f );
+00334                 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IRefrence::setNumRef const IWordNumRef ref  )  [protected, inherited]
+
+ + + + + +
+   + + +

+ +

+Definition at line 461 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef, NLAIAGENT::IWordNumRef::getNumIdent(), and NLAIC::IPointerGestion::release(). +

+

00462         {
+00463                 if(_NumRef != NULL) _NumRef->release();
+00464                 _NumRef = new CLocWordNumRef(ref.getNumIdent(),this);
+00465         }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IConnectIA::setParent const IWordNumRef parent  )  [virtual, inherited]
+
+ + + + + +
+   + + +

+to set the parent of the agents. +

+ +

+Reimplemented from NLAIAGENT::IRefrence. +

+Definition at line 661 of file baseai.cpp. +

+References NLAIAGENT::IConnectIA::connect(), and NLAIAGENT::IConnectIA::getParent(). +

+Referenced by NLAIAGENT::CAgentScript::addDynamicAgent(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIAGENT::IBasicAgent::IBasicAgent(), NLAIAGENT::IConnectIA::onKill(), NLAIAGENT::CProxyAgentMail::sendMessage(), NLAIAGENT::CLocalAgentMail::sendMessage(), and NLAIAGENT::IBasicAgent::~IBasicAgent(). +

+

00662         {               
+00663                 IRefrence::setParent(parent);
+00664                 IConnectIA *p = (IConnectIA *)getParent();
+00665 
+00666                 if(p != NULL) connect(p);
+00667         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NLAIAGENT::IBasicAgent::setState TProcessStatement  s,
IObjectIA result
[virtual, inherited]
+
+ + + + + +
+   + + +

+Set the state of an agent. +

+ +

+Implements NLAIAGENT::IConnectIA. +

+Definition at line 314 of file agents.cpp. +

+References NLAIAGENT::IBasicAgent::_RunState. +

+Referenced by NLAIAGENT::CAgentWatchTimer::runActivity(), NLAIAGENT::CAgentWatchTimer::runKill(), and NLAIAGENT::CAgentWatchTimer::runTell(). +

+

00315         {
+00316                 _RunState.ResultState = state;
+00317                 _RunState.Result = result;
+00318         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NLAIAGENT::IObjectIA::setStaticMember sint32 ,
IObjectIA
[virtual, inherited]
+
+ + + + + +
+   + + +

+to cahnge a given components given by a string. +

+Reimplemented in NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMessageScript, and NLAISCRIPT::CAgentClass. +

+Definition at line 198 of file baseai.cpp. +

+References NLAIC::IBasicType::getType(), sint32, and NLAIC::stringGetBuild(). +

+

00199         {
+00200                 std::string text;
+00201                 text = NLAIC::stringGetBuild("Function void IObjectIA::setStaticMember(sint32,IObjectIA *) note implementaited for the '%s' interface",(const char *)getType());
+00202                 throw NLAIE::CExceptionNotImplemented(text.c_str());
+00203                 return false;
+00204         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
bool NLAIAGENT::IObjectIA::setStaticMember const IVarName compName,
IObjectIA change
[inline, inherited]
+
+ + + + + +
+   + + +

+to cahnge a given components given by an index. +

+Definition at line 268 of file baseai.h. +

+References NLAIAGENT::IObjectIA::getStaticMemberIndex(). +

+Referenced by NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), and NLAIAGENT::CLocalAgentMail::setStaticMember(). +

+

00269                 {
+00270                         return setStaticMember(getStaticMemberIndex(compName),change);
+00271                 }
+
+

+ + + + +
+ + + + + + + + + + +
void NLAIAGENT::IRefrence::setTypeAt uint64  t  )  [inherited]
+
+ + + + + +
+   + + +

+That function allow user to change the 7 bit of the type field in the sid agent number;. +

+ +

+Definition at line 485 of file baseai.cpp. +

+References NLAIAGENT::IRefrence::_NumRef, NLAIAGENT::CNumericIndex::getId(), NLAIAGENT::IWordNumRef::getNumIdent(), t, and uint64. +

+Referenced by NLAIAGENT::IRefrence::IRefrence(). +

+

00486         {
+00487                 ((CAgentNumber &)(_NumRef->getNumIdent().getId())).setTypeAt(t);
+00488         }
+
+

+ + + + +
+ + + + + + + + + +
void NLAIAGENT::CActor::unActivate  ) 
+
+ + + + + +
+   + + +

+Unactivates the actor. +

+ +

+Definition at line 47 of file actor.cpp. +

+References _IsActivated, and onUnActivate(). +

+Referenced by forwardActivity(), and runMethodeMember(). +

+

00048         {
+00049                 if ( _IsActivated )
+00050                 {
+00051                         onUnActivate();
+00052                         _IsActivated = false;
+00053                 }
+00054         }
+
+


Field Documentation

+

+ + + + +
+ + +
TBasicList NLAIAGENT::IAgentComposite::_AgentList [protected, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 340 of file agent.h. +

+Referenced by NLAIAGENT::IAgentComposite::addChild(), NLAIAGENT::IAgentComposite::cpyChild(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIAGENT::IAgentComposite::IAgentComposite(), NLAIAGENT::IAgentComposite::removeChild(), and NLAIAGENT::IAgentComposite::save().

+

+ + + + +
+ + +
TListIBasic NLAIAGENT::IConnectIA::_Connected [protected, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 427 of file baseai.h. +

+Referenced by NLAIAGENT::IConnectIA::addInConnectedList(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::IConnectIA::removeInConnectedList(), and NLAIAGENT::IConnectIA::save().

+

+ + + + +
+ + +
TListIBasic NLAIAGENT::IConnectIA::_Connection [protected, inherited] +
+
+ + + + + +
+   + + +

+ +

+Reimplemented in NLAIAGENT::CAgentOperation. +

+Definition at line 426 of file baseai.h. +

+Referenced by NLAIAGENT::IConnectIA::addInConnectionList(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::IConnectIA::removeInConnectionList(), and NLAIAGENT::IConnectIA::save().

+

+ + + + +
+ + +
bool NLAIAGENT::CActor::_IsActivated [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 57 of file actor.h. +

+Referenced by activate(), CActor(), getDebugString(), isActivated(), run(), save(), and unActivate().

+

+ + + + +
+ + +
IMailBox* NLAIAGENT::IBasicAgent::_Mail [protected, inherited] +
+
+ + + + + +
+   + + +

+Box letter for communication service. +

+ +

+Definition at line 63 of file agent.h. +

+Referenced by NLAIAGENT::IBasicAgent::getMail(), NLAIAGENT::IBasicAgent::IBasicAgent(), NLAIAGENT::IBasicAgent::load(), NLAIAGENT::IBasicAgent::onKill(), NLAIAGENT::IBasicAgent::save(), NLAIAGENT::IBasicAgent::sendMessage(), and NLAIAGENT::IBasicAgent::~IBasicAgent().

+

+ + + + +
+ + +
CProcessResult NLAIAGENT::IBasicAgent::_RunState [protected, inherited] +
+
+ + + + + +
+   + + +

+Internal state of the agent. +

+ +

+Definition at line 61 of file agent.h. +

+Referenced by NLAIAGENT::IBasicAgent::getState(), and NLAIAGENT::IBasicAgent::setState().

+

+ + + + +
+ + +
sint NLAIAGENT::IAgentComposite::_SizeChild [protected, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 342 of file agent.h. +

+Referenced by NLAIAGENT::IAgentComposite::addChild(), NLAIAGENT::IAgentComposite::cpyChild(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIAGENT::IAgentComposite::getChildCoun(), NLAIAGENT::IAgentComposite::load(), and NLAIAGENT::IAgentComposite::removeChild().

+

+ + + + +
+ + +
const NLAIC::CIdentType NLAIAGENT::CActor::IdActor [static] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 105 of file actor.h. +

+Referenced by getType().

+

+ + + + +
+ + +
const NLAIC::CIdentType * IAgent::IdAgent = NULL [static, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 77 of file static_def_init.cpp. +

+Referenced by NLAIAGENT::IAgent::getType().

+

+ + + + +
+ + +
TProcessStatement NLAIAGENT::IObjectIA::ProcessBuzzy = processBuzzy [static, inherited] +
+
+ + + + + +
+   + + +

+Define the an buzzy state for an agent all time in this state. +

+Definition at line 147 of file baseai.cpp.

+

+ + + + +
+ + +
TProcessStatement NLAIAGENT::IObjectIA::ProcessEnd = processEnd [static, inherited] +
+
+ + + + + +
+   + + +

+Define the an end state for an agent all time in this state. +

+Definition at line 148 of file baseai.cpp.

+

+ + + + +
+ + +
TProcessStatement NLAIAGENT::IObjectIA::ProcessError = processError [static, inherited] +
+
+ + + + + +
+   + + +

+Define the an error state for an agent all time in this state. +

+Definition at line 149 of file baseai.cpp.

+

+ + + + +
+ + +
TProcessStatement NLAIAGENT::IObjectIA::ProcessIdle = processIdle [static, inherited] +
+
+ + + + + +
+   + + +

+Define the an idle state for an agent all time in this state. +

+Definition at line 145 of file baseai.cpp.

+

+ + + + +
+ + +
TProcessStatement NLAIAGENT::IObjectIA::ProcessLocked = processLocked [static, inherited] +
+
+ + + + + +
+   + + +

+Define the an locked state for an agent all time in this state. +

+Definition at line 146 of file baseai.cpp.

+

+ + + + +
+ + +
IObjectIA::CProcessResult NLAIAGENT::IObjectIA::ProcessNotComplit = IObjectIA::CProcessResult(processNotComplete) [static, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 144 of file baseai.cpp.

+

+ + + + +
+ + +
IObjectIA::CProcessResult NLAIAGENT::IObjectIA::ProcessRun = IObjectIA::CProcessResult() [static, inherited] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 143 of file baseai.cpp.

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 08:55:43 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1