23 #ifndef ADDINMANAGERIMPL_H
24 #define ADDINMANAGERIMPL_H
26 #include "algoInterfaceValidator.h"
27 #include "../common/sharedFunctionsQt.h"
28 #include "../common/addInInterface.h"
29 #include "pluginModel.h"
37 #include <qfileinfo.h>
38 #include <qsettings.h>
40 #include <QDirIterator>
41 #include <QTranslator>
42 #include <qmainwindow.h>
45 #include <qsharedpointer.h>
66 QVector<QTranslator*> m_Translator;
68 QList<QObject *> m_addInListDataIO;
69 QList<QObject *> m_addInListAct;
70 QList<QObject *> m_addInListAlgo;
71 QHash<QString, ito::AddInAlgo::FilterDef *> m_filterList;
72 QMultiHash<QString, ito::AddInAlgo::FilterDef *> m_filterListInterfaceTag;
73 QHash<QString, ito::AddInAlgo::AlgoWidgetDef *> m_algoWidgetList;
74 QHash<void*, ito::FilterParams *> filterParamHash;
75 QList<PluginLoadStatus> m_pluginLoadStatus;
76 QObject *m_pMainWindow;
77 QObject *m_pMainApplication;
82 QCoreApplication *m_pQCoreApp;
83 QList< QPointer<ito::AddInBase> > m_deadPlugins;
84 QTimer m_deadPluginTimer;
85 int m_timeOutInitClose;
88 int getItemNum(
const void *item);
97 template<
typename _Tp>
const RetVal initAddInActuatorOrDataIO(
98 bool actuatorNotDataIO,
99 const int pluginNum,
const QString &name,
100 _Tp** addIn, QVector<ito::ParamBase> *paramsMand,
101 QVector<ito::ParamBase> *paramsOpt,
bool autoLoadPluginParams,
106 QVector<ito::ParamBase> * paramsMand, QVector<ito::ParamBase> * paramsOpt,
110 void setItomProperties(
void *propPtr) {};
122 void propertiesChanged();
129 #endif // ADDINMANAGERIMPL_H
RetVal closeDeadPlugins()
Definition: addInManagerPrivate.cpp:219
RetVal initDockWidget(const ito::AddInBase *addIn)
Definition: addInManagerPrivate.cpp:1356
The class AlgoInterfaceValidator provides validators and checks in order to verify that a certain fil...
Definition: algoInterfaceValidator.h:37
const RetVal loadParamVals(ito::AddInBase *plugin)
Definition: addInManagerPrivate.cpp:1252
class for visualizing the available (loaded) plugins
Definition: pluginModel.h:78
Class for managing status values (like errors or warning)
Definition: retVal.h:54
Base class for all plugins.
Definition: addInInterface.h:385
RetVal loadAddInDataIO(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition: addInManagerPrivate.cpp:519
class for AddIn management
Definition: addInManager.h:66
base class for all "algorithm" plugin classes
Definition: addInInterface.h:929
RetVal loadAddInActuator(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition: addInManagerPrivate.cpp:540
const RetVal closeAddIn(AddInBase *addIn, ItomSharedSemaphore *aimWait=NULL)
Definition: addInManagerPrivate.cpp:1032
void incRefParamPlugins(ito::AddInBase *ai, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt)
Definition: addInManagerPrivate.cpp:98
Definition: apiFunctionsGraph.cpp:39
This struct provides a structure for saving the load status of any plugins or designerWidgets.
Definition: pluginModel.h:61
RetVal loadAddInAlgo(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition: addInManagerPrivate.cpp:561
RetVal registerPluginAsDeadPlugin(ito::AddInBase *addIn)
Definition: addInManagerPrivate.cpp:264
semaphore which can be used for asychronous thread communication. By using this class it is possible ...
Definition: sharedStructuresQt.h:57
ito::RetVal decRefParamPlugins(ito::AddInBase *ai)
Definition: addInManagerPrivate.cpp:61
forward declaration to private container class of AddInAlog
Definition: addInInterface.h:248
const RetVal initAddInAlgo(const int pluginNum, const QString &name, ito::AddInAlgo **addIn, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, bool autoLoadPluginParams, ItomSharedSemaphore *aimWait=NULL)
Definition: addInManagerPrivate.cpp:775
RetVal loadAddIn(QString &filename)
Definition: addInManagerPrivate.cpp:282
Definition: addInManagerPrivate.h:53
const RetVal decRef(ito::AddInBase **plugin)
Definition: addInManagerPrivate.cpp:1172
const RetVal saveParamVals(ito::AddInBase *plugin)
Definition: addInManagerPrivate.cpp:1197