17 fDLLLoader = &Diana::QDLLLoader::GetInstance();
18 std::string pluginListFile =
"plugins.list";
23 pluginListFile =
"diana_plugins_external.list";
30 std::map<std::string, QGlobalReaderFactory*>::iterator GlobalReadersIter;
31 std::map<std::string, QGlobalWriterFactory*>::iterator GlobalWritersIter;
33 if(GlobalReadersIter->second)
delete GlobalReadersIter->second;
36 if(GlobalWritersIter->second)
delete GlobalWritersIter->second;
42 std::string fullName = name;
50 std::map<std::string, QGlobalReaderFactory*>::iterator iter;
64 std::list<const QGlobalReaderFactory*> readersList;
65 std::map<std::string, QGlobalReaderFactory*>::const_iterator iter;
67 readersList.push_back(iter->second);
73 std::map<std::string, QGlobalReaderFactory*>::iterator iter;
76 return iter->second->Create();
82 std::map<std::string, QGlobalWriterFactory*>::iterator iter;
96 std::list<const QGlobalWriterFactory*> readersList;
97 std::map<std::string, QGlobalWriterFactory*>::const_iterator iter;
99 readersList.push_back(iter->second);
105 std::map<std::string, QGlobalWriterFactory*>::iterator iter;
108 return iter->second->Create();
#define Q_PLUGIN_PREFIX_STR
error class with error type and description
This class take care of plugin registration and creation.
std::list< const QGlobalReaderFactory * > GetListOfGlobalReaders() const
std::list< const QGlobalWriterFactory * > GetListOfGlobalWriters() const
std::map< std::string, QGlobalReaderFactory * > fGlobalReaders
QGlobalReader * CreateGlobalReader(const std::string &name)
Diana::QDLLLoader * fDLLLoader
static QGlobalRWFactory & GetInstance()
virtual ~QGlobalRWFactory()
std::map< std::string, QGlobalWriterFactory * > fGlobalWriters
void RegisterGlobalReader(QGlobalReaderFactory *GRF)
void LoadPlugin(const std::string &name)
QGlobalWriter * CreateGlobalWriter(const std::string &name)
void RegisterGlobalWriter(QGlobalWriterFactory *GRF)
abstract factory for QGlobalReader.
const std::string & GetName() const
Abstract class for global readers.
abstract factory for QGlobalWriter.
const std::string & GetName() const
Abstract class for global writers.
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)
base class for anything that has a name
const std::string & GetName() const
the Diana namespace is needed because sometimes we use Qt libraries, that use same class names of our...