itom  4.1.0
apiFunctionsInc.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2018, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom and its software development toolkit (SDK).
8 
9  itom is free software; you can redistribute it and/or modify it
10  under the terms of the GNU Library General Public Licence as published by
11  the Free Software Foundation; either version 2 of the Licence, or (at
12  your option) any later version.
13 
14  In addition, as a special exception, the Institut fuer Technische
15  Optik (ITO) gives you certain additional rights.
16  These rights are described in the ITO LGPL Exception version 1.0,
17  which can be found in the file LGPL_EXCEPTION.txt in this package.
18 
19  itom is distributed in the hope that it will be useful, but
20  WITHOUT ANY WARRANTY; without even the implied warranty of
21  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
22  General Public Licence for more details.
23 
24  You should have received a copy of the GNU Library General Public License
25  along with itom. If not, see <http://www.gnu.org/licenses/>.
26 *********************************************************************** */
27 
28 #ifndef APIFUNCTIONSINC_H
29 #define APIFUNCTIONSINC_H
30 
31 #ifndef Q_MOC_RUN
32 namespace ito
33 {
34  #if defined(ITOM_IMPORT_API) //&& !defined(ITOM_CORE)
35  void **ITOM_API_FUNCS;
36  #else
37  extern void **ITOM_API_FUNCS;
38  #endif
39 
60 
68  #define apiFilterGetFunc \
69  (*(ito::RetVal (*)(const QString &name, ito::AddInAlgo::FilterDef *&filterDef)) ito::ITOM_API_FUNCS[0])
70 
72 
85  #define apiFilterCall \
86  (*(ito::RetVal (*)(const QString &name, QVector<ito::ParamBase> *paramsMand, \
87  QVector<ito::ParamBase> *paramsOpt, QVector<ito::ParamBase> *paramsOut)) ito::ITOM_API_FUNCS[1])
88 
90 
108  #define apiFilterCallExt \
109  (*(ito::RetVal (*)(const QString &name, QVector<ito::ParamBase> *paramsMand, \
110  QVector<ito::ParamBase> *paramsOpt, QVector<ito::ParamBase> *paramsOut, \
111  QSharedPointer<ito::FunctionCancellationAndObserver> observer)) ito::ITOM_API_FUNCS[38])
112 
113  #define apiFilterParam \
114  (*(ito::RetVal (*)(const QString &name, QVector<ito::Param> *paramsMand, \
115  QVector<ito::Param> *paramsOpt, QVector<ito::Param> *paramsOut)) ito::ITOM_API_FUNCS[2])
116 
117  #define apiFilterParamBase \
118  (*(ito::RetVal (*)(const QString &name, QVector<ito::ParamBase> *paramsMand, \
119  QVector<ito::ParamBase> *paramsOpt, QVector<ito::ParamBase> *paramsOut)) ito::ITOM_API_FUNCS[3])
120 
121  #define apiFilterVersion \
122  (*(ito::RetVal (*)(const QString &name, int &version)) ito::ITOM_API_FUNCS[35])
123 
124  #define apiFilterAuthor \
125  (*(ito::RetVal (*)(const QString &name, QString &author)) ito::ITOM_API_FUNCS[36])
126 
127  #define apiFilterPluginName \
128  (*(ito::RetVal (*)(const QString &name, QString &pluginName)) ito::ITOM_API_FUNCS[37])
129 
131 
143  #define apiAddInGetInitParams \
144  (*(ito::RetVal (*)(const QString &pluginName, const int pluginType, int *pluginIdx, \
145  QVector<ito::Param> *&paramsMand, QVector<ito::Param> *&paramsOpt)) ito::ITOM_API_FUNCS[4])
146 
148 
161  #define apiAddInOpenActuator \
162  (*(ito::RetVal (*)(const QString &pluginName, const int pluginIdx, const bool autoLoadParams, \
163  QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, \
164  ito::AddInActuator *&instance)) ito::ITOM_API_FUNCS[5])
165 
167 
180  #define apiAddInOpenDataIO \
181  (*(ito::RetVal (*)(const QString &pluginName, const int pluginIdx, const bool autoLoadParams, \
182  QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, \
183  ito::AddInDataIO *&instance)) ito::ITOM_API_FUNCS[6])
184 
186 
190  #define apiAddInClose \
191  (*(ito::RetVal (*)(ito::AddInBase *instance)) ito::ITOM_API_FUNCS[31])
192 
194 
201  #define apiValidateStringMeta \
202  (*(ito::RetVal (*)(const ito::StringMeta *meta, const char* value, bool mandatory)) ito::ITOM_API_FUNCS[7])
203 
205 
211  #define apiValidateDoubleMeta \
212  (*(ito::RetVal (*)(const ito::DoubleMeta *meta, double value)) ito::ITOM_API_FUNCS[8])
213 
215 
221  #define apiValidateIntMeta \
222  (*(ito::RetVal (*)(const ito::IntMeta *meta, int value)) ito::ITOM_API_FUNCS[9])
223 
225 
231  #define apiValidateCharMeta \
232  (*(ito::RetVal (*)(const ito::CharMeta *meta, char value)) ito::ITOM_API_FUNCS[10])
233 
235 
242  #define apiValidateDoubleArrayMeta \
243  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const double* values, size_t len)) ito::ITOM_API_FUNCS[28])
244 
246 
253  #define apiValidateIntArrayMeta \
254  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const int* values, size_t len)) ito::ITOM_API_FUNCS[26])
255 
257 
264  #define apiValidateCharArrayMeta \
265  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const char* values, size_t len)) ito::ITOM_API_FUNCS[25])
266 
268 
276  #define apiValidateHWMeta \
277  (*(ito::RetVal (*)(const ito::HWMeta *meta, ito::AddInBase *value, bool mandatory)) ito::ITOM_API_FUNCS[11])
278 
279  #define apiCompareParam \
280  (*(ito::tCompareResult (*)(const ito::Param &paramTemplate, const ito::Param &param, ito::RetVal &ret)) ito::ITOM_API_FUNCS[12])
281 
283 
300  #define apiValidateParam \
301  (*(ito::RetVal (*)(const ito::Param &templateParam, const ito::ParamBase &param, bool strict, bool mandatory)) ito::ITOM_API_FUNCS[13])
302 
304 
322  #define apiValidateAndCastParam \
323  (*(ito::RetVal (*)(const ito::Param &templateParam, const ito::ParamBase &param, bool strict, bool mandatory, bool roundToStep)) ito::ITOM_API_FUNCS[25])
324 
326 
337  #define apiGetParamFromMapByKey \
338  (*(ito::RetVal (*)(QMap<QString,ito::Param> &paramMap, const QString &key, QMap<QString,ito::Param>::iterator &found, bool errorIfReadOnly)) ito::ITOM_API_FUNCS[14])
339 
341 
359  #define apiParseParamName \
360  (*(ito::RetVal (*)(const QString &name, QString &paramName, bool &hasIndex, int &index, QString &additionalTag)) ito::ITOM_API_FUNCS[15])
361 
362  #define apiGetItemFromParamArray \
363  (*(ito::RetVal (*)(const ito::Param &arrayParam, const int index, ito::Param &itemParam)) ito::ITOM_API_FUNCS[16])
364 
365  #define apiGetParam \
366  (*(ito::Param (*)(const ito::Param &param, const bool hasIndex, const int index, ito::RetVal &ret)) ito::ITOM_API_FUNCS[20])
367 
369 
377  #define apiUpdateParameters \
378  (*(ito::RetVal (*)(QMap<QString, ito::Param> &paramMap, const QVector<QSharedPointer<ito::ParamBase> > &values)) ito::ITOM_API_FUNCS[23])
379 
380  #define apiSaveQLIST2XML \
381  (*(ito::RetVal (*)(QMap<QString, ito::Param> *paramList , QString id, QFile &paramFile)) ito::ITOM_API_FUNCS[17])
382 
383  #define apiLoadXML2QLIST \
384  (*(ito::RetVal (*)(QMap<QString, ito::Param> *paramList , QString id, QFile &paramFile)) ito::ITOM_API_FUNCS[18])
385 
387 
403  #define apiCreateFromDataObject \
404  (* (ito::DataObject* (*)(const ito::DataObject *dObj, int nrDims, ito::tDataType type, int *sizeLimits, ito::RetVal *retval)) ito::ITOM_API_FUNCS[19])
405 
407 
424  #define apiCreateFromNamedDataObject \
425  (* (ito::DataObject* (*)(const ito::DataObject *dObj, int nrDims, ito::tDataType type, const char *name, int *sizeLimits, ito::RetVal *retval)) ito::ITOM_API_FUNCS[24])
426 
428 
433  #define apiGetCurrentWorkingDir \
434  (* (QString (*)(void)) ito::ITOM_API_FUNCS[21])
435 
437 
446  #define apiShowConfigurationDialog \
447  (* (ito::RetVal (*)(ito::AddInBase *plugin, ito::AbstractAddInConfigDialog *configDialogInstance)) ito::ITOM_API_FUNCS[22])
448 
449 
450  // function moved to apiFunctionsGui
452 
463 // #define apiSendParamToPyWorkspace \
464 // (* (ito::RetVal (*)(const QString &varname, const QSharedPointer<ito::ParamBase> &value)) ito::ITOM_API_FUNCS[29])
465 
466  // function moved to apiFunctionsGui
468 
479 // #define apiSendParamsToPyWorkspace \
480 // (* (ito::RetVal (*)(const QStringList &varnames, const QVector<QSharedPointer<ito::ParamBase> > &values)) ito::ITOM_API_FUNCS[30])
481 
482  // function moved to apiFunctionsGui
484 
491 // #define apiQObjectPropertyRead \
492 // (* (ito::RetVal (*)(const QObject *object, const char* propName, QVariant &value)) ito::ITOM_API_FUNCS[32])
493 
494  // function moved to apiFunctionsGui
496 
503 // #define apiQObjectPropertyWrite \
504 // (* (ito::RetVal (*)(QObject *object, const char* propName, const QVariant &value)) ito::ITOM_API_FUNCS[33])
505 
507 
511  #define apiGetSettingsFile \
512  (* (QString (*)(void)) ito::ITOM_API_FUNCS[34])
513 
517 //#if defined(ITOM_IMPORT_API)
518 //static int importItomApi(void** apiArray)
519 //{
520 // ito::ITOM_API_FUNCS = apiArray;
521 // return 0;
522 //}
523 //#endif
524 
525 };
526 
527 #endif //Q_MOC_RUN
528 
529 #endif
Definition: apiFunctionsGraph.cpp:39