23 #ifndef ADDINMANAGER_H
24 #define ADDINMANAGER_H
26 #include "addInMgrDefines.h"
28 #include "../common/addInInterface.h"
29 #include "../DataObject/dataobj.h"
31 #define ITOM_POINTCLOUDLIBRARY 1
33 #define ITOM_POINTCLOUDLIBRARY 0
35 #if ITOM_POINTCLOUDLIBRARY > 0
36 #include "../PointCloud/pclStructures.h"
40 #include <qscopedpointer.h>
46 #if !defined(Q_MOC_RUN) || defined(ADDINMGR_DLL) //only moc this file in itomCommonQtLib but not in other libraries or executables linking against this itomCommonQtLib
52 class AddInManagerPrivate;
55 class AlgoInterfaceValidator;
72 static AddInManager* createInstance(QString itomSettingsFile,
void **apiFuncsGraph, QObject *mainWindow = NULL, QObject *mainApplication = NULL);
75 static RetVal closeInstance();
83 const RetVal scanAddInDir(
const QString &path,
const int checkQCoreApp = 1);
86 const QList<QObject *> * getDataIOList(
void)
const;
89 const QList<QObject *> * getActList(
void)
const;
92 const QList<QObject *> * getAlgList(
void)
const;
95 const QHash<QString, ito::AddInAlgo::FilterDef *> * getFilterList(
void)
const;
98 const QHash<QString, ito::AddInAlgo::AlgoWidgetDef *> * getAlgoWidgetList(
void)
const;
104 const QList<struct PluginLoadStatus> getPluginLoadStatus()
const;
116 const RetVal reloadAddIn(
const QString &name);
119 int getTotalNumAddIns(
void)
const;
122 void * getAddInPtr(
const int itemNum);
125 int getItemIndexInList(
const void *item);
128 void updateModel(
void);
131 const RetVal getInitParams(
const QString &name,
const int pluginType,
int *pluginNum, QVector<ito::Param> *¶msMand, QVector<ito::Param> *¶msOpt);
134 const RetVal getAboutInfo(
const QString &name, QString &versionString);
137 const RetVal getPluginInfo(
const QString &name,
int &pluginType,
int &pluginNum,
int &version, QString &typeString, QString &author, QString &description, QString &detaildescription, QString &license, QString &about);
146 const RetVal setTimeOuts(
const int initClose,
const int general);
149 const RetVal setMainWindow(QObject *mainWindow);
164 void **getItomApiFuncsPtr(
void);
168 AddInManager(QString itomSettingsFile,
void **apiFuncsGraph, QObject *mainWindow = NULL, QObject *mainApplication = NULL);
173 QScopedPointer<AddInManagerPrivate>
d_ptr;
179 void splashLoadMessage(
const QString &message);
189 ito::RetVal initAddIn(
const int pluginNum,
const QString &name,
ito::AddInDataIO **addIn, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt,
bool autoLoadPluginParams,
ItomSharedSemaphore *aimWait = NULL);
195 ito::RetVal initAddIn(
const int pluginNum,
const QString &name,
ito::AddInAlgo **addIn, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt,
bool autoLoadPluginParams,
ItomSharedSemaphore *aimWait = NULL);
204 #endif // #if !defined(Q_MOC_RUN) || defined(ADDINMGR_DLL)
205 #endif // #if ADDINMANAGER_H
The class AlgoInterfaceValidator provides validators and checks in order to verify that a certain fil...
Definition: algoInterfaceValidator.h:37
base class for all actuator plugin classes
Definition: addInInterface.h:738
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 dataIO plugin classes
Definition: addInInterface.h:661
Base class for all plugins.
Definition: addInInterface.h:385
class for AddIn management
Definition: addInManager.h:66
base class for all "algorithm" plugin classes
Definition: addInInterface.h:929
ito::RetVal(* t_filterParam)(QVector< ito::Param > *paramsMand, QVector< ito::Param > *paramsOpt, QVector< ito::Param > *paramsOut)
possible categories for filter or widget-methods
Definition: addInInterface.h:943
QScopedPointer< AddInManagerPrivate > d_ptr
static instance pointer
Definition: addInManager.h:173
Definition: apiFunctionsGraph.cpp:39
semaphore which can be used for asychronous thread communication. By using this class it is possible ...
Definition: sharedStructuresQt.h:57
tAlgoCategory
Definition: addInInterface.h:946
tAlgoInterface
Definition: addInInterface.h:955
static AddInManager * instance()
returns the instantiated singleton class or NULL if it has not been loaded, yet
Definition: addInManager.h:78
Definition: addInInterface.h:209