# 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  

NLAIC::CRegistry Class Reference

CRegistry is a class factory registry. More...

#include <registry.h>

List of all members.

Public Methods

 CRegistry ()
sint32 registerClass (const CIdentType &, const IClassFactory &)
 Registers a new class. More...

void unRegisterClass (const CIdentType &)
 Removes a class from the registry. More...

const sint32 getNumIdent (const CIdentType &)
 Returns the registry index of a class from its identifier. More...

const sint32 getNumIdent (const char *)
 Returns the registry index of a class from its name. More...

const CIdentTypegetIdent (const sint32)
 Returns the identifier of a class from its registry index. More...

const CIdentTypegetIdent (const char *)
 Returns the identifier of a class from its name. More...

IBasicInterfacecreateInstance (const CIdentType &)
 Creates a new instance from a class using its identifier. More...

IBasicInterfacecreateInstance (const char *)
 Creates a new instance from a class using its class name in the registry. More...

IBasicInterfacecreateInstance (const sint32)
 Creates a new instance from a class using its registry index. More...

const IClassFactorygetFactory (const CIdentType &)
 Creates a new instance from a class using its identifier. More...

const IClassFactorygetFactory (const char *)
 Creates a new instance from a class using its class name in the registry. More...

const IClassFactorygetFactory (sint32)
 Creates a new instance from a class using its registry index. More...

const CIdentTypeoperator[] (sint32 i) const
 Get CIdentType with an index. More...

const bool existsClass (const char *) const
sint32 size () const
 Get registry size. More...

 ~CRegistry ()

Private Types

typedef std::map< CIdentType,
CRegistryClass *, std::less<
CIdentType > > 
tMapRegistry

Private Attributes

std::vector< CRegistryClass * > _TableRegistry
 Table for class factory index. More...

tMapRegistry_MapRegistry
 Map Hows stored class factory instance. More...


Detailed Description

CRegistry is a class factory registry.

This class share an std::map objects how it containe reference for ordering class. Class factory is order in the map by name, the name is define by a CIdentType and by index. Index is an index in a vector type. That make easy to manage object reference. Not that name is the word reference of an object and index is the locale reference.

Author:
Chafik sameh , Portier Pierre , Nevrax France
Date:
2000

Definition at line 49 of file registry.h.


Member Typedef Documentation

typedef std::map<CIdentType ,CRegistryClass *,std::less<CIdentType> > NLAIC::CRegistry::tMapRegistry [private]
 

Definition at line 63 of file registry.h.

Referenced by CRegistry.


Constructor & Destructor Documentation

NLAIC::CRegistry::CRegistry  
 

Definition at line 41 of file registry.cpp.

References _MapRegistry, and tMapRegistry.

NLAIC::CRegistry::~CRegistry  
 

Definition at line 45 of file registry.cpp.

References _MapRegistry, and _TableRegistry.


Member Function Documentation

IBasicInterface * NLAIC::CRegistry::createInstance const    sint32
 

Creates a new instance from a class using its registry index.

Definition at line 161 of file registry.cpp.

References _TableRegistry.

IBasicInterface * NLAIC::CRegistry::createInstance const char *   
 

Creates a new instance from a class using its class name in the registry.

Definition at line 154 of file registry.cpp.

References _TableRegistry, and getNumIdent.

IBasicInterface * NLAIC::CRegistry::createInstance const CIdentType  
 

Creates a new instance from a class using its identifier.

Definition at line 148 of file registry.cpp.

References getNumIdent.

const bool NLAIC::CRegistry::existsClass const char *    const
 

Definition at line 215 of file registry.cpp.

References _TableRegistry.

Referenced by NLAISCRIPT::CCompilateur::getTypeOfClass.

const IClassFactory * NLAIC::CRegistry::getFactory sint32   
 

Creates a new instance from a class using its registry index.

Definition at line 199 of file registry.cpp.

References _TableRegistry.

const IClassFactory * NLAIC::CRegistry::getFactory const char *   
 

Creates a new instance from a class using its class name in the registry.

Definition at line 184 of file registry.cpp.

References id.

const IClassFactory * NLAIC::CRegistry::getFactory const CIdentType  
 

Creates a new instance from a class using its identifier.

Definition at line 168 of file registry.cpp.

References _MapRegistry, NLAIC::stringGetBuild, and t.

const CIdentType & NLAIC::CRegistry::getIdent const char *   
 

Returns the identifier of a class from its name.

Definition at line 134 of file registry.cpp.

References _TableRegistry, and NLAIC::stringGetBuild.

const CIdentType & NLAIC::CRegistry::getIdent const    sint32
 

Returns the identifier of a class from its registry index.

Definition at line 128 of file registry.cpp.

References _TableRegistry, and index.

Referenced by NLAIC::CIdentType::serial.

const sint32 NLAIC::CRegistry::getNumIdent const char *   
 

Returns the registry index of a class from its name.

Definition at line 112 of file registry.cpp.

References _TableRegistry, and NLAIC::stringGetBuild.

const sint32 NLAIC::CRegistry::getNumIdent const CIdentType  
 

Returns the registry index of a class from its identifier.

Definition at line 96 of file registry.cpp.

References _MapRegistry, NLAIC::stringGetBuild, and t.

Referenced by createInstance, NLAIC::CIdentType::serial, and unRegisterClass.

const CIdentType & NLAIC::CRegistry::operator[] sint32    i const
 

Get CIdentType with an index.

Definition at line 205 of file registry.cpp.

References _TableRegistry.

sint32 NLAIC::CRegistry::registerClass const CIdentType  ,
const IClassFactory  
 

Registers a new class.

Definition at line 57 of file registry.cpp.

References _MapRegistry, _TableRegistry, and t.

sint32 NLAIC::CRegistry::size   const
 

Get registry size.

Definition at line 210 of file registry.cpp.

References _TableRegistry.

void NLAIC::CRegistry::unRegisterClass const CIdentType  
 

Removes a class from the registry.

Definition at line 79 of file registry.cpp.

References _TableRegistry, and getNumIdent.


Member Data Documentation

tMapRegistry& NLAIC::CRegistry::_MapRegistry [private]
 

Map Hows stored class factory instance.

Definition at line 68 of file registry.h.

Referenced by CRegistry, getFactory, getNumIdent, registerClass, and ~CRegistry.

std::vector<CRegistryClass *> NLAIC::CRegistry::_TableRegistry [private]
 

Table for class factory index.

Definition at line 66 of file registry.h.

Referenced by createInstance, existsClass, getFactory, getIdent, getNumIdent, operator[], registerClass, size, unRegisterClass, and ~CRegistry.


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