43 #include "../Interfaces/IPlugin.h"
44 #include "../Interfaces/ISensor.h"
45 #include "../Interfaces/IAlgorithm.h"
46 #include "../Interfaces/IIO.h"
72 : QPluginLoader(parent)
91 foreach(QString fileName, PluginsDir.entryList(QDir::Files))
93 this->setFileName(PluginsDir.absoluteFilePath(fileName));
94 QObject *pPlugin = this->instance();
99 qDebug() <<
"try to load Plugin " << fileName;
102 m_qVecPlugins.push_back(qobject_cast<IPlugin*>(pPlugin));
112 m_qVecSensorPlugins.push_back(pSensor);
113 qDebug() <<
"Sensor " << pSensor->
getName() <<
" loaded.";
122 m_qVecAlgorithmPlugins.push_back(pAlgorithm);
123 qDebug() <<
"RTAlgorithm " << pAlgorithm->
getName() <<
" loaded.";
129 IIO* pIO = qobject_cast<
IIO*>(pPlugin);
132 m_qVecIOPlugins.push_back(pIO);
133 qDebug() <<
"RTVisualization " << pIO->
getName() <<
" loaded.";
141 qDebug() <<
"Plugin " << fileName <<
" could not be instantiated!";
151 QVector<IPlugin*>::const_iterator it = m_qVecPlugins.begin();
152 for(
int i = 0; it != m_qVecPlugins.end(); ++i, ++it)
153 if((*it)->getName() == name)
void loadPlugins(const QString &dir)
int findByName(const QString &name)
Contains the declaration of the PluginManager class.
virtual QString getName() const =0
The IPlugin class is the base interface class of all plugins.
The ISensor class provides an interface for a sensor plugin.
PluginManager(QObject *parent=0)
virtual QString getName() const =0
The IAlgorithm class provides an interface for a real-time algorithm plugin.
The IIO class provides an interface for a real-time record plugin.
virtual QString getName() const =0