NLAIAGENT::CLocalAgentMail Class Reference

#include <agent_local_mailer.h>

Inheritance diagram for NLAIAGENT::CLocalAgentMail:

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

Detailed Description

This class define an agent that it can assume the local communication role of an ather agent. This agent can be considered as an mail box agent.

Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 40 of file agent_local_mailer.h.

Public Member Functions

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

virtual sint getChildCoun () const
const IBasicAgentgetHost () 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
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 &h) const
virtual bool isLocal ()
 If the result is true the object is loclal else its a representation of an object on the server. By the method return true.

virtual TQueue isMember (const IVarName *h, const IVarName *m, const IObjectIA &p) const
virtual void Kill ()
 Call this function to destroy an agent including its referneces in other agents and its childs.

 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 CProcessResult runMethodeMember (sint32 m, IObjectIA *p)
virtual CProcessResult runMethodeMember (sint32 h, sint32 m, IObjectIA *p)
virtual CProcessResult sendMessage (const IVarName &, IObjectIA *)
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.

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 ~CLocalAgentMail ()
Some IBasicAgent method.
virtual const CProcessResult & runStep ()
IBasicAgent method.
virtual std::list< IBasicAgent
* >::iterator 
addChild (IBasicAgent *p)
virtual bool haveActivity () const
 allow to know if the agent have an activity process to run.

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

virtual void processMessages ()
virtual void removeChild (std::list< IBasicAgent * >::iterator &iter)
virtual void removeChild (const IBasicAgent *p)
virtual IObjectIA::CProcessResult runActivity ()
 Mailer don't have activity or own activity.

virtual void runChildren ()
virtual IObjectIA::CProcessResult sendMessage (IObjectIA *msg)
IBasicInterface 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)
IObjectIA method.
virtual sint32 getMethodIndexSize () const
virtual const IObjectIAgetStaticMember (sint32 i) const
virtual sint32 getStaticMemberIndex (const IVarName &m) const
virtual sint32 getStaticMemberSize () const
 Member are th host member attribut.

virtual bool setStaticMember (sint32 i, IObjectIA *o)
IBasicObjectIA method.
virtual bool isEqual (const IBasicObjectIA &a) const
 Implementation of the isEqual of the IBasicObjectIA.

IObjectIA method.
virtual const CProcessResult & run ()
 Have no run to do.

Some IBasicAgent method.
virtual const CProcessResult & runStep ()

Static Public Attributes

const NLAIC::CIdentTypeIdAgent = NULL
const NLAIC::CIdentType LocalAgentMail
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)
Some IBasicAgent method.
virtual bool runChildrenStepByStep ()
 Activates the child agents.


Protected Attributes

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

CProcessResult _RunState
 Internal state of the agent.

sint _SizeChild

Private Attributes

IBasicAgent_HostAgent
 host agent where we have to establish communication.


Constructor & Destructor Documentation

NLAIAGENT::CLocalAgentMail::CLocalAgentMail  )  [inline]
 

Definition at line 50 of file agent_local_mailer.h.

References _HostAgent.

Referenced by clone(), and newInstance().

00050                                  :IAgent(NULL),_HostAgent(NULL)
00051                 {
00052                 }

NLAIAGENT::CLocalAgentMail::CLocalAgentMail IBasicAgent host  ) 
 

Definition at line 31 of file agent_local_mailer.cpp.

References _HostAgent, and NLAIAGENT::IConnectIA::connect().

00031                                                          :IAgent(NULL)
00032         {
00033                 _HostAgent = host;
00034                 if(_HostAgent != NULL) connect(_HostAgent);
00035                 //
00036         }

NLAIAGENT::CLocalAgentMail::~CLocalAgentMail  )  [virtual]
 

Definition at line 38 of file agent_local_mailer.cpp.

00039         {
00040                 /*if(_HostAgent) 
00041                 {
00042                         //_HostAgent->onKill(this);                     
00043                         Kill();
00044 
00045                         //_HostAgent->release();
00046 
00047                 }
00048                 else Kill();*/
00049         }


Member Function Documentation

virtual std::list<IBasicAgent *>::iterator NLAIAGENT::CLocalAgentMail::addChild IBasicAgent p  )  [inline, virtual]
 

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.

Reimplemented from NLAIAGENT::IAgentComposite.

Definition at line 187 of file agent_local_mailer.h.

References _HostAgent, and NLAIAGENT::IBasicAgent::addChild().

