NLAIAGENT::IAgentManager Class Reference

#include <agent_manager.h>

Inheritance diagram for NLAIAGENT::IAgentManager:

NLAIAGENT::IAgent NLAIAGENT::IAgentComposite NLAIAGENT::IBasicAgent NLAIAGENT::IConnectIA NLAIAGENT::IRefrence NLAIAGENT::IObjectIA NLAIAGENT::IBasicObjectIA NLAIC::IBasicInterface NLAIC::IBasicType NLAIC::IPointerGestion NLMISC::IStreamable NLMISC::IClassable NLAIAGENT::CAgentScript NLAIAGENT::CActorScript NLAIAGENT::CAgentManagerTimer NLAIAGENT::CAgentOperation NLAIAGENT::CAgentWatchTimer NLAIAGENT::IMainAgent NLAIAGENT::CFsmScript NLAIAGENT::COperatorScript NLAILOGIC::CGoalPath NLAIAGENT::CAgentClockTimer NLAIAGENT::CMainAgentScript NLAIAGENT::CSeqFsmScript

Detailed Description

Base class for manage agent.

We know that at this moment we have two kind of agent, agent that it define with the c++ and the script agent. The script need a context, the context for a script is the stack, the heap, the debug parametre ,... The c++ agent can neead a context, it coud be the server where he work or ather think define by any programmer. Well this class define this ideas and resolve ours problmem by the introduction of an agent manger.

Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 43 of file agent_manager.h.

Some IObjectIA method.

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

Some IBasicAgent method.

virtual void processMessages ()
virtual const CProcessResult & run ()
virtual const CProcessResult & runStep ()

Some IBasicAgent method.

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


Public Member Functions

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

virtual const IObjectIAgetAgentContext () const=0
virtual int getBaseMethodCount () const
 Return the nomber of internal C++ hard coded method that the class can process.

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.

 IAgentManager (const IAgentManager &a)
 Copy constructor.

 IAgentManager (IBasicAgent *parent, IMailBox *m)
 Construct manager with a parent and a mail box.

 IAgentManager (IBasicAgent *parent)
 Construct manager with a parent.

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 *)
virtual sint32 isClassInheritedFrom (const IVarName &) const
virtual bool isEqual (const IBasicObjectIA &a) const
 Implementation of the isEqual of the IBasicObjectIA.

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 onKill (IConnectIA *A)
 Called by an agent who's destroyed te remove its references.

 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;.

virtual ~IAgentManager ()
Some IBasicAgent method.
virtual const NLAIC::IBasicTypeclone () const
virtual void getDebugString (std::string &t) const
virtual const NLAIC::CIdentTypegetType () const
virtual void load (NLMISC::IStream &is)
virtual const NLAIC::IBasicTypenewInstance () const
virtual void save (NLMISC::IStream &os)
Some IBasicAgent method.
virtual const NLAIC::IBasicTypeclone () const
virtual void getDebugString (std::string &t) const
virtual const NLAIC::CIdentTypegetType () const
virtual void load (NLMISC::IStream &is)
virtual const NLAIC::IBasicTypenewInstance () const
virtual void save (NLMISC::IStream &os)

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 Member Functions

void connectLoadStream (NLMISC::IStream &is)
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
IMailBox_Mail
 Box letter for communication service.

CProcessResult _RunState
 Internal state of the agent.

sint _SizeChild


Constructor & Destructor Documentation

NLAIAGENT::IAgentManager::IAgentManager IBasicAgent parent  )  [inline]
 

Construct manager with a parent.

Definition at line 48 of file agent_manager.h.

00048                                                   :IAgent(parent)
00049                 {
00050                 }

NLAIAGENT::IAgentManager::IAgentManager IBasicAgent parent,
IMailBox m
[inline]
 

Construct manager with a parent and a mail box.

Definition at line 53 of file agent_manager.h.

00053                                                               :IAgent(parent,m)
00054                 {
00055                 }

NLAIAGENT::IAgentManager::IAgentManager const IAgentManager a  )  [inline]
 

Copy constructor.

Definition at line 58 of file agent_manager.h.

00058                                                      :IAgent(a)
00059                 {
00060                 }

virtual NLAIAGENT::IAgentManager::~IAgentManager  )  [inline]
 

Definition at line 74 of file agent_manager.h.

00075                 {
00076                 }


Member Function Documentation

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         }

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::IAgent::clone  )  const [virtual, inherited]
 

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

Implements NLAIC::IBasicType.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentClockTimer, NLAIAGENT::CMainAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript.

Definition at line 92 of file agents.cpp.

References NLAIAGENT::IAgent::IAgent().

00093         {               
00094                 NLAIC::IBasicInterface *m = new IAgent(*this);
00095                 return m;
00096         }               

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                 }

virtual const IObjectIA* NLAIAGENT::IAgentManager::getAgentContext  )  const [pure virtual]
 

Get the context for an agent. At present if the context is an CCodeContext. Programmers have to test the type of the IObjectIA returned by method to know how type of context is.

Implemented in NLAIAGENT::CAgentScript, and NLAIAGENT::CMainAgentScript.

