# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLAISCRIPT::CAgentClass Class Reference

Class CAgentClass. More...

#include <interpret_object_agent.h>

Inheritance diagram for NLAISCRIPT::CAgentClass

Inheritance graph
[legend]
Collaboration diagram for NLAISCRIPT::CAgentClass:

Collaboration graph
[legend]
List of all members.

Public Methods

 CAgentClass (const NLAIAGENT::IVarName &)
 CAgentClass (const NLAIAGENT::IVarName &, const NLAIAGENT::IVarName &)
 CAgentClass (const CAgentClass &)
 CAgentClass (const NLAIC::CIdentType &)
 CAgentClass ()
virtual ~CAgentClass ()
virtual NLAIAGENT::IObjectIAbuildNewInstance () const
 Instanciates an object of the class. More...

virtual const NLAIC::IBasicTypeclone () const
 This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne. More...

virtual const NLAIC::IBasicTypenewInstance () const
 This function allow a new instance, that mean that the class is a class factory. More...

virtual void getDebugString (char *t) const
 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. More...

virtual void save (NLMISC::IStream &)
 Save the class in a stream. More...

virtual void load (NLMISC::IStream &)
 Load the class from a stream. More...

virtual const NLAIAGENT::IObjectIA::CProcessResultrun ()
 Some where Run method define the process of the agen. More...

virtual bool isEqual (const NLAIAGENT::IBasicObjectIA &a) const
virtual sint32 registerComponent (const NLAIAGENT::IVarName &type_name)
 Adds a static component to an agent. More...

virtual sint32 registerComponent (const NLAIAGENT::IVarName &type_name, const NLAIAGENT::CStringVarName &field_name)
 Adds a static component to an agent. More...

virtual CComponentgetComponent (sint32 i) const
 Returns a CComponent struct describing a static component from its index in the class Only the class's own static members are considered, not the inherited ones. More...

virtual CComponentgetComponent (const NLAIAGENT::IVarName &name) const
 Returns a CComponent struct describing a static component from its name in the class Only the class's own static members are considered, not the inherited ones. More...

virtual sint32 getComponentIndex (const NLAIAGENT::IVarName &) const
virtual sint32 getStaticMemberIndex (const NLAIAGENT::IVarName &) const
 Returns a CComponent struct describing a static component from its name in the class Only the class's own static members are considered, not the inherited ones. More...

virtual const NLAIAGENT::IObjectIAgetStaticMember (sint32) const
 to get the pointer of a given components referened by an index. More...

virtual sint32 getStaticMemberSize () const
 returns the number of static members specific to the class (not the inherited ones). More...

sint32 getInheritedStaticMemberIndex (const NLAIAGENT::IVarName &) const
virtual void createComponents (std::list<NLAIAGENT::IObjectIA *> &) const
 Build the class static components for a new instance, including inherited ones. More...

virtual void createBaseClassComponents (std::list<NLAIAGENT::IObjectIA *> &) const
 Build the bases classes for a new instance, including inherited ones. More...

virtual const char* getComponentName (sint32) const
 Gets the name of the components with an offset reference. More...

virtual const IClassInterpretgetInheritance (sint32 n) const
 Return a pointer represent the inheritance range n, the inheritance graph are represented by a vector. More...

sint32 findMethod (const NLAIAGENT::IVarName &name,const CParam &CParam) const
virtual sint32 getChildMessageIndex (const NLAIAGENT::IMessageBase *, sint32)
Methods.
virtual sint32 addBrancheCode (const NLAIAGENT::IVarName &,const CParam &)
virtual CMethodeNamegetBrancheCode () const
virtual CMethodeNamegetBrancheCode (sint32) const
 throw NLAIE::CExceptionUnReference;. More...

virtual CMethodeNamegetBrancheCode (sint32, sint32) const
 get method in the base class. where h is the base class offset m is the method offset. More...

