NLAIC::CIdentType Class Reference

#include <abstract_interface.h>

Inheritance diagram for NLAIC::CIdentType:

NLAIC::IPointerGestion NLMISC::IStreamable NLMISC::IClassable

Detailed Description

CIdentType define a type for objects and manage the allocation of class in the class factory. Not that class is manage in a std::map object and this class allow us to manage objects in the std::map.

Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 142 of file abstract_interface.h.

Public Member Functions

void addObjectType (sint32)
const IBasicInterfaceallocClass () const
 Alloc an instance of a class.

 CIdentType (const CIdentType &i)
 Copy contructor.

 CIdentType (const char *ident, const IClassFactory &classCFactory, const CTypeOfObject &objType, const CTypeOfOperator &opSupport)
 throw (NLAIE::CExceptionContainer);

 CIdentType (const char *ident)
 throw(NLMISC::EStream);

 CIdentType (NLMISC::IStream &)
 throw(NLMISC::EStream)

sint32 cmp (const CIdentType &a) const
sint32 decRef ()
 Decrement the reference of an object.

virtual void getDebugString (std::string &t) const
const IClassFactorygetFactory () const
 Get the class factory associate.

sint32 getIndex () const
const sint32getRef () const
 get the refence count.

void incRef ()
 Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

 operator const char * () const
 Get class type name.

 operator const CTypeOfObject & () const
 operator const CTypeOfOperator & () const
bool operator< (const char *a) const
bool operator< (const CIdentType &a) const
 This test is need for the std::map.

void operator= (const CIdentType &a)
 Make equality.

bool operator== (const CIdentType &a) const
 Test the equality.

bool operator> (const CIdentType &a) const
virtual void release ()
 Release allow to release the pointer. The last release when the _Ref is nul delete the object.

 ~CIdentType ()
NLMISC::IStreamable method.
virtual std::string getClassName ()
virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)

Static Public Attributes

CIdentType VoidType = CIdentType("VOID",CTypeOfObject::tObject,CTypeOfOperator(0),-1)
 Basic shared type need for lot of objects, and special for typing the retern method in the script.


Private Member Functions

 CIdentType (const char *ident, const CTypeOfObject &objType, const CTypeOfOperator &opSupport, sint32 index)
 Construct object with all atribut. It use when we serial object.


Private Attributes

char * _Ident
 This is a string for naming the class.

sint32 _Index
 The index of objects in the class gactory map.

CTypeOfObject_ObjType
 This objects allow use to know what kind of objects it is (simple object, agent, scripted agent, operator ...).

CTypeOfOperator_OpSupport
 This objects allow use to know what kind of operation we can do with it (add, sub ...).


Friends

class CIdentTypeAlloc


Constructor & Destructor Documentation

NLAIC::CIdentType::CIdentType const char *  ident,
const CTypeOfObject objType,
const CTypeOfOperator opSupport,
sint32  index
[private]
 

Construct object with all atribut. It use when we serial object.

Definition at line 108 of file ident_type.cpp.

References _Ident, index, and sint32.

00108                                                                                                                           : _ObjType((CTypeOfObject *)objType.clone()),
00109                                                                                                                               _OpSupport((CTypeOfOperator *)opSupport.clone()),
00110                                                                                                                               _Index(-1)
00111         {
00112                 _Ident = new char [strlen(ident) + 1];
00113                 strcpy((char *)_Ident,ident);
00114                 _Index = index;
00115         }

NLAIC::CIdentType::CIdentType NLMISC::IStream  ) 
 

throw(NLMISC::EStream)

Definition at line 100 of file ident_type.cpp.

References _Ident, _ObjType, _OpSupport, and serial().

00101         {
00102                 _ObjType = NULL;
00103                 _OpSupport = NULL;
00104                 _Ident = NULL;
00105                 serial(f);
00106         }

NLAIC::CIdentType::CIdentType const char *  ident  ) 
 

throw(NLMISC::EStream);

Construct object with a name. Object must be mounted in the class factory else an exception wil occur. CExceptionContainer share an CExceptionUnRegisterClassError exception object.

Definition at line 140 of file ident_type.cpp.

References _Ident, _ObjType, _OpSupport, NLAIC::getRegistry(), NLAIC::IPointerGestion::incRef(), and r.

00140                                                : _Index(-1)
00141         {
00142                 _Ident = new char [strlen(ident) + 1];
00143                 strcpy((char *)_Ident,ident);
00144 
00145                 try
00146                 {                               
00147                         CRegistry *r = getRegistry();                   
00148                         _Index = r->getNumIdent(*this);
00149                         const CIdentType &id= r->getIdent(_Index);
00150                         _ObjType = (CTypeOfObject *)&((const CTypeOfObject &)id);
00151                         _ObjType->incRef();
00152                         _OpSupport = (CTypeOfOperator *)&((const CTypeOfOperator &)id);
00153                         _OpSupport->incRef();
00154                 }
00155                 catch (NLAIE::IException &err)
00156                 {
00157                         delete _Ident;
00158                         _Ident = NULL;
00159                         _ObjType = NULL;
00160                         _OpSupport = NULL;
00161                         NLAIE::CExceptionContainer e(err.what());
00162                         throw e;
00163                 }               
00164         }