00188                 {
00189                         return _HostAgent->addChild(p);
00190                 }

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         }

virtual TQueue NLAIAGENT::CLocalAgentMail::canProcessMessage const IVarName m  )  [inline, virtual]
 

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

Definition at line 161 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::canProcessMessage(), and NLAIAGENT::TQueue.

00162                 {
00163                         return _HostAgent->canProcessMessage(m);
00164                 }

virtual const NLAIC::IBasicType* NLAIAGENT::CLocalAgentMail::clone  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 94 of file agent_local_mailer.h.

References _HostAgent, CLocalAgentMail(), and x.

00095                 {
00096                         //if(_HostAgent != NULL) _HostAgent->incRef();
00097                         NLAIC::IBasicType *x = new CLocalAgentMail(_HostAgent);                 
00098                         return x;
00099                 }

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(), 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 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                 }

virtual void NLAIAGENT::CLocalAgentMail::getDebugString std::string &  t  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 101 of file agent_local_mailer.h.

References _HostAgent, NLAIC::IBasicType::getType(), NLAIC::stringGetBuild(), and t.

00102                 {
00103                         if(_HostAgent != NULL)  t += NLAIC::stringGetBuild("CLocalAgentMail for '%s' agents",(const char *)_HostAgent->getType());
00104                         else t += "CLocalAgentMail for 'NILL' agents";
00105                 }

const IBasicAgent* NLAIAGENT::CLocalAgentMail::getHost  )  const [inline]
 

Definition at line 56 of file agent_local_mailer.h.

References _HostAgent.

Referenced by NLAIAGENT::IMessageBase::runMethodeMember(), NLAIAGENT::CProxyAgentMail::sendMessage(), and sendMessage().

00057                 {
00058                         return _HostAgent;
00059                 }

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         }

virtual sint32 NLAIAGENT::CLocalAgentMail::getMethodIndexSize  )  const [inline, virtual]
 

getMethodIndexSize define the nomber of method define in the class.

Reimplemented from NLAIAGENT::IBasicAgent.

Definition at line 138 of file agent_local_mailer.h.

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

00139                 {
00140                         return _HostAgent->getMethodIndexSize();
00141                 }

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                 }

virtual const IObjectIA* NLAIAGENT::CLocalAgentMail::getStaticMember sint32  i  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 128 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::getStaticMember(), and sint32.

00129                 {
00130                         return _HostAgent->getStaticMember(i);
00131                 }

virtual sint32 NLAIAGENT::CLocalAgentMail::getStaticMemberIndex const IVarName m  )  const [inline, virtual]
 

to get the index of a given components name.

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 123 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::getStaticMemberIndex(), and sint32.

00124                 {
00125                         return _HostAgent->getStaticMemberIndex(m);
00126                 }

virtual sint32 NLAIAGENT::CLocalAgentMail::getStaticMemberSize  )  const [inline, virtual]
 

Member are th host member attribut.

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 118 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::getStaticMemberSize(), and sint32.

00119                 {
00120                         return _HostAgent->getStaticMemberSize();
00121                 }

virtual const NLAIC::CIdentType& NLAIAGENT::CLocalAgentMail::getType  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 82 of file agent_local_mailer.h.

References LocalAgentMail.

00083                 {
00084                         return LocalAgentMail;
00085                 }

virtual bool NLAIAGENT::CLocalAgentMail::haveActivity  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 211 of file agent_local_mailer.h.

00212                 {
00213                         return false;
00214                 }       

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         }

virtual sint32 NLAIAGENT::CLocalAgentMail::isClassInheritedFrom const IVarName h  )  const [inline, virtual]
 

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

Definition at line 146 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::isClassInheritedFrom(), and sint32.

00147                 {
00148                         return _HostAgent->isClassInheritedFrom(h);
00149                 }

virtual bool NLAIAGENT::CLocalAgentMail::isEqual const IBasicObjectIA a  )  const [inline, virtual]
 

Implementation of the isEqual of the IBasicObjectIA.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 170 of file agent_local_mailer.h.

References _HostAgent, and NLAIAGENT::IBasicObjectIA::isEqual().

00171                 {
00172                         const CLocalAgentMail &l = (const CLocalAgentMail &)a;
00173                         if(l._HostAgent != NULL && _HostAgent != NULL)
00174                         {
00175                                 return _HostAgent->isEqual(*l._HostAgent);
00176                         }
00177                         else
00178                         {
00179                                 return false;
00180                         }
00181                 }

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::CLocalAgentMail::isMember const IVarName h,
const IVarName m,
const IObjectIA p
const [virtual]
 

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