virtual sint32 getBrancheCodeSize () const
virtual NLAIAGENT::tQueue isMember (const NLAIAGENT::IVarName *className,const NLAIAGENT::IVarName *methodName,const NLAIAGENT::IObjectIA &param) const
virtual NLAIAGENT::tQueue getPrivateMember (const NLAIAGENT::IVarName *,const NLAIAGENT::IVarName *,const NLAIAGENT::IObjectIA &) const
virtual sint32 getMethodIndexSize () const
 getMethodIndexSize define the nomber of external method. More...

virtual sint32 getRunMethod () const
 return the absolut index of the run() method of this class. More...

virtual void setRunMethod (sint32 index)
 set the absolut index of the run() method of this class. More...

Builds the v_table.
virtual void buildVTable ()
 Builds the v_table. More...

virtual void buildVMethode ()
virtual sint32 sizeVTable () const
 Get the size of the v_table. More...

void buildChildsMessageMap ()
 Build the table that translates an agent's message processing function index into it's child equivalent message processing function index. More...

Classes.
virtual sint32 isClassInheritedFrom (const NLAIAGENT::IVarName &) const
const NLAIAGENT::IVarNamegetInheritanceName () const
 Returns the name of the base class in the registry. More...

void setInheritanceName (const NLAIAGENT::IVarName &name)
 Returns the name of the base class of this class. More...

virtual const IClassInterpretgetBaseClass () const
 Defines the base class of this class. More...

const CAgentClass* getSuperClass () const
 Returns the base class of this class. More...

const void getClassPath (std::vector<const CAgentClass *> &path) const
 Builds a vector with the path from the super class to this class. More...

sint32 getNbBaseClass () const
 Returns the number of base classes (the distance to the super class). More...


Static Public Attributes

const NLAIC::CIdentType IdAgentClass

Private Types

typedef std::vector<CMethodTypetVectorMethode

Private Methods

bool isMessageFunc (const CParam &) const
void clearIndirectMsgTable ()

Private Attributes

std::vector<CComponent *> _Components
tVectorMethode _Methode
std::vector<const CAgentClass *> _VTable
std::vector<sint32 *> _MsgIndirectTable
sint32 _lastRef
sint32 _RunIndex
NLAIAGENT::IVarName_Inheritance

Detailed Description

Class CAgentClass.

This class is an concret class use to define an scripted agent.

Author(s):
Chafik sameh , Portier Pierre. , Nevrax France
Date:
2000

Definition at line 100 of file interpret_object_agent.h.


Member Typedef Documentation

typedef std::vector<CMethodType> NLAISCRIPT::CAgentClass::tVectorMethode [private]
 

Definition at line 155 of file interpret_object_agent.h.


Constructor & Destructor Documentation

NLAISCRIPT::CAgentClass::CAgentClass ( const NLAIAGENT::IVarName & name )
 

Definition at line 38 of file interpret_object_agent.cpp.

NLAISCRIPT::CAgentClass::CAgentClass ( const NLAIAGENT::IVarName & name,
const NLAIAGENT::IVarName & base_class_name )
 

Definition at line 47 of file interpret_object_agent.cpp.

NLAISCRIPT::CAgentClass::CAgentClass ( const CAgentClass & a )
 

Definition at line 58 of file interpret_object_agent.cpp.

NLAISCRIPT::CAgentClass::CAgentClass ( const NLAIC::CIdentType & ident )
 

Definition at line 68 of file interpret_object_agent.cpp.

NLAISCRIPT::CAgentClass::CAgentClass ( )
 

Definition at line 78 of file interpret_object_agent.cpp.

NLAISCRIPT::CAgentClass::~CAgentClass ( ) [virtual]
 

Definition at line 88 of file interpret_object_agent.cpp.


Member Function Documentation

sint32 NLAISCRIPT::CAgentClass::addBrancheCode ( const NLAIAGENT::IVarName & name,
const CParam & param ) [virtual]
 

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 578 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::buildChildsMessageMap ( )
 