NLAIC::CIdentType::CIdentType const char *  ident,
const IClassFactory classCFactory,
const CTypeOfObject objType,
const CTypeOfOperator opSupport
 

throw (NLAIE::CExceptionContainer);

Construct object. Object must be mounted in the class factory else an exception wil occur. CExceptionContainer share an CExceptionUnRegisterClassError exception object.

Definition at line 117 of file ident_type.cpp.

References _Ident, _ObjType, _OpSupport, NLAIC::getRegistry(), r, and NLAIC::IPointerGestion::release().

00117                                                                                                                                                 : _ObjType((CTypeOfObject *)objType.clone()),
00118                                                                                                                                                     _OpSupport((CTypeOfOperator *)opSupport.clone()),
00119                                                                                                                                                     _Index(-1)
00120         {       
00121                 _Ident = new char [strlen(ident) + 1];
00122                 strcpy((char *)_Ident,ident);
00123                                 
00124                 try
00125                 {                               
00126                         CRegistry *r = getRegistry();
00127                         _Index = r->registerClass(*this,classCFactory);
00128                 }
00129                 catch (NLAIE::IException &err)
00130                 {
00131                         delete _Ident;
00132                         _Ident = NULL;
00133                         _ObjType->release();
00134                         _OpSupport->release();
00135                         throw NLAIE::CExceptionContainer(err.what());
00136                 }               
00137         }

NLAIC::CIdentType::CIdentType const CIdentType i  ) 
 

Copy contructor.

throw (NLAIE::CExceptionContainer);

Definition at line 166 of file ident_type.cpp.

References _Ident, and _Index.

00166                                                  :_ObjType((CTypeOfObject *)i._ObjType->clone()),_OpSupport((CTypeOfOperator *)i._OpSupport->clone()),_Index(-1)
00167         {
00168                 _Index = i._Index;
00169                 _Ident = new char [strlen(i._Ident) + 1];
00170                 strcpy((char *)_Ident,i._Ident);
00171         }

NLAIC::CIdentType::~CIdentType  ) 
 

Definition at line 93 of file ident_type.cpp.

References _Ident, _ObjType, _OpSupport, and NLAIC::IPointerGestion::release().

00094         {
00095                 if(_Ident != NULL) delete (char *)_Ident;
00096                 if(_ObjType != NULL) _ObjType->release();
00097                 if(_OpSupport != NULL) _OpSupport->release();
00098         }


Member Function Documentation

void NLAIC::CIdentType::addObjectType sint32   ) 
 

Definition at line 183 of file ident_type.cpp.

References _ObjType, NLAIC::CBinaryType::addType(), sint32, and t.

Referenced by NLAISCRIPT::CMessageClass::CMessageClass().

00184         {
00185                 if ( _ObjType != NULL )
00186                         _ObjType->addType(t);
00187         }

const IBasicInterface * NLAIC::CIdentType::allocClass  )  const
 

Alloc an instance of a class.

Definition at line 173 of file ident_type.cpp.

References NLAIC::CRegistry::createInstance(), and NLAIC::getRegistry().

Referenced by NLAIC::CIdentTypeAlloc::allocClass(), NLAIAGENT::CVolatilMemmory::init(), and NLAIAGENT::CAgentScript::runAskDebugString().

00174         {
00175                 return getRegistry()->createInstance(_Index);
00176         }

sint32 NLAIC::CIdentType::cmp const CIdentType a  )  const [inline]
 

Definition at line 216 of file abstract_interface.h.

References _Ident, and sint32.

00217                 {
00218                         return strcmp(_Ident,a._Ident);
00219                 }

sint32 NLAIC::IPointerGestion::decRef  )  [inline, inherited]
 

Decrement the reference of an object.

Definition at line 93 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIC::IPointerGestion::release(), and NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00094                 {
00095                         return --_Ref;
00096                 }

virtual std::string NLAIC::CIdentType::getClassName  )  [inline, virtual]
 

Reimplemented from NLAIC::IPointerGestion.

Definition at line 243 of file abstract_interface.h.

References _Ident.

00244                 {
00245                         return std::string(_Ident);
00246                 }

virtual void NLAIC::IPointerGestion::getDebugString std::string &  t  )  const [inline, virtual, inherited]
 

