#include <volatil_memory.h>
Inheritance diagram for NLAIAGENT::CVolatilMemmory:
IBasicInterface method. | |
virtual const NLAIC::IBasicType * | clone () const |
virtual void | getDebugString (std::string &t) const |
virtual const CProcessResult & | getState () const |
virtual const NLAIC::CIdentType & | getType () const |
virtual bool | isEqual (const IBasicObjectIA &a) const |
virtual void | load (NLMISC::IStream &is) |
virtual const NLAIC::IBasicType * | newInstance () const |
virtual void | onKill (IConnectIA *) |
When agent die and when he is in the Connectioned lis, he call this method to inform this state to the objects. | |
virtual void | save (NLMISC::IStream &os) |
virtual IObjectIA::CProcessResult | sendMessage (IMessageBase *msg) |
virtual void | setState (TProcessStatement s, IObjectIA *result) |
Public Member Functions | |
void | addAccount (IObjectIA *) |
IObjectIA * | Back () const |
virtual TQueue | canProcessMessage (const IVarName &) |
void | connect (IConnectIA *b) |
CVolatilMemmory (const CVolatilMemmory &) | |
CVolatilMemmory (IBaseGroupType *l=new CGroupType) | |
sint32 | decRef () |
Decrement the reference of an object. | |
void | erase (CConstIteratorContener &) |
IObjectIA * | Front () const |
CConstIteratorContener | getConstIterator () const |
virtual const CIdent | getIdentType () const |
virtual const std::string | getInfo () |
virtual std::string | getMethodeMemberDebugString (sint32, sint32) const |
virtual sint32 | getMethodIndexSize () 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. | |
const IObjectIA * | getStaticMember (const IVarName &compName) const |
virtual const IObjectIA * | getStaticMember (sint32) const |
virtual sint32 | getStaticMemberIndex (const IVarName &) const |
virtual sint32 | getStaticMemberSize () const |
void | incRef () |
Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list. | |
virtual void | init (IObjectIA *) |
void | init () |
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 TQueue | isMember (const IVarName *, const IVarName *, const IObjectIA &) const |
virtual void | Kill () |
this method define wat agent have to whene he die. | |
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 |
void | popBack () |
void | popFront () |
void | pushBack (uint time, IObjectIA *) |
void | pushFront (uint time, IObjectIA *) |
virtual void | release () |
Release allow to release the pointer. The last release when the _Ref is nul delete the object. | |
void | releaseAccount (IObjectIA *) |
void | removeConnection (IConnectIA *Agent) |
To release a connection. | |
virtual CProcessResult | runMethodeMember (sint32 index, IObjectIA *) |
virtual CProcessResult | runMethodeMember (sint32, sint32, IObjectIA *) |
virtual const CProcessResult & | runStep () |
virtual CProcessResult | sendMessage (const IVarName &, IObjectIA *) |
virtual IObjectIA::CProcessResult | sendMessage (IObjectIA *m) |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
virtual void | setParent (const IWordNumRef *parent) |
to set the parent of the agents. | |
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;. | |
int | size () |
virtual | ~CVolatilMemmory () |
Static Public Member Functions | |
void | initClass () |
void | releaseClass () |
Static Public Attributes | |
const NLAIC::CIdentType * | IdVolatilMemmory = 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() |
CHashTimerManager * | Timer = NULL |
Protected Member Functions | |
void | connectLoadStream (NLMISC::IStream &is) |
void | refLoadStream (NLMISC::IStream &is) |
the loader of the class. | |
virtual void | sendUpdateMessage (IObjectIA *) |
void | setNumRef (const IWordNumRef &ref) |
Protected Attributes | |
TListIBasic | _Connected |
std::list< IObjectIA * > | _Connecter |
TListIBasic | _Connection |
IBaseGroupType * | _List |
const CPairType * | _PairToDelete |
uint | _Time |
Private Member Functions | |
void | runMessage (CAgentWatchTimer *) |
void | searchBest () |
void | testIfBest (const CPairType *) |
|
Definition at line 71 of file volatil_memory.cpp. Referenced by clone(), and newInstance().
00071 : _Time (CHashTimerManager::Time ),_List(l),_PairToDelete (NULL) 00072 { 00073 } |
|
Definition at line 75 of file volatil_memory.cpp. References NLAIC::IPointerGestion::release(), and v.
00075 : _Time (CHashTimerManager::Time ), _List((IBaseGroupType *)v._List->clone()),_PairToDelete (NULL) 00076 { 00077 _List->release(); 00078 } |
|
Definition at line 80 of file volatil_memory.cpp. References NLAIC::IPointerGestion::release().
00081 { 00082 _List->release(); 00083 } |
|
Definition at line 183 of file volatil_memory.cpp. References _Connecter.
00184 { 00185 _Connecter.push_back(a); 00186 } |
|
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 } |
|
Definition at line 122 of file volatil_memory.cpp. References NLAIAGENT::IBaseGroupType::get().
00123 { 00124 return ((const CPairType *)_List->get())->second(); 00125 } |
|
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. Implements NLAIC::IBasicType. Reimplemented in NLAILOGIC::CVarMem. Definition at line 180 of file volatil_memory.h. References CVolatilMemmory(), and x.
00181 { 00182 NLAIC::IBasicType *x = new CVolatilMemmory(*this); 00183 return x; 00184 } |
|
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 } |
|
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 160 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::CIteratorContener::erase(), and searchBest(). Referenced by NLAILOGIC::CFirstOrderAssert::removeFact().
00161 { 00162 CIteratorContener it(i); 00163 it.erase(); 00164 if((const IObjetOp*)i == _PairToDelete) searchBest(); 00165 } |
|
Definition at line 117 of file volatil_memory.cpp. References NLAIAGENT::IBaseGroupType::getFront(). Referenced by NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert().
00118 { 00119 return ((const CPairType *)_List->getFront())->second(); 00120 } |
|
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 137 of file volatil_memory.h. References NLAIAGENT::IBaseGroupType::getConstIterator(). Referenced by NLAILOGIC::CFirstOrderAssert::backward(), NLAILOGIC::CFirstOrderAssert::CFirstOrderAssert(), NLAILOGIC::CFirstOrderAssert::getFacts(), and NLAILOGIC::CFirstOrderAssert::removeFact().
00138 { 00139 return _List->getConstIterator(); 00140 } |
|
This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user. Implements NLAIC::IBasicType. Definition at line 281 of file volatil_memory.cpp. References NLAIAGENT::IBaseGroupType::getConstIterator(), r, s, and t.
|
|
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 } |
|
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 in NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IBasicAgent, NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::CPairType, NLAIAGENT::IBaseGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::IObjetOp, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CLibTimerManager, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentTimerHandle, NLAILOGIC::CGoalStack, NLAIAGENT::IListBasicManager, NLAIAGENT::CMessageScript, NLAIAGENT::IMessageBase, NLAIAGENT::CAgentOperation, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CFact, NLAIAGENT::CFsmScript, NLAILOGIC::CGoal, NLAILOGIC::CInternalGoal, NLAILOGIC::CGoalPath, NLAILOGIC::CGoalStack, NLAIAGENT::COperatorScript, NLAILOGIC::IBaseVar, NLAISCRIPT::CAgentClass, and NLAISCRIPT::CLibTest. Definition at line 251 of file baseai.cpp. References sint32.
00252 {
00253 return 4;
00254 }
|
|
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 }
|
|
Implements NLAIAGENT::IConnectIA. Definition at line 197 of file volatil_memory.h.
00198 {
00199 return IObjectIA::ProcessRun;
00200 }
|
|
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). Implements NLAIC::IBasicType. Reimplemented in NLAILOGIC::CVarMem. Definition at line 169 of file volatil_memory.h. References IdVolatilMemmory.
00170 { 00171 return *IdVolatilMemmory; 00172 } |
|
|
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 } |
|
Definition at line 85 of file volatil_memory.cpp. References NLAIC::CIdentType::allocClass(), NLAIAGENT::CHashTimerManager::getTimer(), t, and Timer.
00086 { 00087 static NLAIC::CIdentType idMsgVolatilMemmoryTimer ("MsgVolatilMemmoryTimer"); 00088 CAgentWatchTimer *t = Timer->getTimer(); 00089 t->addAttrib(this, (IMessageBase*)idMsgVolatilMemmoryTimer.allocClass()); 00090 } |
|
Reimplemented in NLAILOGIC::CVarMem. Definition at line 293 of file volatil_memory.cpp. References NLAILINK::buildScript().
00294 { 00295 00296 CVolatilMemmory::Timer = new CHashTimerManager(); 00297 CVolatilMemmory h; 00298 CVolatilMemmory::IdVolatilMemmory = new NLAIC::CIdentType ( "VolatilMemmory", 00299 NLAIC::CSelfClassFactory((const NLAIC::IBasicInterface &)h), 00300 NLAIC::CTypeOfObject(NLAIC::CTypeOfObject::tObject), 00301 NLAIC::CTypeOfOperator(NLAIC::CTypeOfOperator::opNone)); 00302 std::string msgStr; 00303 std::string scriptName("MsgVolatilMemmoryTimer"); 00304 msgStr = std::string("From Message : Define MsgVolatilMemmoryTimer\n{"); 00305 msgStr += std::string("Component:\n"); 00306 msgStr += std::string("End\n}\n"); 00307 NLAILINK::buildScript(msgStr,scriptName); 00308 } |
|
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 }
|
|
The bool operator == (const IBasicObjectIA &a) const member method call this function when class 'classType' have the same type of this class, programme have to assume the equality between the memebers of this class and the memeber of the class 'classType'. Implements NLAIAGENT::IBasicObjectIA. Definition at line 188 of file volatil_memory.h.
00189 { 00190 return this == &a; 00191 } |
|
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 in NLAIAGENT::IBasicAgent, NLAIAGENT::IVector, NLAIAGENT::CLocalAgentMail, NLAIAGENT::INombreDefine, NLAIAGENT::CPairType, NLAIAGENT::IBaseGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentTimerHandle, NLAIAGENT::IListBasicManager, NLAIAGENT::CMessageScript, and NLAIAGENT::IMessageBase. Definition at line 206 of file baseai.cpp. References _CONSTRUCTOR_, _RUN_, _SEND_, param, r, NLAIAGENT::IObjectIA::run(), and NLAIAGENT::TQueue. Referenced by NLAIAGENT::CAgentWatchTimer::addAttrib(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::CAgentClass::isMember(), NLAIAGENT::CLocalAgentMail::isMember(), and NLAISCRIPT::CFindRunMsg::runOpCode().
00207 { 00208 static CStringVarName send(_SEND_); 00209 static CStringVarName constructor(_CONSTRUCTOR_); 00210 static CStringVarName run(_RUN_); 00211 static CStringVarName statM("GetStaticMember"); 00212 00213 if(*methodName == send) 00214 { 00215 TQueue r; 00216 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00217 r.push(CIdMethod(0,0.0,NULL,c)); 00218 return r; 00219 } 00220 else 00221 if(*methodName == constructor && !((const NLAISCRIPT::CParam &)param).size()) 00222 { 00223 TQueue r; 00224 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00225 r.push(CIdMethod(1,0.0,NULL,c)); 00226 return r; 00227 } 00228 else 00229 if(*methodName == run && !((const NLAISCRIPT::CParam &)param).size()) 00230 { 00231 TQueue r; 00232 CObjectType *c = new CObjectType(new NLAIC::CIdentType(NLAIC::CIdentType::VoidType)); 00233 r.push(CIdMethod(2,0.0,NULL,c)); 00234 return r; 00235 } 00236 if(*methodName == statM && ((const NLAISCRIPT::CParam &)param).size()) 00237 { 00238 TQueue r; 00239 CObjectType *c = new CObjectType(new NLAIC::CIdentType(*IAgent::IdAgent)); 00240 r.push(CIdMethod(3,0.0,NULL,c)); 00241 return r; 00242 } 00243 return TQueue(); 00244 } |
|
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. Implements NLAIAGENT::IConnectIA. Definition at line 165 of file volatil_memory.h.
00166 { 00167 } |
|
This function allow a new instance, that mean that the class is a class factory. Implements NLAIC::IBasicType. Reimplemented in NLAILOGIC::CVarMem. Definition at line 174 of file volatil_memory.h. References CVolatilMemmory(), and x.
00175 { 00176 NLAIC::IBasicType *x = new CVolatilMemmory(); 00177 return x; 00178 } |
|
When agent die and when he is in the Connectioned lis, he call this method to inform this state to the objects.
Reimplemented from NLAIAGENT::IConnectIA. Definition at line 276 of file volatil_memory.cpp. References releaseAccount().
00277 { 00278 releaseAccount(a); 00279 } |
|
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().
|
|
Definition at line 111 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::IBaseGroupType::get(), NLAIAGENT::IBaseGroupType::pop(), and searchBest().
00112 { 00113 _List->pop(); 00114 if(_List->get() == _PairToDelete) searchBest(); 00115 } |
|
Definition at line 106 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::IBaseGroupType::getFront(), NLAIAGENT::IBaseGroupType::popFront(), and searchBest(). Referenced by NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert().
00107 { 00108 _List->popFront(); 00109 if(_List->getFront() == _PairToDelete) searchBest(); 00110 } |
|
Definition at line 99 of file volatil_memory.cpp. References NLAIAGENT::IBaseGroupType::push(), sint32, testIfBest(), and uint. Referenced by NLAILOGIC::CFirstOrderAssert::addFact(), and NLAILOGIC::CFirstOrderAssert::CFirstOrderAssert().
00100 { 00101 CPairType *pr = new CPairType(new IntegerType((sint32)(time + _Time)), p); 00102 testIfBest(pr); 00103 _List->push( pr ); 00104 } |
|
Definition at line 92 of file volatil_memory.cpp. References NLAIAGENT::IBaseGroupType::pushFront(), sint32, testIfBest(), and uint.
00093 { 00094 CPairType *pr = new CPairType(new IntegerType((sint32)(time + _Time)), p); 00095 testIfBest(pr); 00096 _List->pushFront(pr); 00097 } |
|
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 } |
|
|
Definition at line 188 of file volatil_memory.cpp. References _Connecter. Referenced by onKill().
00189 { 00190 std::list<IObjectIA *>::iterator i = _Connecter.begin(); 00191 while(i != _Connecter.end()) 00192 { 00193 if( (*i) == a) 00194 { 00195 _Connecter.erase(i); 00196 break; 00197 } 00198 00199 i++; 00200 } 00201 } |
|
Reimplemented in NLAILOGIC::CVarMem. Definition at line 310 of file volatil_memory.cpp.
00311 { 00312 delete CVolatilMemmory::IdVolatilMemmory; 00313 delete CVolatilMemmory::Timer; 00314 } |
|
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 } |
|
Some where Run method define the process of the agen. Implements NLAIAGENT::IObjectIA. Definition at line 209 of file volatil_memory.h.
00210 {
00211 return IObjectIA::ProcessRun;
00212 }
|
|
Definition at line 218 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::CIteratorContener::erase(), NLAIAGENT::CPairType::first(), NLAIAGENT::CAgentWatchTimer::getClock(), NLAIAGENT::IBaseGroupType::getIterator(), NLAIAGENT::INombre< sint32 >::getValue(), NLAIAGENT::CConstIteratorContener::isInEnd(), NLAIC::IPointerGestion::release(), sint32, t, uint, and x. Referenced by sendMessage().
00219 { 00220 if(_PairToDelete == NULL) return; 00221 _Time += timer->getClock(); 00222 const IntegerType &u = (const IntegerType &)*_PairToDelete->first(); 00223 uint t = (uint)u.getValue(); 00224 00225 IntegerType maximum(_Time + 360000); 00226 IntegerType *max = &maximum; 00227 00228 const CPairType *oldPair = _PairToDelete, *newPair = NULL; 00229 00230 if(_Time >= t) 00231 { 00232 CIteratorContener it = _List->getIterator(); 00233 while(!it.isInEnd()) 00234 { 00235 CPairType *p = (CPairType *)((const IObjetOp*)it); 00236 if(p == _PairToDelete) 00237 { 00238 it.erase(); 00239 p->release(); 00240 oldPair = NULL; 00241 _PairToDelete = NULL; 00242 } 00243 else 00244 { 00245 IntegerType *u = (IntegerType *)p->first(); 00246 #ifdef NL_DEBUG 00247 sint32 d = u->getValue(); 00248 #endif 00249 (*u) -= IntegerType((sint32) timer->getClock()); 00250 #ifdef NL_DEBUG 00251 d = u->getValue(); 00252 #endif 00253 if(u->getValue() <= 0 || _Time >= (uint) u->getValue()) 00254 { 00255 it.erase(); 00256 p->release(); 00257 } 00258 else 00259 { 00260 IObjetOp *x = *u < *max; 00261 if(x->isTrue ()) 00262 { 00263 max = u; 00264 newPair = p; 00265 } 00266 it ++; 00267 x->release(); 00268 } 00269 } 00270 } 00271 _PairToDelete = newPair; 00272 } 00273 00274 } |
|
|
|
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 } |
|
programmer have to call this method to load or save internal attribut. Implements NLAIAGENT::IConnectIA. Definition at line 162 of file volatil_memory.h.
00163 { 00164 } |
|
Definition at line 141 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::CPairType::first(), NLAIAGENT::IBaseGroupType::getConstIterator(), r, and x. Referenced by erase(), popBack(), and popFront().
00142 { 00143 IntegerType maximum(_Time + 360000); 00144 IntegerType *u = &maximum; 00145 CConstIteratorContener r = _List->getConstIterator(); 00146 while(!r.isInEnd()) 00147 { 00148 const CPairType *p = (const CPairType *)((const IObjetOp*)r++); 00149 IntegerType *n = (IntegerType *)p->first(); 00150 IObjetOp *x = *u > *n; 00151 if(_PairToDelete == NULL || x->isTrue ()) 00152 { 00153 n = u; 00154 _PairToDelete = p; 00155 } 00156 x->release(); 00157 } 00158 } |
|
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 } |
|
Implements NLAIAGENT::IConnectIA. Definition at line 202 of file volatil_memory.cpp. References NLAIAGENT::IMessageBase::getSender(), NLAIC::IBasicType::getType(), NLAIC::IPointerGestion::release(), and runMessage().
00203 { 00204 static NLAIC::CIdentType idMsgVolatilMemmoryTimer ("MsgVolatilMemmoryTimer"); 00205 00206 if(msg->getType() == idMsgVolatilMemmoryTimer) 00207 { 00208 runMessage((CAgentWatchTimer *)msg->getSender()); 00209 } 00210 else 00211 { 00212 msg->release(); 00213 } 00214 00215 return IObjectIA::CProcessResult(); 00216 } |
|
Reimplemented in NLAILOGIC::CVarMem. Definition at line 167 of file volatil_memory.cpp. References _Connecter, NLAIC::IPointerGestion::incRef(), NLAIAGENT::IListBasicManager::push(), NLAIAGENT::IMessageBase::setReceiver(), and NLAIAGENT::IMessageBase::setSender().
00168 { 00169 std::list<IObjectIA *>::iterator i = _Connecter.begin(); 00170 00171 while(i != _Connecter.end()) 00172 { 00173 IMessageBase *msg = new COnChangeMsg; 00174 NLAIAGENT::CMessageGroup group(1); 00175 msg->setSender(this); 00176 msg->setReceiver(*i); 00177 o->incRef(); 00178 msg->push(o); 00179 (*i)->sendMessage(msg); 00180 } 00181 } |
|
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 } |
|
Implements NLAIAGENT::IConnectIA. Definition at line 201 of file volatil_memory.h. References s.
00202 { 00203 } |
|
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 151 of file volatil_memory.h. References NLAIAGENT::IBaseGroupType::size(). Referenced by NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert().
00152 { 00153 return _List->size(); 00154 } |
|
Definition at line 127 of file volatil_memory.cpp. References _PairToDelete, NLAIAGENT::CPairType::first(), and x. Referenced by pushBack(), and pushFront().
00128 { 00129 if(_PairToDelete == NULL) 00130 { 00131 _PairToDelete = p; 00132 return; 00133 } 00134 IntegerType *n = (IntegerType *)p->first(); 00135 IntegerType *a = (IntegerType *)_PairToDelete->first(); 00136 IObjetOp *x = *a < *n; 00137 if( !x->isTrue () ) _PairToDelete = p; 00138 x->release(); 00139 } |
|
Definition at line 427 of file baseai.h. Referenced by NLAIAGENT::IConnectIA::addInConnectedList(), NLAIAGENT::IConnectIA::Kill(), NLAIAGENT::IConnectIA::removeInConnectedList(), and NLAIAGENT::IConnectIA::save(). |
|
Definition at line 127 of file volatil_memory.h. Referenced by addAccount(), releaseAccount(), and sendUpdateMessage(). |
|
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 126 of file volatil_memory.h. |
|
Definition at line 128 of file volatil_memory.h. Referenced by erase(), popBack(), popFront(), runMessage(), searchBest(), and testIfBest(). |
|
Definition at line 125 of file volatil_memory.h. |
|
Definition at line 69 of file volatil_memory.cpp. Referenced by 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. |
|
Definition at line 68 of file volatil_memory.cpp. Referenced by init(). |