Build the table that translates an agent's message processing function index into it's child equivalent message processing function index.

Definition at line 131 of file interpret_object_agent.cpp.

NLAIAGENT::IObjectIA * NLAISCRIPT::CAgentClass::buildNewInstance ( ) const [virtual]
 

Instanciates an object of the class.

Reimplemented from NLAISCRIPT::IClassInterpret.

Reimplemented in NLAISCRIPT::COperatorClass, NLAISCRIPT::CGDAgentClass, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CSeqFsmClass, NLAISCRIPT::CSuccessMsgClass, NLAISCRIPT::CFailureMsgClass, NLAISCRIPT::CManagerClass, NLAISCRIPT::CMessageClass, NLAISCRIPT::CMsgNotifyParentClass, NLAISCRIPT::CGoalMsgClass, NLAISCRIPT::CCancelGoalMsgClass, NLAISCRIPT::CFactMsgClass, NLAISCRIPT::CDebugMsgClass, and NLAISCRIPT::COnChangeMsgClass.

Definition at line 811 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::buildVMethode ( ) [virtual]
 

Definition at line 739 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::buildVTable ( ) [virtual]
 

Builds the v_table.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 731 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::clearIndirectMsgTable ( ) [private]
 

Definition at line 106 of file interpret_object_agent.cpp.

const NLAIC::IBasicType * NLAISCRIPT::CAgentClass::clone ( void ) const [virtual]
 

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

Reimplemented from NLAIC::IBasicType.

Reimplemented in NLAISCRIPT::COperatorClass, NLAISCRIPT::CGDAgentClass, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CSeqFsmClass, NLAISCRIPT::CSuccessMsgClass, NLAISCRIPT::CFailureMsgClass, NLAISCRIPT::CManagerClass, NLAISCRIPT::CMessageClass, NLAISCRIPT::CMsgNotifyParentClass, NLAISCRIPT::CGoalMsgClass, NLAISCRIPT::CCancelGoalMsgClass, NLAISCRIPT::CFactMsgClass, NLAISCRIPT::CDebugMsgClass, and NLAISCRIPT::COnChangeMsgClass.

Definition at line 828 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::createBaseClassComponents ( std::list< NLAIAGENT::IObjectIA *>& comps ) const [virtual]
 

Build the bases classes for a new instance, including inherited ones.

Definition at line 702 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::createComponents ( std::list< NLAIAGENT::IObjectIA *>& comps ) const [virtual]
 

Build the class static components for a new instance, including inherited ones.

Definition at line 719 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::findMethod ( const NLAIAGENT::IVarName & name,
const CParam & param ) const
 

Definition at line 687 of file interpret_object_agent.cpp.

const IClassInterpret * NLAISCRIPT::CAgentClass::getBaseClass ( ) const [virtual]
 

Defines the base class of this class.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 931 of file interpret_object_agent.cpp.

CMethodeName & NLAISCRIPT::CAgentClass::getBrancheCode ( sint32 no_base_class,
sint32 no_methode ) const [virtual]
 

get method in the base class. where h is the base class offset m is the method offset.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 562 of file interpret_object_agent.cpp.

CMethodeName & NLAISCRIPT::CAgentClass::getBrancheCode ( sint32 i ) const [virtual]
 

throw NLAIE::CExceptionUnReference;.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 551 of file interpret_object_agent.cpp.

CMethodeName & NLAISCRIPT::CAgentClass::getBrancheCode ( ) const [virtual]
 

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 567 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getBrancheCodeSize ( ) const [virtual]
 

Definition at line 557 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getChildMessageIndex ( const NLAIAGENT::IMessageBase * msg,
sint32 child_index ) [virtual]
 

Definition at line 342 of file interpret_object_agent.cpp.

const void NLAISCRIPT::CAgentClass::getClassPath ( std::vector< const CAgentClass *>& path ) const
 

Builds a vector with the path from the super class to this class.

