16 std::string pluginListFile =
"plugins.list";
21 pluginListFile =
"diana_plugins_external.list";
28 std::map<std::string, QModFactory<QModule>* >::iterator ModulesIter;
29 std::map<std::string, QModFactory<QFilter>* >::iterator FiltersIter;
30 std::map<std::string, QModFactory<QReader>* >::iterator ReadersIter;
31 std::map<std::string, QModFactory<QWriter>* >::iterator WritersIter;
32 std::map<std::string, QModFactory<QDriver>* >::iterator DriversIter;
35 for(ModulesIter =
fModules.begin(); ModulesIter !=
fModules.end(); ModulesIter++)
36 if(ModulesIter->second)
delete ModulesIter->second;
38 for(FiltersIter =
fFilters.begin(); FiltersIter !=
fFilters.end(); FiltersIter++)
39 if(FiltersIter->second)
delete FiltersIter->second;
41 for(ReadersIter =
fReaders.begin(); ReadersIter !=
fReaders.end(); ReadersIter++)
42 if(ReadersIter->second)
delete ReadersIter->second;
44 for(WritersIter =
fWriters.begin(); WritersIter !=
fWriters.end(); WritersIter++)
45 if(WritersIter->second)
delete WritersIter->second;
47 for(DriversIter =
fDrivers.begin(); DriversIter !=
fDrivers.end(); DriversIter++)
48 if(DriversIter->second)
delete DriversIter->second;
54 std::string fullName = name;
61 std::map<std::string, QModFactory<QModule>* >::iterator iter;
74 std::map<std::string, QModFactory<QModule>* >::iterator iter;
81 if(iter!=
fModules.end() && iter->second != NULL)
82 return iter->second->Create(s);
90 std::map<std::string, QModFactory<QWriter>* >::iterator iter;
103 std::map<std::string, QModFactory<QWriter>* >::iterator iter;
110 if(iter!=
fWriters.end() && iter->second != NULL)
111 return iter->second->Create(s);
118 std::map<std::string, QModFactory<QReader>* >::iterator iter;
131 std::map<std::string, QModFactory<QReader>* >::iterator iter;
138 if(iter!=
fReaders.end() && iter->second != NULL)
139 return iter->second->Create(s);
146 std::map<std::string, QModFactory<QFilter>* >::iterator iter;
159 std::map<std::string, QModFactory<QFilter>* >::iterator iter;
166 if(iter!=
fFilters.end() && iter->second != NULL)
167 return iter->second->Create(s);
173 std::map<std::string, QModFactory<QDriver>* >::iterator iter;
186 std::map<std::string, QModFactory<QDriver>* >::iterator iter;
193 if(iter!=
fDrivers.end() && iter->second != NULL)
194 return iter->second->Create(s);
#define Q_BEGIN_NAMESPACE
#define Q_PLUGIN_PREFIX_STR
static QDLLLoader & GetInstance()
QError LoadPlugin(const std::string &name)
QError Init(const std::string &pluginlist, const std::string &pluginPrefix)
Base class for diana drivers.
error class with error type and description
Base class for diana filters.
This class take care of plugin registration and creation.
std::map< std::string, QModFactory< QModule > * > fModules
std::map< std::string, QModFactory< QReader > * > fReaders
QFilter * CreateFilter(const std::string &name, QSequence *s)
static QGeneralFactory & GetInstance()
std::map< std::string, QModFactory< QFilter > * > fFilters
QWriter * CreateWriter(const std::string &name, QSequence *s)
void LoadPlugin(const std::string &name)
std::map< std::string, QModFactory< QWriter > * > fWriters
void Register(QModFactory< QModule > *MF)
std::map< std::string, QModFactory< QDriver > * > fDrivers
QModule * CreateModule(const std::string &name, QSequence *s)
QReader * CreateReader(const std::string &name, QSequence *s)
virtual ~QGeneralFactory()
QDriver * CreateDriver(const std::string &name, QSequence *s)
static void Debug(const std::string &sender, const std::string &msg)
static void Panic(const std::string &sender, const std::string &msg)
static void Error(const std::string &sender, const std::string &msg)
abstract module factory and definition of macros that builds modulefactories and register function.
const std::string & GetName() const
Base class for diana modules.
base class for anything that has a name
const std::string & GetName() const
Base class for diana event readers.
Diana Reconstruction program.
Abstract class for diana writers.