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"
40#include <QDirIterator>
42#include <qmainwindow.h>
45#include <qsharedpointer.h>
63 static QString regExpAnchoredPattern(
const QString& expression);
64 static QString wildcardToRegularExpression(
const QString &pattern);
70 QVector<QTranslator*> m_Translator;
72 QList<QObject *> m_addInListDataIO;
73 QList<QObject *> m_addInListAct;
74 QList<QObject *> m_addInListAlgo;
75 QHash<QString, ito::AddInAlgo::FilterDef *> m_filterList;
76 QMultiHash<QString, ito::AddInAlgo::FilterDef *> m_filterListInterfaceTag;
77 QHash<QString, ito::AddInAlgo::AlgoWidgetDef *> m_algoWidgetList;
78 QHash<void*, ito::FilterParams *> filterParamHash;
79 QList<PluginLoadStatus> m_pluginLoadStatus;
80 QObject *m_pMainWindow;
81 QObject *m_pMainApplication;
86 QCoreApplication *m_pQCoreApp;
87 QList< QPointer<ito::AddInBase> > m_deadPlugins;
88 QTimer m_deadPluginTimer;
89 int m_timeOutInitClose;
92 int getItemNum(
const void *item);
101 template<
typename _Tp>
const RetVal initAddInActuatorOrDataIO(
102 bool actuatorNotDataIO,
103 const int pluginNum,
const QString &name,
104 _Tp** addIn, QVector<ito::ParamBase> *paramsMand,
105 QVector<ito::ParamBase> *paramsOpt,
bool autoLoadPluginParams,
110 QVector<ito::ParamBase> * paramsMand, QVector<ito::ParamBase> * paramsOpt,
114 void setItomProperties(
void *propPtr) {};
126 void propertiesChanged();
semaphore which can be used for asynchronous thread communication. By using this class it is possible...
Definition sharedStructuresQt.h:58
base class for all "algorithm" plugin classes
Definition addInInterface.h:930
Base class for all plugins.
Definition addInInterface.h:386
forward declaration to private container class of AddInAlog
Definition addInInterface.h:249
class for AddIn management
Definition addInManager.h:67
Definition addInManagerPrivate.h:54
RetVal initDockWidget(const ito::AddInBase *addIn)
Definition addInManagerPrivate.cpp:1370
ito::RetVal decRefParamPlugins(ito::AddInBase *ai)
Definition addInManagerPrivate.cpp:63
RetVal closeDeadPlugins()
Definition addInManagerPrivate.cpp:221
const RetVal saveParamVals(ito::AddInBase *plugin)
Definition addInManagerPrivate.cpp:1215
RetVal registerPluginAsDeadPlugin(ito::AddInBase *addIn)
Definition addInManagerPrivate.cpp:266
RetVal loadAddIn(QString &filename)
Definition addInManagerPrivate.cpp:284
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:796
const RetVal closeAddIn(AddInBase *addIn, ItomSharedSemaphore *aimWait=NULL)
Definition addInManagerPrivate.cpp:1054
void incRefParamPlugins(ito::AddInBase *ai, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt)
Definition addInManagerPrivate.cpp:100
RetVal loadAddInDataIO(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition addInManagerPrivate.cpp:540
RetVal loadAddInAlgo(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition addInManagerPrivate.cpp:582
const RetVal loadParamVals(ito::AddInBase *plugin)
Definition addInManagerPrivate.cpp:1270
RetVal loadAddInActuator(QObject *plugin, ito::PluginLoadStatus &pluginLoadStatus)
Definition addInManagerPrivate.cpp:561
const RetVal decRef(ito::AddInBase **plugin)
Definition addInManagerPrivate.cpp:1190
The class AlgoInterfaceValidator provides validators and checks in order to verify that a certain fil...
Definition algoInterfaceValidator.h:38
class for visualizing the available (loaded) plugins
Definition pluginModel.h:78
Class for managing status values (like errors or warning)
Definition retVal.h:54
Definition apiFunctionsGraph.cpp:40
This struct provides a structure for saving the load status of any plugins or designerWidgets.
Definition pluginModel.h:61