CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

iFactory Struct Reference
[Shared Class Facility (SCF)]

iFactory is a interface that is used to create instances of shared classes. More...

#include <scf.h>

Inheritance diagram for iFactory:

iBase List of all members.

Public Methods

virtual void * CreateInstance ()=0
 Create a instance of class this factory represents.

virtual void TryUnload ()=0
 Try to unload class module (i.e. shared module).

virtual const char * QueryDescription ()=0
 Query class description string.

virtual const char * QueryDependencies ()=0
 Query class dependency strings.

virtual const char * QueryClassID ()=0
 Query class ID.


Detailed Description

iFactory is a interface that is used to create instances of shared classes.

Any object supports the iFactory interface; a QueryInterface about iFactory will return a valid pointer to the factory that was used to create that object. Thus you can clone objects without even knowing their types.

NOTE: Currently you cannot add factories to the class factory list internally maintained by SCF. That is, you can use an existing factory but cannot create objects that implements this interface (well, you can but its pointless since you won't be able to add it to the factory list). Instead, you should register new class factories through the normal class registration mechanism.

Definition at line 660 of file scf.h.


Member Function Documentation

virtual void* iFactory::CreateInstance   [pure virtual]
 

Create a instance of class this factory represents.

virtual const char* iFactory::QueryClassID   [pure virtual]
 

Query class ID.

virtual const char* iFactory::QueryDependencies   [pure virtual]
 

Query class dependency strings.

virtual const char* iFactory::QueryDescription   [pure virtual]
 

Query class description string.

virtual void iFactory::TryUnload   [pure virtual]
 

Try to unload class module (i.e. shared module).


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.18