Reimplemented in NLAILINK::IOTrace, NLAIAGENT::CActor, NLAIAGENT::CActorScript, NLAIAGENT::IAgent, NLAIAGENT::VectorType, NLAIAGENT::DigitalType, NLAIAGENT::BorneDigitalType, NLAIAGENT::DDigitalType, NLAIAGENT::BorneDDigitalType, NLAIAGENT::IntegerType, NLAIAGENT::ShortIntegerType, NLAIAGENT::CharType, NLAIAGENT::UInt8Type, NLAIAGENT::UInt16Type, NLAIAGENT::UInt32Type, NLAIAGENT::UInt64Type, NLAIAGENT::CLocalAgentMail, NLAIAGENT::CStringType, NLAIAGENT::CPairType, NLAIAGENT::CGroupType, NLAIAGENT::CVectorGroupType, NLAIAGENT::CProxyAgentMail, NLAIAGENT::CAgentScript, NLAIAGENT::CStringVarName, NLAIAGENT::CIndexedVarName, NLAIAGENT::CAgentManagerTimer, NLAIAGENT::CLibTimerManager, NLAIAGENT::CAgentWatchTimer, NLAIAGENT::CAgentTimerHandle, NLAILOGIC::CGoalStack, NLAIAGENT::CLocWordNumRef, NLAIAGENT::IListBasicManager, NLAIAGENT::CLocalMailBox, NLAIAGENT::CMessageScript, NLAIAGENT::IMessageBase, NLAIAGENT::CSuccessMsg, NLAIAGENT::CFailureMsg, NLAIAGENT::CFactMsg, NLAIAGENT::CGetValueMsg, NLAIAGENT::CGoalMsg, NLAIAGENT::CCancelGoalMsg, NLAIAGENT::CMessageGroup, NLAIAGENT::CNotifyParentScript, NLAIAGENT::COnChangeMsg, NLAIAGENT::CSetValueMsg, NLAIAGENT::CObjectIdent, NLAIAGENT::CObjectType, NLAIAGENT::CAgentOperation, NLAIAGENT::CHashTimerManager, NLAIAGENT::CVolatilMemmory, NLAIC::IBasicType, NLAIC::CSelfClassFactory, NLAIC::CBinaryType, NLAICHARACTER::CCharacterChild, NLAIFUZZY::CSimpleFuzzyCond, NLAIFUZZY::CFuzzyFact, NLAIFUZZY::CFuzzyRule, NLAIFUZZY::CFuzzyRuleSet, NLAIFUZZY::CFuzzyInterval, NLAIFUZZY::CRightFuzzySet, NLAIFUZZY::CTriangleFuzzySet, NLAIFUZZY::CTrapezeFuzzySet, NLAIFUZZY::CLeftFuzzySet, NLAIFUZZY::FuzzyType, NLAIFUZZY::CFuzzyVar, NLAILOGIC::CBoolAssert, NLAILOGIC::CBoolOperator, NLAILOGIC::CBoolType, NLAILOGIC::CClause, NLAILOGIC::CFact, NLAILOGIC::CFactBase, NLAILOGIC::CFirstOrderAssert, NLAILOGIC::CFirstOrderOperator, NLAIAGENT::CFsmScript, NLAIAGENT::CSeqFsmScript, NLAILOGIC::CGoal, NLAILOGIC::CInternalGoal, NLAILOGIC::CGoalStack, NLAISCRIPT::COperatorClass, NLAIAGENT::COperatorScript, NLAILOGIC::CRule, NLAILOGIC::CValueSet, NLAILOGIC::CVar, NLAILOGIC::CVarSet, NLAILOGIC::CFactPattern, NLAISCRIPT::CCodeContext, NLAISCRIPT::CCodeBrancheRun, NLAISCRIPT::CContextDebug, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CParam, NLAISCRIPT::CMethodeName, NLAISCRIPT::CClassInterpretFactory, NLAISCRIPT::CAgentClass, NLAISCRIPT::CManagerClass, NLAISCRIPT::CMessageClass, NLAISCRIPT::CCallPrint, NLAISCRIPT::IBlock, NLAISCRIPT::ILoadObject, NLAISCRIPT::CObjectUnknown, NLAISCRIPT::CTellOpCode, NLAISCRIPT::CLdbOpCode, NLAISCRIPT::CLdbMemberOpCode, NLAISCRIPT::CLdbMemberiOpCode, NLAISCRIPT::CLdbStackMemberiOpCode, NLAISCRIPT::CLdbHeapMemberiOpCode, NLAISCRIPT::CScriptDebugSourceFile, NLAISCRIPT::CScriptDebugSourceMemory, NLAISCRIPT::CLibTest, NLAISCRIPT::CVarPStack, NLAISCRIPT::CVarPStackParam, and NLAISCRIPT::IOpRunCode.

Definition at line 104 of file abstract_interface.h.

References t.

00105                 {
00106                         t += "None";
00107                 }

const IClassFactory * NLAIC::CIdentType::getFactory  )  const
 

Get the class factory associate.

Definition at line 178 of file ident_type.cpp.

References NLAIC::CRegistry::getFactory(), and NLAIC::getRegistry().

