QGeneralFactory Class Reference

Inheritance diagram for QGeneralFactory:

List of all members.


Detailed Description

This class take care of plugin registration and creation.

Author:
Marco Vignati Each plugin (MyPlugin) must implement a function like this:
void registerInFactoryMyPlugin()

this function creates a MyPluginFactory and register it in the QGeneralFactory.
When at run time an application ask to LoadPlugin("MyPlugin") the QDll system
open the library that contains registerMyPlugin and executes it so that the MyPluginFactory
is automatically created and registered into the QGeneralFactory.
Once a plugin is registered other applications can call the CreatePluginType("MyPlugin") that
in turns call the MyPluginFactory and return a pointer to the newly created MyPlugin instance.

Reference: http://www.nuclex.org/articles/building-a-better-plugin-architecture (Option 1)

Public Member Functions

void LoadPlugin (const std::string &name)
void Register (QModFactory< QModule > *MF)
QModuleCreateModule (const std::string &name, QSequence *s)
void Register (QModFactory< QReader > *MF)
QReaderCreateReader (const std::string &name, QSequence *s)
void Register (QModFactory< QWriter > *MF)
QWriterCreateWriter (const std::string &name, QSequence *s)
void Register (QModFactory< QFilter > *MF)
QFilterCreateFilter (const std::string &name, QSequence *s)
void Register (QModFactory< QDriver > *MF)
QDriverCreateDriver (const std::string &name, QSequence *s)

Static Public Member Functions

static QGeneralFactoryGetInstance ()

Private Attributes

QDLLLoader * fDLLLoader
std::map< std::string,
QModFactory< QModule > * > 
fModules
std::map< std::string,
QModFactory< QFilter > * > 
fFilters
std::map< std::string,
QModFactory< QReader > * > 
fReaders
std::map< std::string,
QModFactory< QWriter > * > 
fWriters
std::map< std::string,
QModFactory< QDriver > * > 
fDrivers


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

Generated on Tue Nov 16 10:50:06 2010 for CUORE Software by  doxygen 1.5.6