Referenced by NLAIAGENT::COperatorScript::checkPreconditions(), NLAIAGENT::COperatorScript::execOnActivate(), NLAIAGENT::CActorScript::failure(), NLAIAGENT::CAgentScript::getAgentContext(), NLAIAGENT::COperatorScript::getDebugString(), NLAIAGENT::CAgentScript::getDebugString(), NLAIAGENT::CActorScript::pause(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::CActorScript::restart(), NLAIAGENT::CActorScript::run(), NLAIAGENT::CAgentScript::runActivity(), NLAIAGENT::CActorScript::success(), and NLAIAGENT::CActorScript::unActivate().

virtual int NLAIAGENT::IAgentManager::getBaseMethodCount  )  const [inline, virtual]
 

Return the nomber of internal C++ hard coded method that the class can process.

Reimplemented in NLAIAGENT::CActorScript, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CMainAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript.

Definition at line 69 of file agent_manager.h.

References NLAIAGENT::IBasicAgent::getMethodIndexSize().

00070                 {
00071                         return IAgent::getMethodIndexSize();
00072                 }               

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::IAgent::getDebugString std::string &  t  )  const [virtual, inherited]
 

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.

Implements NLAIC::IBasicType.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript.

Definition at line 106 of file agents.cpp.

References NLAIC::stringGetBuild(), and t.

00107         {
00108                 t += NLAIC::stringGetBuild("class IAgent<%4x>",this);
00109         }

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::IBasicAgent::getMethodIndexSize  )  const [virtual, inherited]
 

getMethodIndexSize define the nomber of method define in the class.

Reimplemented from NLAIAGENT::IObjectIA.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript.

Definition at line 447 of file agents.cpp.

References sint32.

Referenced by getBaseMethodCount(), NLAIAGENT::CAgentScript::getMethodeMemberDebugString(), NLAIAGENT::CAgentScript::getMethodIndexSize(), NLAIAGENT::CLocalAgentMail::getMethodIndexSize(), NLAIAGENT::CActor::getMethodIndexSize(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::CAgentScript::runMethodBase(), and NLAIAGENT::CActor::runMethodeMember().

00448         {
00449                 return IObjectIA::getMethodIndexSize() + _LastM;
00450         }       

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(), NLAIAGENT::CActor::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::IAgent::getType  )  const [virtual, inherited]
 

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).

Implements NLAIC::IBasicType.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentClockTimer, NLAIAGENT::CMainAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript.

Definition at line 277 of file agents.cpp.

References NLAIAGENT::IAgent::IdAgent.

Referenced by NLAIAGENT::CComponentHandle::getComponent(), and NLAIAGENT::IAgent::processMessages().

00278         {               
00279                 return *IdAgent;
00280         }

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         }

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::IAgent::isEqual const IBasicObjectIA a  )  const [virtual, inherited]
 

Implementation of the isEqual of the IBasicObjectIA.

Implements NLAIAGENT::IBasicObjectIA.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript.

Definition at line 111 of file agents.cpp.

00112         {
00113                 return true;
00114         }

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 NLAIAGENT::CActor::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         }

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::IAgent::load NLMISC::IStream is  )  [virtual, inherited]
 

Load the class from a stream.

Reimplemented from NLAIAGENT::IAgentComposite.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript.

Definition at line 131 of file agents.cpp.

Referenced by NLAIAGENT::CActor::load().

00132         {       
00133                 IBasicAgent::load(is);
00134                 IAgentComposite::load(is);              
00135         }               

const NLAIC::IBasicType * NLAIAGENT::IAgent::newInstance  )  const [virtual, inherited]
 

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

Implements NLAIC::IBasicType.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentClockTimer, NLAIAGENT::CMainAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript.

Definition at line 98 of file agents.cpp.

References NLAIAGENT::IConnectIA::getParent(), and NLAIAGENT::IAgent::IAgent().

00099         {       
00100                 NLAIC::IBasicInterface *m;
00101                 if(getParent() != NULL) m = new IAgent((IBasicAgent *)getParent());
00102                 else m = new IAgent(NULL);
00103                 return m;
00104         }

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         }

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::IAgent::processMessages  )  [virtual, inherited]
 

The processMessages method, process the loop/Run message.

Implements NLAIAGENT::IBasicAgent.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, and NLAIAGENT::CAgentScript.

Definition at line 200 of file agents.cpp.

References NLAIC::IBasicType::clone(), NLAIAGENT::IBasicAgent::getMail(), NLAIAGENT::IMailBox::getMessage(), NLAIAGENT::IMailBox::getMessageCount(), NLAIAGENT::IMessageBase::getSender(), NLAIAGENT::IAgent::getType(), NLAIC::IBasicType::getType(), NLAIAGENT::IMailBox::popMessage(), NLAIAGENT::IMessageBase::setMethodIndex(), NLAIAGENT::IMessageBase::setPerformatif(), NLAIAGENT::IMessageBase::setReceiver(), NLAIAGENT::IMessageBase::setSender(), and sint.

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