Definition at line 73 of file agent_local_mailer.cpp.

References _HostAgent, NLAIAGENT::IObjectIA::isMember(), NLAIAGENT::IBasicAgent::isMember(), and NLAIAGENT::TQueue.

00074         {
00075                 if(_HostAgent)
00076                 {
00077                         return _HostAgent->isMember(h,m,p);
00078                 }
00079                 else
00080                 {
00081                         const NLAIAGENT::IObjectIA *cl = (const NLAIAGENT::IObjectIA *)(IAgent::IdAgent->getFactory())->getClass();
00082                         return cl->isMember(h,m,p);
00083                 }
00084         }

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         }

virtual void NLAIAGENT::CLocalAgentMail::load NLMISC::IStream is  )  [inline, virtual]
 

Load the class from a stream.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 70 of file agent_local_mailer.h.

References _HostAgent, num, and NLAIC::IPointerGestion::release().

00071                 {
00072                         IBasicAgent::load(is);
00073 
00074                         NLAIC::CIdentTypeAlloc id;
00075                         is >> id;
00076                         IWordNumRef *num = (IWordNumRef *)id.allocClass();
00077                         num->load(is);
00078                         if(_HostAgent != NULL) _HostAgent->release();
00079                         _HostAgent = (IBasicAgent *)((const IRefrence *)*num);
00080                         delete num;
00081                 }

virtual const NLAIC::IBasicType* NLAIAGENT::CLocalAgentMail::newInstance  )  const [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 87 of file agent_local_mailer.h.

References _HostAgent, CLocalAgentMail(), and x.

00088                 {                       
00089                         NLAIC::IBasicType *x = new CLocalAgentMail(_HostAgent);
00090                         //incRef();
00091                         return x;
00092                 }

void NLAIAGENT::CLocalAgentMail::onKill IConnectIA a  )  [virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 58 of file agent_local_mailer.cpp.

References _HostAgent, NLAIAGENT::IAgent::onKill(), and NLAIC::IPointerGestion::release().

00059         {
00060                 if(a == _HostAgent)
00061                 {
00062                         _HostAgent = NULL;
00063                         IAgent::onKill(a);
00064                         release();
00065                 }
00066                 else
00067                 {
00068                         IAgent::onKill(a);
00069                 }
00070                 
00071         }

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::CLocalAgentMail::processMessages  )  [virtual]
 

The processMessages method, process the loop/Run message.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 55 of file agent_local_mailer.cpp.

00056         {
00057         }

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(), load(), NLAISCRIPT::CMethodContextDebug::loadContext(), NLAISCRIPT::CCompilateur::onEndClass(), NLAIAGENT::CLocalMailBox::onKill(), NLAIAGENT::IAgent::onKill(), 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 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         }

virtual void NLAIAGENT::CLocalAgentMail::removeChild std::list< IBasicAgent * >::iterator &  iter  )  [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgentComposite.

Definition at line 196 of file agent_local_mailer.h.

References _HostAgent, and NLAIAGENT::IBasicAgent::removeChild().

00197                 {
00198                         _HostAgent->removeChild(iter);
00199                 }

virtual void NLAIAGENT::CLocalAgentMail::removeChild const IBasicAgent p  )  [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgentComposite.

Definition at line 191 of file agent_local_mailer.h.

References _HostAgent, and NLAIAGENT::IBasicAgent::removeChild().

00192                 {
00193                         _HostAgent->removeChild(p);
00194                 }

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         }

virtual const CProcessResult& NLAIAGENT::CLocalAgentMail::run void   )  [inline, virtual]
 

Have no run to do.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 111 of file agent_local_mailer.h.

00112                 {
00113                         return IObjectIA::ProcessRun;
00114                 }

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::CLocalAgentMail::runActivity  )  [inline, virtual]
 

Mailer don't have activity or own activity.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 207 of file agent_local_mailer.h.

00208                 {
00209                         return ProcessRun;
00210                 }

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::CLocalAgentMail::runChildren  )  [virtual]
 

Run all child.

Reimplemented from NLAIAGENT::IAgent.

Definition at line 51 of file agent_local_mailer.cpp.

00052         {
00053 
00054         }

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                 }

virtual CProcessResult NLAIAGENT::CLocalAgentMail::runMethodeMember sint32  m,
IObjectIA p
[inline, virtual]
 

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

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