Definition at line 955 of file interpret_object_agent.cpp.

CComponent * NLAISCRIPT::CAgentClass::getComponent ( const NLAIAGENT::IVarName & name ) const [virtual]
 

Returns a CComponent struct describing a static component from its name in the class Only the class's own static members are considered, not the inherited ones.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 385 of file interpret_object_agent.cpp.

CComponent * NLAISCRIPT::CAgentClass::getComponent ( sint32 i ) const [virtual]
 

Returns a CComponent struct describing a static component from its index in the class Only the class's own static members are considered, not the inherited ones.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 521 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getComponentIndex ( const NLAIAGENT::IVarName & name ) const [virtual]
 

Definition at line 368 of file interpret_object_agent.cpp.

const char * NLAISCRIPT::CAgentClass::getComponentName ( sint32 i ) const [virtual]
 

Gets the name of the components with an offset reference.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 983 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::getDebugString ( char * t ) const [virtual]
 

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

Reimplemented from NLAIC::IBasicType.

Reimplemented in NLAISCRIPT::COperatorClass, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CSeqFsmClass, NLAISCRIPT::CManagerClass, and NLAISCRIPT::CMessageClass.

Definition at line 840 of file interpret_object_agent.cpp.

const IClassInterpret * NLAISCRIPT::CAgentClass::getInheritance ( sint32 n ) const [virtual]
 

Return a pointer represent the inheritance range n, the inheritance graph are represented by a vector.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 801 of file interpret_object_agent.cpp.

const NLAIAGENT::IVarName * NLAISCRIPT::CAgentClass::getInheritanceName ( ) const [virtual]
 

Returns the name of the base class in the registry.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 916 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getInheritedStaticMemberIndex ( const NLAIAGENT::IVarName & name ) const
 

Definition at line 422 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getMethodIndexSize ( ) const [virtual]
 

getMethodIndexSize define the nomber of external method.

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 573 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getNbBaseClass ( ) const
 

Returns the number of base classes (the distance to the super class).

Definition at line 971 of file interpret_object_agent.cpp.

NLAIAGENT::tQueue NLAISCRIPT::CAgentClass::getPrivateMember ( const NLAIAGENT::IVarName * className,
const NLAIAGENT::IVarName * methodName,
const NLAIAGENT::IObjectIA & param ) const [virtual]
 

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 620 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getRunMethod ( ) const [virtual]
 

return the absolut index of the run() method of this class.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 997 of file interpret_object_agent.cpp.

const NLAIAGENT::IObjectIA * NLAISCRIPT::CAgentClass::getStaticMember ( sint32 index ) const [virtual]
 

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

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 473 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getStaticMemberIndex ( const NLAIAGENT::IVarName & name ) const [virtual]
 

Returns a CComponent struct describing a static component from its name in the class Only the class's own static members are considered, not the inherited ones.

Definition at line 396 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::getStaticMemberSize ( ) const [virtual]
 

returns the number of static members specific to the class (not the inherited ones).

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 516 of file interpret_object_agent.cpp.

const CAgentClass * NLAISCRIPT::CAgentClass::getSuperClass ( ) const
 

Returns the base class of this class.

Definition at line 943 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::isClassInheritedFrom ( const NLAIAGENT::IVarName & className ) const [virtual]
 

Definition at line 763 of file interpret_object_agent.cpp.

bool NLAISCRIPT::CAgentClass::isEqual ( const NLAIAGENT::IBasicObjectIA & a ) const [virtual]
 

Definition at line 910 of file interpret_object_agent.cpp.

NLAIAGENT::tQueue NLAISCRIPT::CAgentClass::isMember ( const NLAIAGENT::IVarName * className,
const NLAIAGENT::IVarName * methodName,
const NLAIAGENT::IObjectIA & param ) const [virtual]
 

Definition at line 650 of file interpret_object_agent.cpp.

bool NLAISCRIPT::CAgentClass::isMessageFunc ( const CParam & param ) const [private]
 