Referenced by NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CAgentClass::buildChildsMessageMap(), NLAISCRIPT::IOpType::evalParam(), NLAISCRIPT::CAgentClass::isMessageFunc(), NLAISCRIPT::CConstraintStackComp::run(), NLAISCRIPT::CConstraintFindRun::run(), NLAISCRIPT::CConstraintMethode::run(), and NLAISCRIPT::COperationTypeGD::satisfied().

00179         {
00180                 return getRegistry()->getFactory(_Index);
00181         }

sint32 NLAIC::CIdentType::getIndex  )  const [inline]
 

Definition at line 231 of file abstract_interface.h.

References sint32.

00232                 {
00233                         return _Index;
00234                 }               

const sint32& NLAIC::IPointerGestion::getRef  )  const [inline, inherited]
 

get the refence count.

Definition at line 99 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref, and sint32.

Referenced by NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle().

00100                 {
00101                         return _Ref;
00102                 }

void NLAIC::IPointerGestion::incRef  )  [inline, inherited]
 

Inc a reference. We use this when we have to conserve a pointer memeory for exemple in a list.

Definition at line 80 of file abstract_interface.h.

References NLAIC::IPointerGestion::_Ref.

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAILOGIC::CFactBase::addAssert(), NLAIAGENT::IAgentComposite::addChild(), NLAILOGIC::IBaseAssert::addInput(), NLAILOGIC::CBoolOperator::addPostcondition(), NLAILOGIC::CBoolOperator::addPrecondition(), NLAILOGIC::CInternalGoal::addPredecessor(), NLAILOGIC::CGoal::addPredecessor(), NLAIFUZZY::CFuzzyVar::addSet(), NLAISCRIPT::CCompilateur::affectation(), NLAILOGIC::CFact::asValueSet(), NLAIAGENT::CAgentWatchTimer::attach(), NLAISCRIPT::CCompilateur::buildObject(), NLAISCRIPT::CAgentClass::buildVMethode(), NLAIAGENT::CAgentOperation::CAgentOperation(), NLAIAGENT::CAgentTimerHandle::CAgentTimerHandle(), NLAISCRIPT::CCompilateur::callFunction(), NLAISCRIPT::CClassInterpretFactory::CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::CCompilateur(), NLAISCRIPT::CFactorType::CFactorType(), NLAISCRIPT::CFunctionTag::CFunctionTag(), NLAIAGENT::COperatorScript::checkTrigMsg(), CIdentType(), NLAIAGENT::CIdMethod::CIdMethod(), NLAIAGENT::CKeyObject::CKeyObject(), NLAISCRIPT::CFindRunMsg::clone(), NLAISCRIPT::CObjectUnknown::clone(), NLAISCRIPT::CConstraintStackComp::clone(), NLAISCRIPT::CConstraintFindRun::clone(), NLAISCRIPT::CConstraintMethode::clone(), NLAILINK::IOTrace::clone(), NLAISCRIPT::CMethodeName::CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::CMethodType(), NLAISCRIPT::CObjectUnknown::CObjectUnknown(), NLAIAGENT::CPairType::CPairType(), NLAISCRIPT::CAgentClass::createComponents(), NLAILOGIC::CValueSet::CValueSet(), NLAILOGIC::CVar::CVar(), NLAILOGIC::CValueSet::forward(), NLAIAGENT::IMessageBase::IMessageBase(), NLAIAGENT::CAgentScript::initAgentScript(), NLAISCRIPT::CCompilateur::initMessageManager(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAILOGIC::CValueSet::load(), NLAILOGIC::IBaseOperator::load(), NLAISCRIPT::CAgentClass::load(), NLAISCRIPT::CComponent::load(), NLAISCRIPT::CMethodeName::load(), NLAIAGENT::CVectorGroupType::operator+(), NLAIAGENT::CGroupType::operator+(), NLAISCRIPT::CPramContainer::operator+=(), NLAIAGENT::IMessageBase::operator=(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CAgentClass::CMethodType::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAISCRIPT::CCompilateur::pushParamExpression(), NLAISCRIPT::CConstraintFindRun::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runAskGetValue(), NLAIAGENT::IAgent::runChildren(), NLAIAGENT::CMainAgentScript::runExec(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAIAGENT::CAgentWatchTimer::runMethodBase(), NLAIAGENT::CAgentScript::runMethodBase(), NLAIAGENT::CActorScript::runMethodBase(), NLAIAGENT::IMessageBase::runMethodeMember(), NLAIAGENT::IBaseGroupType::runMethodeMember(), NLAIAGENT::IBasicAgent::runMethodeMember(), NLAISCRIPT::CLdbRefOpCode::runOpCode(), NLAISCRIPT::CLdbMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CCallStackNewMethodi::runOpCode(), NLAISCRIPT::CLibStackNewMemberMethod::runOpCode(), NLAISCRIPT::CLibStackMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CAddParamNameDebug::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CAffHeapMemberiOpCode::runOpCode(), NLAISCRIPT::CAffMemberOpCode::runOpCode(), NLAISCRIPT::CAffMemberiOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellComponent(), NLAIAGENT::CAgentScript::runTellSetValue(), NLAISCRIPT::CMethodContextDebug::saveContext(), NLAISCRIPT::CMethodContext::saveContext(), NLAIAGENT::CAgentScript::sendBroadCast(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentScript::sendMethodCompoment(), NLAIAGENT::CVolatilMemmory::sendUpdateMessage(), NLAISCRIPT::CFactorType::set(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setParamVarName(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAILOGIC::CVar::setValue(), NLAILOGIC::CValueSet::setValue(), NLAIAGENT::CAgentWatchTimer::tellBroker(), NLAISCRIPT::CCompilateur::typeOfMethod(), NLAILOGIC::CVar::unify(), NLAILOGIC::CValueSet::unify(), and NLAIAGENT::CAgentOperation::update().

00081                 {
00082                         _Ref ++;
00083                 }

NLAIC::CIdentType::operator const char *  )  const [inline]
 

Get class type name.

Definition at line 183 of file abstract_interface.h.

References _Ident.

00184                 {
00185 #ifdef NL_DEBUG
00186                         if(this == NULL) return "<Inknown>";
00187 #endif
00188                         return _Ident;
00189                 }

NLAIC::CIdentType::operator const CTypeOfObject &  )  const [inline]
 

Definition at line 221 of file abstract_interface.h.

References _ObjType.

00222                 {
00223                         return *_ObjType;
00224                 }

NLAIC::CIdentType::operator const CTypeOfOperator &  )  const [inline]
 

Definition at line 226 of file abstract_interface.h.

References _OpSupport.

00227                 {
00228                         return *_OpSupport;
00229                 }

bool NLAIC::CIdentType::operator< const char *  a  )  const [inline]
 

Definition at line 206 of file abstract_interface.h.

References _Ident.

00207                 {
00208                         return strcmp(_Ident,a) < 0;
00209                 }

bool NLAIC::CIdentType::operator< const CIdentType a  )  const [inline]
 

This test is need for the std::map.

Definition at line 201 of file abstract_interface.h.

References _Ident.

00202                 {                       
00203                         return strcmp(_Ident,a._Ident) < 0;
00204                 }                                               

void NLAIC::CIdentType::operator= const CIdentType a  ) 
 