00201         {
00202                 IMailBox *mail = getMail();
00203                 //const IMailBox::TListMessage &l = mail->getMesseageListe();
00204                 sint n = mail->getMessageCount();
00205 
00206                 while(/*l.begin() != l.end()*/ n --)
00207                 {
00208                         const IMessageBase &msg = getMail()->getMessage();
00209 #ifdef NL_DEBUG
00210         const char *msgBase = (const char *)msg.getType();
00211         const char *classBase = (const char *)getType();
00212 #endif
00213                         try
00214                         {
00215                                 (void)IBasicAgent::run( msg );
00216                                 mail->popMessage();
00217                         }
00218                         catch(NLAIE::IException &)
00219                         {
00220                                 // We send an Error message because the incoming message isn't processed.
00221                                 IMessageBase *o = (IMessageBase *)msg.clone();
00222                                 o->setMethodIndex(-1,-1);
00223                                 o->setSender(this);
00224                                 o->setPerformatif(IMessageBase::PError);
00225                                 o->setReceiver((IObjectIA *)msg.getSender());
00226                                 ((IObjectIA *)msg.getSender())->sendMessage(o);
00227 
00228                                 mail->popMessage();
00229                         }               
00230                 }
00231         }

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::IAgent::run  )  [virtual, inherited]
 

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

Implements NLAIAGENT::IBasicAgent.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMainAgentScript, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, and NLAIAGENT::COperatorScript.

Definition at line 236 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::runChildren().

Referenced by NLAIAGENT::CActor::run().

00237         {       
00238                 /*nlinfo("%s<%4x> go to run %s with %d childs:",Shift.c_str(),this, (const char *)getType(),_AgentList.size());
00239                 Shift += "\t";
00240                 kShift++;*/
00241 
00242                 runChildren();          // Gestion des fils
00243                 getMail()->run();       // Execution de la boite aux lettres
00244 
00245                 processMessages();      // Traitement de ses propres messages
00246 
00247                 if(haveActivity() && getState().ResultState == processIdle) runActivity();
00248 
00249                 /*kShift --;
00250                 std::string chaine;
00251                 sint i;
00252                 for(i = 0; i < (sint)kShift; i ++)
00253                 {
00254                         chaine += Shift [i];                            
00255                 }
00256                 Shift = chaine;*/
00257 
00258 
00259                 return getState();  
00260         }

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  index,
IObjectIA
[virtual, inherited]
 

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::IObjectIA.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CAgentWatchTimer.

Definition at line 494 of file agents.cpp.

References NLAIAGENT::_GetMailer, NLAIAGENT::_GetNumId, NLAIAGENT::_RunAsk, NLAIAGENT::_RunTel, NLAIAGENT::IConnectIA::getParent(), NLAIC::IPointerGestion::incRef(), index, param, NLAIAGENT::IObjectIA::CProcessResult::Result, NLAIAGENT::IBasicAgent::run(), sint32, and t.

00495         {
00496                 IBaseGroupType *param = (IBaseGroupType *)p;
00497 
00498                 switch(index - IObjectIA::getMethodIndexSize())
00499                 {
00500                 case _GetMailer:
00501                         {
00502                                 IObjectIA::CProcessResult a;                            
00503                                 a.Result = new CLocalAgentMail(this);                           
00504                                 return a;
00505                         }                       
00506                         break;
00507 
00508                 case _Father:
00509                         {
00510                                 IObjectIA::CProcessResult a;
00511                                 IRefrence *father = getParent();
00512                                 if ( father )
00513                                         a.Result = new CLocalAgentMail( (IBasicAgent *) father );                               
00514                                 else
00515                                 {
00516                                         a.Result = &DigitalType::NullOperator;
00517                                         a.Result->incRef();
00518                                 }
00519                                 return a;
00520                         }       
00521                         break;
00522 
00523                 case _RunAsk:
00524                 case _RunTel:
00525                         {
00526                                 IObjectIA::CProcessResult a;
00527                                 a.Result = run((const IMessageBase &)*param->get());
00528                                 return a;
00529                         }
00530                         break;
00531 
00532                 case _GetNumId:         
00533                         {                               
00534                                 IObjectIA::CProcessResult a;
00535                                 std::string t;
00536                                 ((const IWordNumRef &)*this).getNumIdent().getDebugString(t);
00537                                 a.Result = new CStringType(CStringVarName(t.c_str()));
00538                                 return a;
00539                         }
00540                         break;
00541 
00542                 }
00543                 return IConnectIA::runMethodeMember(index,p);
00544         }

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 NLAIAGENT::CActor::runMethodeMember().

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

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::IAgent::save NLMISC::IStream os  )  [virtual, inherited]
 

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

Reimplemented from NLAIAGENT::IAgentComposite.

Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript.

Definition at line 125 of file agents.cpp.

Referenced by NLAIAGENT::CActor::save().

00126         {                               
00127                 IBasicAgent::save(os);
00128                 IAgentComposite::save(os);
00129         }

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         }


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().

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 * 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 file:
Generated on Tue Mar 16 09:55:36 2004 for NeL by doxygen 1.3.6