Definition at line 114 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::load ( NLMISC::IStream & is ) [virtual]
 

Load the class from a stream.

Reimplemented from NLAIC::IBasicInterface.

Definition at line 868 of file interpret_object_agent.cpp.

const NLAIC::IBasicType * NLAISCRIPT::CAgentClass::newInstance ( void ) const [virtual]
 

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

Reimplemented from NLAIC::IBasicType.

Reimplemented in NLAISCRIPT::COperatorClass, NLAISCRIPT::CGDAgentClass, NLAISCRIPT::CActorClass, NLAISCRIPT::CFsmClass, NLAISCRIPT::CSeqFsmClass, NLAISCRIPT::CSuccessMsgClass, NLAISCRIPT::CFailureMsgClass, NLAISCRIPT::CManagerClass, NLAISCRIPT::CMessageClass, NLAISCRIPT::CMsgNotifyParentClass, NLAISCRIPT::CGoalMsgClass, NLAISCRIPT::CCancelGoalMsgClass, NLAISCRIPT::CFactMsgClass, NLAISCRIPT::CDebugMsgClass, and NLAISCRIPT::COnChangeMsgClass.

Definition at line 834 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::registerComponent ( const NLAIAGENT::IVarName & type_name,
const NLAIAGENT::CStringVarName & field_name ) [virtual]
 

Adds a static component to an agent.

Definition at line 358 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::registerComponent ( const NLAIAGENT::IVarName & type_name ) [virtual]
 

Adds a static component to an agent.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 348 of file interpret_object_agent.cpp.

const NLAIAGENT::IObjectIA::CProcessResult & NLAISCRIPT::CAgentClass::run ( void ) [virtual]
 

Some where Run method define the process of the agen.

Reimplemented from NLAIAGENT::IObjectIA.

Definition at line 33 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::save ( NLMISC::IStream & os ) [virtual]
 

Save the class in a stream.

Reimplemented from NLAIC::IBasicInterface.

Definition at line 845 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::setInheritanceName ( const NLAIAGENT::IVarName & name ) [virtual]
 

Returns the name of the base class of this class.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 921 of file interpret_object_agent.cpp.

void NLAISCRIPT::CAgentClass::setRunMethod ( sint32 index ) [virtual]
 

set the absolut index of the run() method of this class.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 1002 of file interpret_object_agent.cpp.

sint32 NLAISCRIPT::CAgentClass::sizeVTable ( ) const [virtual]
 

Get the size of the v_table.

Reimplemented from NLAISCRIPT::IClassInterpret.

Definition at line 806 of file interpret_object_agent.cpp.


Member Data Documentation

const NLAIC::CIdentType NLAISCRIPT::CAgentClass::IdAgentClass [static]
 

Definition at line 151 of file interpret_object_agent.h.

std::vector< CComponent *> NLAISCRIPT::CAgentClass::_Components [private]
 

Definition at line 153 of file interpret_object_agent.h.

NLAIAGENT::IVarName * NLAISCRIPT::CAgentClass::_Inheritance [private]
 

Definition at line 163 of file interpret_object_agent.h.

tVectorMethode NLAISCRIPT::CAgentClass::_Methode [private]
 

Definition at line 156 of file interpret_object_agent.h.

std::vector< sint32 *> NLAISCRIPT::CAgentClass::_MsgIndirectTable [private]
 

Definition at line 158 of file interpret_object_agent.h.

sint32 NLAISCRIPT::CAgentClass::_RunIndex [private]
 

Definition at line 160 of file interpret_object_agent.h.

std::vector< const CAgentClass *> NLAISCRIPT::CAgentClass::_VTable [private]
 

Definition at line 157 of file interpret_object_agent.h.

sint32 NLAISCRIPT::CAgentClass::_lastRef [private]
 

Definition at line 159 of file interpret_object_agent.h.


The documentation for this class was generated from the following files: