#include <actor.h>
Inheritance diagram for NLAIAGENT::CActor:
Definition at line 46 of file actor.h.
Base class member method. | |
virtual const NLAIC::IBasicType * | clone () const |
virtual void | getDebugString (std::string &t) const |
virtual sint32 | getMethodIndexSize () const |
virtual const NLAIC::CIdentType & | getType () const |
virtual bool | isEqual (const IBasicObjectIA &a) const |
Implementation of the isEqual of the IBasicObjectIA. | |
virtual TQueue | isMember (const NLAIAGENT::IVarName *, const NLAIAGENT::IVarName *, const IObjectIA &) const |
virtual void | load (NLMISC::IStream &is) |
virtual const NLAIC::IBasicType * | newInstance () const |
virtual void | processMessages () |
virtual const CProcessResult & | run () |
virtual IObjectIA::CProcessResult | runMethodeMember (sint32, IObjectIA *) |
virtual void | save (NLMISC::IStream &os) |
const NLAIC::CIdentType | IdActor |
Some IObjectIA method. | |
virtual TQueue | isMember (const IVarName *, const IVarName *, const IObjectIA &) const |
virtual CProcessResult | runMethodeMember (sint32, sint32, IObjectIA *) |
Some IBasicAgent method. | |
virtual void | runChildren () |
virtual bool | runChildrenStepByStep () |
Activates the child agents. | |
Public Member Functions | |
void | activate () |
Activates the actor. | |
void | addTransition (NLAILOGIC::IBaseCond *, std::vector< CActor * > &, bool) |
Adds a transition, ie a condition and a list of newly activated agents. | |
CActor (const CActor &) | |
copy constructor | |
CActor (IAgent *, bool activated=false) | |
Builds and actor with its father. | |
CActor () | |
Default constructor. | |
virtual TQueue | canProcessMessage (const IVarName &) |
void | connect (IConnectIA *b) |
sint32 | decRef () |
Decrement the reference of an object. | |
virtual sint | getChildCoun () const |
virtual const CIdent | getIdentType () const |
virtual const std::string | getInfo () |
IMailBox * | getMail () const |
Get the mail box letter. | |
virtual std::string | getMethodeMemberDebugString (sint32, sint32) const |
virtual const IRefrence * | getOwner () const |
To get the top level parent of this agent. | |
IConnectIA * | getParent () const |
to get the agent parents | |
const sint32 & | getRef () const |
get the refence count. | |
virtual const CProcessResult & | getState () const |
Get the curent state of the agent. | |
const IObjectIA * | getStaticMember (const IVarName &compName) const |
virtual const IObjectIA * | getStaticMember (sint32) const |
virtual sint32 | getStaticMemberIndex (const IVarName &) const |
virtual sint32 | getStaticMemberSize () const |
virtual bool | haveActivity () const |
allow to know if the agent have an activity process to run. | |
void | incRef () |
Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list. | |
virtual void | init (IObjectIA *) |
bool | isActivated () |
Returns true if the actor has a token. | |
virtual sint32 | isClassInheritedFrom (const IVarName &) const |
virtual bool | isLocal () |
If the result is true the object is loclal else its a representation of an object on the server. By the method return true. | |
virtual void | Kill () |
Call this function to destroy an agent including its referneces in other agents and its childs. | |
virtual void | onActivate () |
Callback called at the activation of the actor. | |
virtual void | onKill (IConnectIA *A) |
Called by an agent who's destroyed te remove its references. | |
virtual void | onUnActivate () |
Callback called when the agent is unactivated. | |
operator const IWordNumRef & () const | |
to get a word num ref of the agents. | |
operator const IWordNumRef * () const | |
to get a word num ref pointer of the agents. | |
bool | operator== (const IBasicObjectIA &classType) const |
virtual void | release () |
Release allow to release the pointer. The last release when the _Ref is nul delete the object. | |
void | removeConnection (IConnectIA *Agent) |
To release a connection. | |
virtual IObjectIA::CProcessResult | runActivity () |
Mailer do'nt have own activity. | |
virtual CProcessResult | sendMessage (const IVarName &, IObjectIA *) |
virtual IObjectIA::CProcessResult | sendMessage (IObjectIA *m) |
virtual IObjectIA::CProcessResult | sendMessage (IMessageBase *msg, IBasicAgent &receiver) |
Send message to an receiver agent. | |
virtual IObjectIA::CProcessResult | sendMessage (IMessageBase *msg) |
Send a message to the agent. | |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
virtual void | setParent (const IWordNumRef *parent) |
to set the parent of the agents. | |
virtual void | setState (TProcessStatement s, IObjectIA *result) |
Set the state of an agent. | |
virtual bool | setStaticMember (sint32, IObjectIA *) |
bool | setStaticMember (const IVarName &compName, IObjectIA *change) |
void | setTypeAt (uint64 t) |
That function allow user to change the 7 bit of the type field in the sid agent number;. | |
void | unActivate () |
Unactivates the actor. | |
~CActor () | |
Static Public Attributes | |
const NLAIC::CIdentType * | IdAgent = NULL |
TProcessStatement | ProcessBuzzy = processBuzzy |
TProcessStatement | ProcessEnd = processEnd |
TProcessStatement | ProcessError = processError |
TProcessStatement | ProcessIdle = processIdle |
TProcessStatement | ProcessLocked = processLocked |
CProcessResult | ProcessNotComplit = IObjectIA::CProcessResult(processNotComplete) |
CProcessResult | ProcessRun = IObjectIA::CProcessResult() |
Protected Types | |
enum | c_funcs_id { fid_activate, fid_unActivate, fid_forwardActivity } |
Protected Member Functions | |
void | connectLoadStream (NLMISC::IStream &is) |
virtual void | forwardActivity (std::vector< CActor * > &, bool stay_active=false) |
virtual void | forwardActivity (CActor *, bool stay_active=false) |
void | refLoadStream (NLMISC::IStream &is) |
the loader of the class. | |
virtual IObjectIA * | run (const IMessageBase &m) |
virtual IMessageBase * | runAchieve (const IMessageBase &m) |
virtual IMessageBase * | runAsk (const IMessageBase &m) |
virtual IMessageBase * | runBreak (const IMessageBase &m) |
virtual IMessageBase * | runError (const IMessageBase &m) |
virtual IMessageBase * | runEven (const IMessageBase &m) |
virtual IMessageBase * | runExec (const IMessageBase &m) |
virtual IMessageBase * | runKill (const IMessageBase &m) |
virtual IMessageBase * | runService (const IMessageBase &m) |
virtual IMessageBase * | runTell (const IMessageBase &m) |
void | setNumRef (const IWordNumRef &ref) |
Protected Attributes | |
TBasicList | _AgentList |
TListIBasic | _Connected |
TListIBasic | _Connection |
bool | _IsActivated |
IMailBox * | _Mail |
Box letter for communication service. | |
CProcessResult | _RunState |
Internal state of the agent. | |
sint | _SizeChild |
|
Definition at line 50 of file actor.h.
00051 { 00052 fid_activate, 00053 fid_unActivate, 00054 fid_forwardActivity 00055 }; |
|
Default constructor.
Definition at line 8 of file actor.cpp. Referenced by clone(), and newInstance().
00008 : IAgent(NULL) 00009 { 00010 } |
|
Builds and actor with its father.
Definition at line 13 of file actor.cpp. References _IsActivated.
00013 : IAgent( father ) 00014 { 00015 _IsActivated = activated; 00016 } |
|
copy constructor
Definition at line 19 of file actor.cpp. References _IsActivated.
00019 : IAgent( c ) 00020 { 00021 _IsActivated = c._IsActivated; 00022 } |
|
Definition at line 24 of file actor.cpp.
00025 { 00026 // for (int i = 0; i < c._Transitions.size(); i++ ) 00027 // _Transitions[i]->release(); 00028 } |
|
Activates the actor.
Definition at line 37 of file actor.cpp. References _IsActivated, and onActivate(). Referenced by forwardActivity(), and runMethodeMember().
00038 { 00039 if ( !_IsActivated ) 00040 { 00041 onActivate(); 00042 _IsActivated = true; 00043 } 00044 } |
|
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 } |
|
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 } |
|
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 } |
|
Adds a transition, ie a condition and a list of newly activated agents.
Definition at line 84 of file actor.cpp.
00085 { 00086 00087 } |
|
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 } |
|
This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne. Reimplemented from NLAIAGENT::IAgent. Definition at line 105 of file actor.cpp. References CActor().
|
|
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 } |
|
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 } |
|
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 } |
|
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 }
|
|
Transfers activity to another actor. The second arg bool must be set to true for this agent to stay active, false otherwise. Definition at line 70 of file actor.cpp. References unActivate().
00071 { 00072 std::vector<CActor *>::iterator it_act = actors.begin(); 00073 while ( it_act != actors.end() ) 00074 { 00075 ( *it_act )->activate(); 00076 it_act++; 00077 } 00078 // TODO: Envoi de message "activate" 00079 if ( !stay_active ) 00080 unActivate(); 00081 } |
|
Transfers activity to another actor. The second arg bool must be set to true for this agent to stay active, false otherwise. Definition at line 59 of file actor.cpp. References activate(), and unActivate(). Referenced by runMethodeMember().
00060 { 00061 receiver->activate(); 00062 00063 if ( !stay_active ) 00064 unActivate(); 00065 } |
|
Definition at line 358 of file agent.h. References NLAIAGENT::IAgentComposite::_SizeChild, and sint.
00359 { 00360 return _SizeChild; 00361 } |
|
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 } |
|
This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user. Reimplemented from NLAIAGENT::IAgent. Definition at line 121 of file actor.cpp. References _IsActivated, and t. Referenced by runMethodeMember().
00122 { 00123 t = "CActor "; 00124 if ( _IsActivated ) 00125 t += "<active>"; 00126 else 00127 t += "<idle>"; 00128 } |
|
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 }
|
|
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 } |
|
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 } |
|
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 } |
|
getMethodIndexSize define the nomber of method define in the class. Reimplemented from NLAIAGENT::IBasicAgent. Definition at line 263 of file actor.cpp. References NLAIAGENT::IBasicAgent::getMethodIndexSize(), and sint32.
00264 {
00265 return IAgent::getMethodIndexSize() + 2;
00266 }
|
|
To get the top level parent of this agent.
Definition at line 402 of file baseai.cpp. References NLAIAGENT::IRefrence::getParent().
|
|
to get the agent parents
Reimplemented from NLAIAGENT::IRefrence. Definition at line 511 of file baseai.cpp. Referenced by NLAIAGENT::CActorScript::activate(), NLAIAGENT::COperatorScript::calcPriority(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::COperatorScript::lookForGoals(), NLAIAGENT::CLocalMailBox::newInstance(), NLAIAGENT::IAgent::newInstance(), newInstance(), NLAIAGENT::IConnectIA::onKill(), NLAIAGENT::IBasicAgent::runAsk(), NLAIAGENT::CAgentScript::runAskDebugString(), NLAIAGENT::CAgentScript::runAskParentNotify(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAIAGENT::IConnectIA::setParent(), and NLAIAGENT::CActorScript::unActivate().
00512 { 00513 return (IConnectIA *)IRefrence::getParent(); 00514 } |
|
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 }
|
|
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 } |
|
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 } |
|
|
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 }
|
|
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 } |
|
getType return a unique string how represente the class, it can be the name of the class. This function is used for the sytem regstry class (see the definition of the template class Gen::CRegistry). Reimplemented from NLAIAGENT::IAgent. Definition at line 162 of file actor.cpp. References IdActor.
00163 { 00164 return IdActor; 00165 } |
|
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 } |
|
|
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 } |
|
Returns true if the actor has a token.
Definition at line 31 of file actor.cpp. References _IsActivated.
00032 { 00033 return _IsActivated; 00034 } |
|
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 }
|
|
Implementation of the isEqual of the IBasicObjectIA.
Reimplemented from NLAIAGENT::IAgent. Definition at line 130 of file actor.cpp.
00131 { 00132 return true; 00133 } |
|
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 } |
|
The method isMember(nameSubClass,methodName,param) return the best method correspondent to the search. remember we use the overloadind method. NameSubClass: if this pointer is not NULL then NameSubClass is the name of the base class were the method are defined. methodName: is the name of the class. param: is an IObjectIA where it defined the parametre of the method. lot of method use a IObjectIA vector object with an NLAIC::CIdentType as the the template argm. Reimplemented from NLAIAGENT::IObjectIA. Reimplemented in NLAIAGENT::CLocalAgentMail, and NLAIAGENT::CProxyAgentMail. Definition at line 452 of file agents.cpp. References NLAIAGENT::_GetNumId, NLAIAGENT::_RunAsk, NLAIAGENT::_RunTel, NLAISCRIPT::CParam::eval(), and NLAIAGENT::TQueue. Referenced by NLAIAGENT::CAgentScript::isMember(), NLAIAGENT::CLocalAgentMail::isMember(), and isMember().
00453 { 00454 if(className == NULL) 00455 { 00456 TQueue a; 00457 for(int i = 0; i < _LastM; i++) 00458 { 00459 if(*methodName == IBasicAgent::_Method[i].MethodName) 00460 { 00461 CObjectType *c; 00462 if(i == _RunTel || i == _RunAsk) 00463 { 00464 static NLAISCRIPT::CParam paramMsg(1,new NLAISCRIPT::COperandSimple (new NLAIC::CIdentType(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass))); 00465 00466 if(paramMsg.eval((NLAISCRIPT::CParam &)p) < 0.0) continue; 00467 c = new CObjectType(new NLAIC::CIdentType(NLAISCRIPT::CMessageClass::IdMessageClass)); 00468 } 00469 else 00470 if (i == _GetNumId) 00471 { 00472 c = new CObjectType(new NLAIC::CIdentType(CStringType::IdStringType)); 00473 } 00474 else 00475 { 00476 c = new CObjectType(new NLAIC::CIdentType(CLocalAgentMail::LocalAgentMail)); 00477 } 00478 a.push(CIdMethod(IBasicAgent::_Method[i].Index + IObjectIA::getMethodIndexSize(),0.0,NULL,c)); 00479 break; 00480 } 00481 } 00482 00483 if(a.size()) return a; 00484 else return IConnectIA::isMember(className,methodName,p); 00485 } 00486 return IConnectIA::isMember(className,methodName,p); 00487 } |
|
Definition at line 179 of file actor.cpp. References fid_activate, fid_forwardActivity, fid_unActivate, NLAIAGENT::IBasicAgent::isMember(), param, and NLAIAGENT::TQueue.
00180 { 00181 TQueue result; 00182 00183 result = IAgent::isMember( className, name, param ); 00184 00185 if ( result.size() ) 00186 return result; 00187 00188 // if(className != NULL) 00189 // { 00190 if ( *name == CStringVarName("activate") ) 00191 { 00192 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) ); 00193 result.push( NLAIAGENT::CIdMethod( fid_activate + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) ); 00194 } 00195 00196 if ( *name == CStringVarName("unActivate") ) 00197 { 00198 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) ); 00199 result.push( NLAIAGENT::CIdMethod( fid_unActivate + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) ); 00200 } 00201 00202 if ( *name == CStringVarName("forwardActivity") ) 00203 { 00204 CObjectType *r_type = new CObjectType( new NLAIC::CIdentType( NLAIC::CIdentType::VoidType ) ); 00205 result.push( NLAIAGENT::CIdMethod( fid_forwardActivity + IAgent::getMethodIndexSize(), 0.0,NULL, r_type ) ); 00206 } 00207 // } 00208 return result; 00209 } |
|
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 } |
|
Load the class from a stream. Reimplemented from NLAIAGENT::IAgent. Definition at line 174 of file actor.cpp. References NLAIAGENT::IAgent::load().
00175 { 00176 IAgent::load(is); 00177 } |
|
This function allow a new instance, that mean that the class is a class factory. Reimplemented from NLAIAGENT::IAgent. Definition at line 111 of file actor.cpp. References CActor(), and NLAIAGENT::IConnectIA::getParent().
00112 { 00113 NLAIC::IBasicInterface *m; 00114 if ( getParent() != NULL ) 00115 m = new CActor((IAgent *)getParent()); 00116 else 00117 m = new CActor(NULL); 00118 return m; 00119 } |
|
Callback called at the activation of the actor.
Definition at line 95 of file actor.cpp. Referenced by activate().
00096 {
00097 // Default behaviour: do nothing
00098 }
|
|
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 } |
|
Callback called when the agent is unactivated.
Definition at line 100 of file actor.cpp. Referenced by unActivate().
00101 {
00102 // default behaviour: do nothing
00103 }
|
|
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 }
|
|
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 }
|
|
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().
|
|
The processMessages method, process the loop/Run message. Reimplemented from NLAIAGENT::IAgent. Definition at line 135 of file actor.cpp. References NLAIAGENT::IAgent::processMessages().
00136 { 00137 IAgent::processMessages(); 00138 /* while(getMail()->getMessageCount()) 00139 { 00140 const IMessageBase &msg = getMail()->getMessage(); 00141 run( msg ); 00142 getMail()->popMessage(); 00143 }*/ 00144 } |
|
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 } |
|
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
The work of an agent. Typically agent process child message, process its message and run its activity. Reimplemented from NLAIAGENT::IAgent. Definition at line 146 of file actor.cpp. References _IsActivated, and NLAIAGENT::IAgent::run().
00147 { 00148 if ( _IsActivated ) 00149 { 00150 return IAgent::run(); 00151 } 00152 else 00153 return IObjectIA::ProcessRun; 00154 00155 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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 } |
|
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. Referenced by NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CAgentScript::runMethodeMember(), NLAIAGENT::CLocalAgentMail::runMethodeMember(), and runMethodeMember().
00490 {
00491 return IConnectIA::runMethodeMember(h,index,p);
00492 }
|
|
The methode runMethodeMember(sint32 index,IObjectIA *param) allow us to run a own member method. index: is the method id return by the isMember(const IVarName *,const IVarName *,const IObjectIA &) const method. param: is the parametre for the method. Reimplemented from NLAIAGENT::IBasicAgent. Definition at line 212 of file actor.cpp. References activate(), fid_activate, fid_forwardActivity, fid_unActivate, forwardActivity(), getDebugString(), NLAIAGENT::IBaseGroupType::getFront(), NLAIAGENT::IBasicAgent::getMethodIndexSize(), params, NLAIAGENT::IBaseGroupType::popFront(), r, NLAIAGENT::IBasicAgent::runMethodeMember(), sint32, NLAIAGENT::IBaseGroupType::size(), and unActivate().
00213 { 00214 if ( id < IAgent::getMethodIndexSize() ) 00215 return IAgent::runMethodeMember(id, params); 00216 00217 IObjectIA::CProcessResult r; 00218 00219 #ifdef NL_DEBUG 00220 std::string buf; 00221 getDebugString(buf); 00222 #endif 00223 00224 id = id - IAgent::getMethodIndexSize(); 00225 00226 if ( id == fid_activate ) 00227 { 00228 activate(); 00229 IObjectIA::CProcessResult r; 00230 r.ResultState = NLAIAGENT::processIdle; 00231 r.Result = NULL; 00232 } 00233 00234 if ( id == fid_unActivate ) 00235 { 00236 unActivate(); 00237 IObjectIA::CProcessResult r; 00238 r.ResultState = NLAIAGENT::processIdle; 00239 r.Result = NULL; 00240 } 00241 00242 if ( id == fid_forwardActivity ) 00243 { 00244 std::vector<CActor *> forwarded; 00245 if ( ( (NLAIAGENT::IBaseGroupType *) params)->size() ) 00246 { 00247 IBaseGroupType *fw = (IBaseGroupType *) ( ((NLAIAGENT::IBaseGroupType *)params) )->getFront(); 00248 ( ((NLAIAGENT::IBaseGroupType *)params))->popFront(); 00249 while ( fw->size() ) 00250 { 00251 forwarded.push_back( (CActor *) fw->getFront() ); 00252 fw->popFront(); 00253 } 00254 forwardActivity( forwarded, false ); 00255 } 00256 IObjectIA::CProcessResult r; 00257 r.ResultState = NLAIAGENT::processIdle; 00258 r.Result = NULL; 00259 } 00260 return r; 00261 } |
|
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 } |
|
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 } |
|
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 } |
|
programmer have to call this method to load or save internal attribut. Reimplemented from NLAIAGENT::IAgent. Definition at line 167 of file actor.cpp. References _IsActivated, NLAIAGENT::IAgent::save(), and NLMISC::IStream::serial().
00168 { 00169 IAgent::save(os); 00170 os.serial( (bool &) _IsActivated ); 00171 00172 } |
|
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 } |
|
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 } |
|
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 }
|
|
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 } |
|
Reimplemented from NLAIC::IPointerGestion. Definition at line 328 of file abstract_interface.h. References NLAIC::IBasicInterface::load(), and NLAIC::IBasicInterface::save().
|
|
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 } |
|
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 } |
|
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().
|
|
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 } |
|
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 } |
|
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 } |
|
Unactivates the actor.
Definition at line 47 of file actor.cpp. References _IsActivated, and onUnActivate(). Referenced by forwardActivity(), and runMethodeMember().
00048 { 00049 if ( _IsActivated ) 00050 { 00051 onUnActivate(); 00052 _IsActivated = false; 00053 } 00054 } |
|
|
Definition at line 427 of file baseai.h. Referenced by NLAIAGENT::IConnectIA::addInConnectedList(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::IConnectIA::removeInConnectedList(), and NLAIAGENT::IConnectIA::save(). |
|
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(). |
|
Definition at line 57 of file actor.h. Referenced by activate(), CActor(), getDebugString(), isActivated(), run(), save(), and unActivate(). |
|
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(). |
|
Internal state of the agent.
Definition at line 61 of file agent.h. Referenced by NLAIAGENT::IBasicAgent::getState(), and NLAIAGENT::IBasicAgent::setState(). |
|
|
Definition at line 105 of file actor.h. Referenced by getType(). |
|
Definition at line 77 of file static_def_init.cpp. Referenced by NLAIAGENT::IAgent::getType(). |
|
Define the an buzzy state for an agent all time in this state. Definition at line 147 of file baseai.cpp. |
|
Define the an end state for an agent all time in this state. Definition at line 148 of file baseai.cpp. |
|
Define the an error state for an agent all time in this state. Definition at line 149 of file baseai.cpp. |
|
Define the an idle state for an agent all time in this state. Definition at line 145 of file baseai.cpp. |
|
Define the an locked state for an agent all time in this state. Definition at line 146 of file baseai.cpp. |
|
Definition at line 144 of file baseai.cpp. |
|
Definition at line 143 of file baseai.cpp. |