#include <agent.h>
Inheritance diagram for NLAIAGENT::IAgentComposite:
Nevrax France
Definition at line 332 of file agent.h.
Some IObjectIA method. | |
virtual sint32 | getMethodIndexSize () const |
virtual TQueue | isMember (const IVarName *, const IVarName *, const IObjectIA &) const |
virtual CProcessResult | runMethodeMember (sint32 index, IObjectIA *) |
virtual CProcessResult | runMethodeMember (sint32, sint32, IObjectIA *) |
Public Member Functions | |
virtual TQueue | canProcessMessage (const IVarName &) |
virtual const IBasicType * | clone () const=0 |
void | connect (IConnectIA *b) |
sint32 | decRef () |
Decrement the reference of an object. | |
virtual sint | getChildCoun () const |
virtual void | getDebugString (std::string &) const=0 |
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 const CIdentType & | getType () const=0 |
virtual bool | haveActivity () const=0 |
allow to know if the agent have an activity process to run. | |
IAgentComposite (IBasicAgent *parent, IMailBox *m) | |
Contruct agent with an parent and an mail box. | |
IAgentComposite (IBasicAgent *parent) | |
Contruct agent with an parent. | |
void | incRef () |
Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list. | |
virtual void | init (IObjectIA *) |
virtual sint32 | isClassInheritedFrom (const IVarName &) const |
virtual bool | isEqual (const IBasicObjectIA &a) const=0 |
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 () |
this method define wat agent have to whene he die. | |
virtual const IBasicType * | newInstance () const=0 |
virtual void | onKill (IConnectIA *A) |
Called by an agent who's destroyed te remove its references. | |
operator const IWordNumRef & () const | |
to get a word num ref of the agents. | |
operator const IWordNumRef * () const | |
to get a word num ref pointer of the agents. | |
bool | operator== (const IBasicObjectIA &classType) const |
virtual void | processMessages ()=0 |
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 const CProcessResult & | run ()=0 |
virtual IObjectIA::CProcessResult | runActivity ()=0 |
Run the activity process an agent. | |
virtual void | runChildren ()=0 |
virtual const CProcessResult & | runStep () |
virtual CProcessResult | sendMessage (const IVarName &, IObjectIA *) |
virtual IObjectIA::CProcessResult | sendMessage (IObjectIA *m) |
virtual IObjectIA::CProcessResult | sendMessage (IMessageBase *msg, IBasicAgent &receiver) |
Send message to an receiver agent. | |
virtual IObjectIA::CProcessResult | sendMessage (IMessageBase *msg) |
Send a message to the agent. | |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
virtual void | setParent (const IWordNumRef *parent) |
to set the parent of the agents. | |
virtual void | setState (TProcessStatement s, IObjectIA *result) |
Set the state of an agent. | |
virtual bool | setStaticMember (sint32, IObjectIA *) |
bool | setStaticMember (const IVarName &compName, IObjectIA *change) |
void | setTypeAt (uint64 t) |
That function allow user to change the 7 bit of the type field in the sid agent number;. | |
virtual | ~IAgentComposite () |
Some IBasicInterface method. | |
virtual void | load (NLMISC::IStream &is) |
virtual void | save (NLMISC::IStream &os) |
Static Public Attributes | |
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) |
IAgentComposite (const IAgentComposite &a) | |
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 |
IMailBox * | _Mail |
Box letter for communication service. | |
CProcessResult | _RunState |
Internal state of the agent. | |
sint | _SizeChild |
Private Types | |
typedef std::list< IBasicAgent * > | TBasicList |
Private Member Functions | |
void | deleteListe () |
|
|
|
Definition at line 30 of file basic_agent.cpp. References _AgentList, and addChild().
00030 : IBasicAgent(a),_SizeChild(0) 00031 { 00032 std::list<IBasicAgent *>::const_iterator i = a._AgentList.begin(); 00033 while(i != a._AgentList.end()) 00034 { 00035 IBasicAgent *b = ( *i++ ); 00036 addChild( b ); 00037 } 00038 } |
|
Contruct agent with an parent.
Definition at line 40 of file basic_agent.cpp. References NLAIAGENT::IBasicAgent::addChild(), and const.
00040 : IBasicAgent(parent != NULL ? (const IWordNumRef *) *parent:NULL),_SizeChild(0) 00041 { 00042 if(parent) parent->addChild(this); 00043 } |
|
Contruct agent with an parent and an mail box.
Definition at line 45 of file basic_agent.cpp. References NLAIAGENT::IBasicAgent::addChild(), and const.
00045 : IBasicAgent(parent != NULL ? (const IWordNumRef *) *parent:NULL,m),_SizeChild(0) 00046 { 00047 if(parent) parent->addChild(this); 00048 } |
|
Definition at line 50 of file basic_agent.cpp. References deleteListe().
00051 { 00052 /*std::list<IBasicAgent *>::iterator i = _AgentList.begin(); 00053 while(i != _AgentList.end()) 00054 { 00055 IBasicAgent *b = (*i++); 00056 }*/ 00057 deleteListe(); 00058 } |
|
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 _AgentList, _SizeChild, NLAIAGENT::IMailBox::addMailBox(), NLAIAGENT::IBasicAgent::getMail(), and NLAIC::IPointerGestion::incRef(). Referenced by NLAIAGENT::CAgentScript::addDynamicAgent(), IAgentComposite(), and 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 } |
|
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 } |
|
|
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 _AgentList, _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 }
|
|
Definition at line 126 of file basic_agent.cpp. References _AgentList, _SizeChild, NLAIC::IPointerGestion::release(), and NLAIAGENT::IConnectIA::setParent(). Referenced by load(), and ~IAgentComposite().
00127 { 00128 std::list<IBasicAgent *>::iterator i = _AgentList.begin(); 00129 while(i != _AgentList.end()) 00130 { 00131 IBasicAgent *b = (*i++); 00132 b->setParent(NULL); 00133 b->release(); 00134 } 00135 _SizeChild = 0; 00136 } |
|
Definition at line 358 of file agent.h. References _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 } |
|
|
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 addChild(), NLAIAGENT::COperatorScript::checkTrigMsg(), NLAIAGENT::IAgent::processMessages(), NLAIAGENT::CAgentScript::processMessages(), 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::IObjectIA. Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAILOGIC::CGoalPath, and NLAIAGENT::COperatorScript. Definition at line 447 of file agents.cpp. References sint32. Referenced by NLAIAGENT::IAgentManager::getBaseMethodCount(), NLAIAGENT::CAgentScript::getMethodeMemberDebugString(), NLAIAGENT::CAgentScript::getMethodIndexSize(), NLAIAGENT::CLocalAgentMail::getMethodIndexSize(), NLAIAGENT::CActor::getMethodIndexSize(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::CAgentScript::runMethodBase(), and NLAIAGENT::CActor::runMethodeMember().
00448 {
00449 return IObjectIA::getMethodIndexSize() + _LastM;
00450 }
|
|
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(), 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 } |
|
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 } |
|
|
allow to know if the agent have an activity process to run.
Implemented in NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, and NLAIAGENT::CAgentOperation. |
|
|
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 } |
|
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 }
|
|
|
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 NLAIAGENT::CActor::isMember().
00453 { 00454 if(className == NULL) 00455 { 00456 TQueue a; 00457 for(int i = 0; i < _LastM; i++) 00458 { 00459 if(*methodName == IBasicAgent::_Method[i].MethodName) 00460 { 00461 CObjectType *c; 00462 if(i == _RunTel || i == _RunAsk) 00463 { 00464 static NLAISCRIPT::CParam paramMsg(1,new NLAISCRIPT::COperandSimple (new NLAIC::CIdentType(NLAISCRIPT::CMsgNotifyParentClass::IdMsgNotifyParentClass))); 00465 00466 if(paramMsg.eval((NLAISCRIPT::CParam &)p) < 0.0) continue; 00467 c = new CObjectType(new NLAIC::CIdentType(NLAISCRIPT::CMessageClass::IdMessageClass)); 00468 } 00469 else 00470 if (i == _GetNumId) 00471 { 00472 c = new CObjectType(new NLAIC::CIdentType(CStringType::IdStringType)); 00473 } 00474 else 00475 { 00476 c = new CObjectType(new NLAIC::CIdentType(CLocalAgentMail::LocalAgentMail)); 00477 } 00478 a.push(CIdMethod(IBasicAgent::_Method[i].Index + IObjectIA::getMethodIndexSize(),0.0,NULL,c)); 00479 break; 00480 } 00481 } 00482 00483 if(a.size()) return a; 00484 else return IConnectIA::isMember(className,methodName,p); 00485 } 00486 return IConnectIA::isMember(className,methodName,p); 00487 } |
|
this method define wat agent have to whene he die.
Reimplemented in NLAIAGENT::IAgent. Definition at line 618 of file baseai.cpp. References NLAIAGENT::IConnectIA::_Connected, NLAIAGENT::IConnectIA::_Connection, NLAIAGENT::IConnectIA::getParent(), NLAIAGENT::IConnectIA::onKill(), NLAIAGENT::IConnectIA::removeInConnectedList(), NLAIAGENT::IConnectIA::removeInConnectionList(), and NLAIAGENT::IConnectIA::TListIBasicCstItr. Referenced by NLAIAGENT::IConnectIA::~IConnectIA().
00619 { 00620 IConnectIA *parent = getParent(); 00621 if ( parent != NULL ) 00622 { 00623 parent->onKill( this ); 00624 } 00625 00626 TListIBasicCstItr it = _Connection.begin(); 00627 00628 while(it != _Connection.end()) 00629 { 00630 IConnectIA *a = (IConnectIA *)*it ++; 00631 if(a != NULL) 00632 { 00633 a->removeInConnectedList(this); 00634 } 00635 } 00636 _Connection.clear(); 00637 00638 it = _Connected.begin(); 00639 while(it != _Connected.end()) 00640 { 00641 IConnectIA *a = (IConnectIA *)*it ++; 00642 if(a != NULL) 00643 { 00644 a->removeInConnectionList(this); 00645 a->onKill(this); 00646 } 00647 } 00648 _Connected.clear(); 00649 } |
|
Load the class from a stream. Reimplemented from NLAIAGENT::IBasicAgent. Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript. Definition at line 153 of file basic_agent.cpp. References _SizeChild, addChild(), deleteListe(), NLAIAGENT::IBasicAgent::load(), NLMISC::IStream::serial(), and sint32.
00154 { 00155 deleteListe(); 00156 IBasicAgent::load(is); 00157 NLAIC::CIdentTypeAlloc id; 00158 sint32 i; 00159 00160 is.serial(i); 00161 _SizeChild = 0; 00162 while(i--) 00163 { 00164 is.serial( id ); 00165 IBasicAgent &a = *((IBasicAgent *)id.allocClass()); 00166 a.load(is); 00167 addChild(&a); 00168 } 00169 } |
|
|
Called by an agent who's destroyed te remove its references.
Reimplemented from NLAIAGENT::IBasicAgent. Reimplemented in NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentOperation, and NLAIAGENT::COperatorScript. Definition at line 60 of file basic_agent.cpp.
00061 {
00062 //removeChild((const IBasicAgent *)a);
00063 IBasicAgent::onKill(a);
00064 }
|
|
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. Implemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CMsgWaiter. |
|
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 _AgentList, and _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 _AgentList, _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 _AgentList, _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 } |
|
The work of an agent. Typically agent process child message, process its message and run its activity. Implements NLAIAGENT::IObjectIA. Implemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CMainAgentScript, NLAIAGENT::CMsgWaiter, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, and NLAIAGENT::COperatorScript. Referenced by NLAIAGENT::IBasicAgent::runMethodeMember(). |
|
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 } |
|
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 } |
|
Run the activity process an agent.
Implemented in NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentClockTimer, and NLAIAGENT::CAgentOperation. |
|
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. Implemented in NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CFsmScript, and NLAIAGENT::CSeqFsmScript. |
|
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 index,IObjectIA *param) allow us to run a own member method. index: is the method id return by the isMember(const IVarName *,const IVarName *,const IObjectIA &) const method. param: is the parametre for the method. Reimplemented from NLAIAGENT::IObjectIA. Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, and NLAIAGENT::CAgentWatchTimer. Definition at line 494 of file agents.cpp. References NLAIAGENT::_GetMailer, NLAIAGENT::_GetNumId, NLAIAGENT::_RunAsk, NLAIAGENT::_RunTel, NLAIAGENT::IConnectIA::getParent(), NLAIC::IPointerGestion::incRef(), index, param, NLAIAGENT::IObjectIA::CProcessResult::Result, NLAIAGENT::IBasicAgent::run(), sint32, and t.
00495 { 00496 IBaseGroupType *param = (IBaseGroupType *)p; 00497 00498 switch(index - IObjectIA::getMethodIndexSize()) 00499 { 00500 case _GetMailer: 00501 { 00502 IObjectIA::CProcessResult a; 00503 a.Result = new CLocalAgentMail(this); 00504 return a; 00505 } 00506 break; 00507 00508 case _Father: 00509 { 00510 IObjectIA::CProcessResult a; 00511 IRefrence *father = getParent(); 00512 if ( father ) 00513 a.Result = new CLocalAgentMail( (IBasicAgent *) father ); 00514 else 00515 { 00516 a.Result = &DigitalType::NullOperator; 00517 a.Result->incRef(); 00518 } 00519 return a; 00520 } 00521 break; 00522 00523 case _RunAsk: 00524 case _RunTel: 00525 { 00526 IObjectIA::CProcessResult a; 00527 a.Result = run((const IMessageBase &)*param->get()); 00528 return a; 00529 } 00530 break; 00531 00532 case _GetNumId: 00533 { 00534 IObjectIA::CProcessResult a; 00535 std::string t; 00536 ((const IWordNumRef &)*this).getNumIdent().getDebugString(t); 00537 a.Result = new CStringType(CStringVarName(t.c_str())); 00538 return a; 00539 } 00540 break; 00541 00542 } 00543 return IConnectIA::runMethodeMember(index,p); 00544 } |
|
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 NLAIAGENT::CActor::runMethodeMember().
00490 {
00491 return IConnectIA::runMethodeMember(h,index,p);
00492 }
|
|
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 in NLAIAGENT::IAgent, and NLAIAGENT::CAgentScript. Definition at line 163 of file baseai.cpp. References NLAIC::IBasicType::getType(), and NLAIC::stringGetBuild(). Referenced by NLAIAGENT::IAgent::runChildrenStepByStep().
00164 { 00165 std::string text; 00166 text = NLAIC::stringGetBuild("const CProcessResult &IObjectIA::runStep() note implementaited for the '%s' interface",(const char *)getType()); 00167 throw NLAIE::CExceptionNotImplemented(text.c_str()); 00168 return IObjectIA::ProcessNotComplit; 00169 } |
|
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::IBasicAgent. Reimplemented in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CAgentOperation, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, and NLAIAGENT::COperatorScript. Definition at line 138 of file basic_agent.cpp. References _AgentList, NLAIC::IBasicType::getType(), NLAIAGENT::IBasicAgent::save(), NLMISC::IStream::serial(), sint32, and size.
00139 { 00140 IBasicAgent::save(os); 00141 00142 sint32 size = _AgentList.size(); 00143 os.serial(size); 00144 std::list<IBasicAgent *>::const_iterator i = _AgentList.begin(); 00145 while(i != _AgentList.end()) 00146 { 00147 IBasicAgent &a = *(*i++); 00148 os.serial( (NLAIC::CIdentType &) a.getType() ); 00149 a.save(os); 00150 } 00151 } |
|
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(), 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 } |
|
Definition at line 340 of file agent.h. Referenced by addChild(), cpyChild(), deleteListe(), IAgentComposite(), removeChild(), and save(). |
|
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(). |
|
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 342 of file agent.h. Referenced by addChild(), cpyChild(), deleteListe(), getChildCoun(), load(), and removeChild(). |
|
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. |