Reimplemented from NLAIAGENT::IBasicAgent.

Definition at line 156 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IBasicAgent::runMethodeMember(), and sint32.

00157                 {
00158                         return _HostAgent->runMethodeMember(m,p);
00159                 }               

virtual CProcessResult NLAIAGENT::CLocalAgentMail::runMethodeMember sint32  h,
sint32  m,
IObjectIA p
[inline, virtual]
 

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

Definition at line 151 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IBasicAgent::runMethodeMember(), and sint32.

00152                 {
00153                         return _HostAgent->runMethodeMember(h,m,p);
00154                 }

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         }       

virtual void NLAIAGENT::CLocalAgentMail::save NLMISC::IStream os  )  [inline, virtual]
 

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

Reimplemented from NLAIAGENT::IAgent.

Definition at line 63 of file agent_local_mailer.h.

References _HostAgent, r, and NLMISC::IStream::serial().

00064                 {
00065                         IBasicAgent::save(os);
00066                         IWordNumRef &r = (IWordNumRef&)*((IConnectIA *)_HostAgent);
00067                         os.serial( (NLAIC::CIdentType &) (r.getType()) );
00068                         r.save(os);
00069                 }

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         }

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         }

IObjectIA::CProcessResult NLAIAGENT::CLocalAgentMail::sendMessage IObjectIA m  )  [virtual]
 

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

Reimplemented from NLAIAGENT::IConnectIA.

Definition at line 87 of file agent_local_mailer.cpp.

References _HostAgent, NLAIAGENT::IListBasicManager::get(), NLAIAGENT::IListBasicManager::getFront(), getHost(), NLAIAGENT::INombreDefine::getNumber(), NLAIC::IBasicType::getType(), and NLAIAGENT::IConnectIA::setParent().

00088         {
00089                 IMessageBase *msg = (IMessageBase *)m;
00090 
00091                 if(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass == msg->getType() )
00092                 {                       
00093                         const INombreDefine *n = (const INombreDefine *)msg->getFront();
00094                         if(n->getNumber() != 0.0)
00095                         {
00096                                 const CLocalAgentMail *parent = (const CLocalAgentMail *)msg->get();
00097                                 setParent((const IWordNumRef *)*parent->getHost());
00098                         }
00099                         return IObjectIA::CProcessResult();                     
00100                 }
00101                 else
00102                 {
00103                         return ((IObjectIA  *)_HostAgent)->sendMessage(msg);
00104                 }
00105         }       

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

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

virtual bool NLAIAGENT::CLocalAgentMail::setStaticMember sint32  i,
IObjectIA o
[inline, virtual]
 

to cahnge a given components given by a string.

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 133 of file agent_local_mailer.h.

References _HostAgent, NLAIAGENT::IObjectIA::setStaticMember(), and sint32.

00134                 {
00135                         return _HostAgent->setStaticMember(i,o);
00136                 }

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

IBasicAgent* NLAIAGENT::CLocalAgentMail::_HostAgent [private]
 

host agent where we have to establish communication.

Definition at line 47 of file agent_local_mailer.h.

Referenced by addChild(), canProcessMessage(), CLocalAgentMail(), clone(), getDebugString(), getHost(), getMethodIndexSize(), getStaticMember(), getStaticMemberIndex(), getStaticMemberSize(), isClassInheritedFrom(), isEqual(), isMember(), load(), newInstance(), onKill(), removeChild(), runMethodeMember(), save(), sendMessage(), and setStaticMember().

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

const NLAIC::CIdentType CLocalAgentMail::LocalAgentMail [static]
 

Initial value:

 NLAIC::CIdentType( "LocalAgentMail", 
                NLAIC::CSelfClassFactory((const NLAIC::IBasicInterface &)CLocalAgentMail((IBasicAgent *)&staticAgent)), 
                NLAIC::CTypeOfObject::tAgent,
                NLAIC::CTypeOfOperator(NLAIC::CTypeOfOperator::opNone) )

Definition at line 514 of file static_def_init.cpp.

Referenced by getType().

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

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

Definition at line 147 of file baseai.cpp.

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

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

Definition at line 148 of file baseai.cpp.

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

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

Definition at line 149 of file baseai.cpp.

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

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

Definition at line 145 of file baseai.cpp.

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

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

Definition at line 146 of file baseai.cpp.

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

Definition at line 144 of file baseai.cpp.

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

Definition at line 143 of file baseai.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 09:18:02 2004 for NeL by doxygen 1.3.6