Make equality.

Definition at line 190 of file ident_type.cpp.

References _Ident, and _Index.

00191         {
00192                 delete _Ident;
00193                 _Ident = new char [strlen(i._Ident) + 1];
00194                 strcpy((char *)_Ident,i._Ident);                
00195                 _Index = i._Index;
00196         }       

bool NLAIC::CIdentType::operator== const CIdentType a  )  const [inline]
 

Test the equality.

Definition at line 196 of file abstract_interface.h.

References _Index.

00197                 {                       
00198                         return _Index == a._Index;                      
00199                 }

bool NLAIC::CIdentType::operator> const CIdentType a  )  const [inline]
 

Definition at line 211 of file abstract_interface.h.

References _Ident.

00212                 {
00213                         return strcmp(_Ident,a._Ident) > 0;
00214                 }                                               

virtual void NLAIC::IPointerGestion::release void   )  [inline, virtual, inherited]
 

Release allow to release the pointer. The last release when the _Ref is nul delete the object.

Definition at line 86 of file abstract_interface.h.

References NLAIC::IPointerGestion::decRef().

Referenced by NLAIAGENT::CSeqFsmScript::activate(), NLAISCRIPT::CAgentClass::addBrancheCode(), NLAISCRIPT::CConstraintDebug::addIndex(), NLAISCRIPT::CCompilateur::affectation(), NLAISCRIPT::CCompilateur::affectationMember(), NLAISCRIPT::COperatorClass::backward(), NLAILOGIC::CFirstOrderOperator::backward(), NLAILOGIC::CFirstOrderAssert::backward(), NLAISCRIPT::CCompilateur::buildObject(), NLAILINK::buildScript(), NLAISCRIPT::CCompilateur::callFunction(), CIdentType(), NLAISCRIPT::CCompilateur::clean(), NLAISCRIPT::CParam::clear(), NLAIAGENT::CVectorGroupType::clear(), NLAIAGENT::CGroupType::clear(), NLAIAGENT::CVolatilMemmory::CVolatilMemmory(), NLAISCRIPT::CFactorType::del(), NLAIAGENT::IAgentComposite::deleteListe(), NLAIPYSERVER::endPythonInterface(), NLAIAGENT::CVectorGroupType::erase(), NLAIAGENT::CGroupType::erase(), NLAIAGENT::CVectorGroupType::eraseAll(), NLAIAGENT::CGroupType::eraseAll(), NLAISCRIPT::CCompilateur::errorMethodConstraint(), NLAISCRIPT::CCompilateur::errorTypeConstraint(), NLAISCRIPT::CCompilateur::findMethode(), NLAISCRIPT::COperatorClass::forward(), NLAILOGIC::CFirstOrderOperator::forward(), NLAIAGENT::CComponentHandle::getComponent(), NLAIAGENT::COperatorScript::getDebugString(), NLAIAGENT::CAgentScript::getDebugString(), NLAILOGIC::IBaseOperator::IBaseOperator(), NLAISCRIPT::CCompilateur::ifInterrogation(), NLAISCRIPT::CCompilateur::ifInterrogationEnd(), NLAILOGIC::CFactPattern::init(), NLAILOGIC::CRule::init(), NLAIFUZZY::CTrapezeFuzzySet::init(), NLAIFUZZY::CLeftFuzzySet::init(), NLAIFUZZY::CTriangleFuzzySet::init(), NLAIFUZZY::CRightFuzzySet::init(), NLAIFUZZY::CFuzzyInterval::init(), NLAIFUZZY::CFuzzyRule::init(), NLAIFUZZY::CSimpleFuzzyCond::init(), NLAISCRIPT::CCompilateur::interrogationEnd(), NLAISCRIPT::COperatorClass::isValidFonc(), NLAIAGENT::IAgent::Kill(), NLAILOGIC::CVar::load(), NLAILOGIC::CValueSet::load(), NLAISCRIPT::CLdbOpCode::load(), NLAISCRIPT::CLibCallMethodi::load(), NLAISCRIPT::CLibCallInheritedMethod::load(), NLAISCRIPT::CLibCallMethod::load(), NLAISCRIPT::CLdbNewOpCode::load(), NLAISCRIPT::CAddParamNameDebug::load(), NLAISCRIPT::CFindRunMsg::load(), NLAIAGENT::IListBasicManager::load(), NLAIAGENT::CVectorGroupType::load(), NLAIAGENT::CGroupType::load(), NLAIAGENT::CAgentScript::load(), NLAIAGENT::CStringType::load(), NLAIAGENT::CLocalAgentMail::load(), NLAISCRIPT::CMethodContextDebug::loadContext(), NLAISCRIPT::CCompilateur::onEndClass(), NLAIAGENT::CLocalMailBox::onKill(), NLAIAGENT::IAgent::onKill(), NLAIAGENT::CLocalAgentMail::onKill(), NLAIAGENT::CVectorGroupType::operator-(), NLAIAGENT::CGroupType::operator-(), NLAIAGENT::CKeyObject::operator=(), NLAISCRIPT::CFunctionTag::operator=(), NLAIAGENT::CIdMethod::operator=(), NLAISCRIPT::CCompilateur::PrivateError(), NLAISCRIPT::CCompilateur::processingVar(), NLAIAGENT::CAgentScript::processMessages(), NLAIAGENT::IRefrence::refLoadStream(), NLAISCRIPT::CCompilateur::registerMethod(), NLAIAGENT::IAgentComposite::removeChild(), NLAILOGIC::CFirstOrderAssert::removeFact(), NLAISCRIPT::CConstraintStackComp::run(), NLAISCRIPT::CConstraintFindRun::run(), NLAISCRIPT::CConstraintMethode::run(), NLAIAGENT::IBasicAgent::run(), NLAIAGENT::CAgentScript::runInitComponent(), NLAIAGENT::CVolatilMemmory::runMessage(), NLAIAGENT::CAgentOperation::runMethodBase(), NLAISCRIPT::CCompilateur::runMethodConstraint(), NLAILOGIC::CInternalGoal::runMethodeMember(), NLAILOGIC::CGoal::runMethodeMember(), NLAILOGIC::CFact::runMethodeMember(), NLAIAGENT::IObjectIA::runMethodeMember(), NLAISCRIPT::CLdbStackMemberiOpCode::runOpCode(), NLAISCRIPT::CCallStackMethodi::runOpCode(), NLAISCRIPT::CLibHeapMemberMethod::runOpCode(), NLAISCRIPT::CAffOpCode::runOpCode(), NLAISCRIPT::CJFalseOpCode::runOpCode(), NLAISCRIPT::CAffOpCodeDebug::runOpCode(), NLAISCRIPT::CDiffOpCode::runOpCode(), NLAISCRIPT::CInfEqOpCode::runOpCode(), NLAISCRIPT::CSupEqOpCode::runOpCode(), NLAISCRIPT::CEqOpCode::runOpCode(), NLAISCRIPT::CInfOpCode::runOpCode(), NLAISCRIPT::CSupOpCode::runOpCode(), NLAISCRIPT::CMulOpCode::runOpCode(), NLAISCRIPT::CDivOpCode::runOpCode(), NLAISCRIPT::CSubOpCode::runOpCode(), NLAISCRIPT::CAddOpCode::runOpCode(), NLAISCRIPT::CNegOpCode::runOpCode(), NLAIAGENT::CAgentScript::runTellParentNotify(), NLAISCRIPT::CCompilateur::runTypeConstraint(), NLAIAGENT::CHashTimerManager::sendMessage(), NLAIAGENT::CVolatilMemmory::sendMessage(), NLAIAGENT::CLocalMailBox::sendMessage(), NLAIAGENT::IListManager::sendMessage(), NLAIAGENT::CAgentTimerHandle::sendMessage(), NLAIAGENT::CAgentScript::sendMessage(), NLAIAGENT::CAgentScript::sendMethod(), NLAISCRIPT::COperandSimple::serial(), NLAISCRIPT::CObjectUnknown::setBaseType(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CClassInterpretFactory::setClass(), NLAIC::CSelfClassFactory::setClass(), NLAISCRIPT::IClassInterpret::setClassName(), NLAISCRIPT::CObjectUnknown::setClassType(), NLAIAGENT::IMessageBase::setContinuation(), NLAILOGIC::IBaseOperator::setGoal(), NLAISCRIPT::COperatorClass::setGoal(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CParam::setInfo(), NLAISCRIPT::CAgentClass::setInheritanceName(), NLAISCRIPT::CCompilateur::setListVar(), NLAIAGENT::IMessageBase::setMessageGroup(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAILOGIC::IBaseVar::setName(), NLAIAGENT::CAgentOperation::setName(), NLAISCRIPT::CMethodeName::setName(), NLAIAGENT::IRefrence::setNumRef(), NLAISCRIPT::CConstraintFindRun::setOpCode(), NLAISCRIPT::CConstraintMethode::setOpCode(), NLAISCRIPT::CCompilateur::setPerformative(), NLAILOGIC::CInternalGoal::setProperty(), NLAIAGENT::IMessageBase::setReceiver(), NLAIAGENT::IMessageBase::setSender(), NLAILOGIC::CValueSet::setSize(), NLAISCRIPT::CCompilateur::setStackVar(), NLAIAGENT::CMessageScript::setStaticMember(), NLAIAGENT::CAgentScript::setStaticMember(), NLAISCRIPT::IClassInterpret::setType(), NLAISCRIPT::CFunctionTag::setTypeObject(), NLAISCRIPT::CMethodeName::setTypeOfMethode(), NLAILOGIC::CVar::setValue(), NLAIAGENT::CAgentOperation::setValue(), NLAIAGENT::IAgentInput::setValue(), NLAILOGIC::CValueSet::unify(), NLAISCRIPT::COperatorClass::unifyBackward(), NLAILOGIC::CFirstOrderOperator::unifyBackward(), NLAISCRIPT::COperatorClass::unifyForward(), NLAILOGIC::CFirstOrderOperator::unifyForward(), NLAILOGIC::CRule::unifyLiaisonBack(), NLAISCRIPT::CAddParamNameDebug::~CAddParamNameDebug(), NLAISCRIPT::CAgentClass::~CAgentClass(), NLAIAGENT::CAgentOperation::~CAgentOperation(), NLAIAGENT::CAgentScript::~CAgentScript(), NLAIAGENT::CAgentTimerHandle::~CAgentTimerHandle(), NLAIAGENT::CAgentWatchTimer::~CAgentWatchTimer(), NLAISCRIPT::CClassInterpretFactory::~CClassInterpretFactory(), NLAISCRIPT::CCodeBrancheRunDebug::~CCodeBrancheRunDebug(), NLAISCRIPT::CCompilateur::~CCompilateur(), NLAIAGENT::CComponentHandle::~CComponentHandle(), NLAISCRIPT::CConstraintChkMethodeType::~CConstraintChkMethodeType(), NLAISCRIPT::CConstraintMethode::~CConstraintMethode(), NLAISCRIPT::CConstraintStackComp::~CConstraintStackComp(), NLAILOGIC::CFact::~CFact(), NLAISCRIPT::CFindRunMsg::~CFindRunMsg(), NLAILOGIC::CFirstOrderAssert::~CFirstOrderAssert(), NLAISCRIPT::CFunctionTag::~CFunctionTag(), ~CIdentType(), NLAIAGENT::CIdMethod::~CIdMethod(), NLAILOGIC::CInternalGoal::~CInternalGoal(), NLAIAGENT::CKeyObject::~CKeyObject(), NLAISCRIPT::CLdbNewOpCode::~CLdbNewOpCode(), NLAISCRIPT::CLdbOpCode::~CLdbOpCode(), NLAISCRIPT::CLibCallInheritedMethod::~CLibCallInheritedMethod(), NLAISCRIPT::CLibCallMethod::~CLibCallMethod(), NLAISCRIPT::CLibCallMethodi::~CLibCallMethodi(), NLAIAGENT::CLocalMailBox::~CLocalMailBox(), NLAIAGENT::CMainAgentScript::~CMainAgentScript(), NLAISCRIPT::CLibTest::CMethodCall::~CMethodCall(), NLAIAGENT::CAgentScript::CMethodCall::~CMethodCall(), NLAISCRIPT::CMethodeName::~CMethodeName(), NLAISCRIPT::CAgentClass::CMethodType::~CMethodType(), NLAISCRIPT::CObjectUnknown::~CObjectUnknown(), NLAISCRIPT::COperandSimple::~COperandSimple(), NLAISCRIPT::COperandUnknown::~COperandUnknown(), NLAISCRIPT::COperationType::~COperationType(), NLAISCRIPT::COperationTypeGD::~COperationTypeGD(), NLAISCRIPT::COperatorClass::~COperatorClass(), NLAIAGENT::CPairType::~CPairType(), NLAIC::CSelfClassFactory::~CSelfClassFactory(), NLAIAGENT::CStringType::~CStringType(), NLAILOGIC::CValueSet::~CValueSet(), NLAILOGIC::CVar::~CVar(), NLAIAGENT::CVolatilMemmory::~CVolatilMemmory(), NLAIAGENT::IAgentInput::~IAgentInput(), NLAILOGIC::IBaseAssert::~IBaseAssert(), NLAILOGIC::IBaseOperator::~IBaseOperator(), NLAILOGIC::IBaseVar::~IBaseVar(), NLAIAGENT::IBasicAgent::~IBasicAgent(), NLAISCRIPT::IBlock::~IBlock(), NLAISCRIPT::IClassInterpret::~IClassInterpret(), NLAILOGIC::IGoal::~IGoal(), NLAIAGENT::IListBasicManager::~IListBasicManager(), NLAIAGENT::IMessageBase::~IMessageBase(), NLAIAGENT::IRefrence::~IRefrence(), and NLAICHARACTER::IZone::~IZone().

00087                 {
00088                         if(decRef() == 0) 
00089                                         delete this;
00090                 }

void NLAIC::CIdentType::serial NLMISC::IStream f  )  throw (NLMISC::EStream) [virtual]
 

Reimplemented from NLAIC::IPointerGestion.

Definition at line 198 of file ident_type.cpp.

References NLAIC::CRegistry::getIdent(), NLAIC::CRegistry::getNumIdent(), NLAIC::getRegistry(), s, sint32, and x.

Referenced by CIdentType(), NLAIC::operator<<(), and NLAISCRIPT::COperandSimple::serial().

00199         {
00200                 if(!f.isReading())
00201                 {                       
00202                         f.serial(_Index);
00203                         std::string x(_Ident);
00204                         f.serial(x);
00205                 }
00206                 else
00207                 {
00208                         std::string s;
00209                         sint32 n;                       
00210                         f.serial(n);
00211                         f.serial(s);
00212 
00213                         if(_Ident) delete _Ident;
00214                         
00215                         _Ident = new char [strlen(s.data()) + 1];
00216                         strcpy((char *)_Ident,s.data());
00217                         try
00218                         {                               
00219                                 _Index = getRegistry()->getNumIdent(*this);
00220                                 const CIdentType &id= getRegistry()->getIdent(_Index);
00221                                 if(_ObjType) _ObjType->release();
00222                                 if(_OpSupport) _OpSupport->release();
00223 
00224                                 _ObjType = (CTypeOfObject *)&((const CTypeOfObject &)id);
00225                                 _ObjType->incRef();
00226                                 _OpSupport = (CTypeOfOperator *)&((const CTypeOfOperator &)id);
00227                                 _OpSupport->incRef();
00228                         }
00229                         catch (NLAIE::IException &)
00230                         {
00231                                 throw NLMISC::EStream();
00232                         }
00233                         
00234                 }
00235         }


Friends And Related Function Documentation

friend class CIdentTypeAlloc [friend]
 

Definition at line 144 of file abstract_interface.h.


Field Documentation

char* NLAIC::CIdentType::_Ident [private]
 

This is a string for naming the class.

Definition at line 147 of file abstract_interface.h.

Referenced by CIdentType(), cmp(), getClassName(), operator const char *(), operator<(), operator=(), operator>(), and ~CIdentType().

sint32 NLAIC::CIdentType::_Index [private]
 

The index of objects in the class gactory map.

Definition at line 153 of file abstract_interface.h.

Referenced by CIdentType(), operator=(), and operator==().

CTypeOfObject* NLAIC::CIdentType::_ObjType [private]
 

This objects allow use to know what kind of objects it is (simple object, agent, scripted agent, operator ...).

Definition at line 149 of file abstract_interface.h.

Referenced by addObjectType(), CIdentType(), operator const CTypeOfObject &(), and ~CIdentType().

CTypeOfOperator* NLAIC::CIdentType::_OpSupport [private]
 

This objects allow use to know what kind of operation we can do with it (add, sub ...).

Definition at line 151 of file abstract_interface.h.

Referenced by CIdentType(), operator const CTypeOfOperator &(), and ~CIdentType().

CIdentType NLAIC::CIdentType::VoidType = CIdentType("VOID",CTypeOfObject::tObject,CTypeOfOperator(0),-1) [static]
 

Basic shared type need for lot of objects, and special for typing the retern method in the script.

Definition at line 91 of file ident_type.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 10:22:01 2004 for NeL by doxygen 1.3.6