itom  3.0.0
apiFunctionsInc.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2016, 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 
67  #define apiFilterGetFunc \
68  (*(ito::RetVal (*)(const QString &name, ito::AddInAlgo::FilterDef *&filterDef)) ito::ITOM_API_FUNCS[0])
69 
71 
84  #define apiFilterCall \
85  (*(ito::RetVal (*)(const QString &name, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, QVector<ito::ParamBase> *paramsOut)) ito::ITOM_API_FUNCS[1])
86 
87  #define apiFilterParam \
88  (*(ito::RetVal (*)(const QString &name, QVector<ito::Param> *paramsMand, QVector<ito::Param> *paramsOpt, QVector<ito::Param> *paramsOut)) ito::ITOM_API_FUNCS[2])
89 
90  #define apiFilterParamBase \
91  (*(ito::RetVal (*)(const QString &name, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, QVector<ito::ParamBase> *paramsOut)) ito::ITOM_API_FUNCS[3])
92 
93  #define apiFilterVersion \
94  (*(ito::RetVal (*)(const QString &name, int &version)) ito::ITOM_API_FUNCS[35])
95 
96  #define apiFilterAuthor \
97  (*(ito::RetVal (*)(const QString &name, QString &author)) ito::ITOM_API_FUNCS[36])
98 
99  #define apiFilterPluginName \
100  (*(ito::RetVal (*)(const QString &name, QString &pluginName)) ito::ITOM_API_FUNCS[37])
101 
103 
113  #define apiAddInGetInitParams \
114  (*(ito::RetVal (*)(const QString &pluginName, const int pluginType, int *pluginIdx, QVector<ito::Param> *&paramsMand, QVector<ito::Param> *&paramsOpt)) ito::ITOM_API_FUNCS[4])
115 
117 
130  #define apiAddInOpenActuator \
131  (*(ito::RetVal (*)(const QString &pluginName, const int pluginIdx, const bool autoLoadParams, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, ito::AddInActuator *&instance)) ito::ITOM_API_FUNCS[5])
132 
134 
147  #define apiAddInOpenDataIO \
148  (*(ito::RetVal (*)(const QString &pluginName, const int pluginIdx, const bool autoLoadParams, QVector<ito::ParamBase> *paramsMand, QVector<ito::ParamBase> *paramsOpt, ito::AddInDataIO *&instance)) ito::ITOM_API_FUNCS[6])
149 
151 
155  #define apiAddInClose \
156  (*(ito::RetVal (*)(ito::AddInBase *instance)) ito::ITOM_API_FUNCS[31])
157 
159 
166  #define apiValidateStringMeta \
167  (*(ito::RetVal (*)(const ito::StringMeta *meta, const char* value, bool mandatory)) ito::ITOM_API_FUNCS[7])
168 
170 
176  #define apiValidateDoubleMeta \
177  (*(ito::RetVal (*)(const ito::DoubleMeta *meta, double value)) ito::ITOM_API_FUNCS[8])
178 
180 
186  #define apiValidateIntMeta \
187  (*(ito::RetVal (*)(const ito::IntMeta *meta, int value)) ito::ITOM_API_FUNCS[9])
188 
190 
196  #define apiValidateCharMeta \
197  (*(ito::RetVal (*)(const ito::CharMeta *meta, char value)) ito::ITOM_API_FUNCS[10])
198 
200 
207  #define apiValidateDoubleArrayMeta \
208  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const double* values, size_t len)) ito::ITOM_API_FUNCS[28])
209 
211 
218  #define apiValidateIntArrayMeta \
219  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const int* values, size_t len)) ito::ITOM_API_FUNCS[26])
220 
222 
229  #define apiValidateCharArrayMeta \
230  (*(ito::RetVal (*)(const ito::ParamMeta *meta, const char* values, size_t len)) ito::ITOM_API_FUNCS[25])
231 
233 
241  #define apiValidateHWMeta \
242  (*(ito::RetVal (*)(const ito::HWMeta *meta, ito::AddInBase *value, bool mandatory)) ito::ITOM_API_FUNCS[11])
243 
244  #define apiCompareParam \
245  (*(ito::tCompareResult (*)(const ito::Param &paramTemplate, const ito::Param &param, ito::RetVal &ret)) ito::ITOM_API_FUNCS[12])
246 
248 
265  #define apiValidateParam \
266  (*(ito::RetVal (*)(const ito::Param &templateParam, const ito::ParamBase &param, bool strict, bool mandatory)) ito::ITOM_API_FUNCS[13])
267 
269 
287  #define apiValidateAndCastParam \
288  (*(ito::RetVal (*)(const ito::Param &templateParam, const ito::ParamBase &param, bool strict, bool mandatory, bool roundToStep)) ito::ITOM_API_FUNCS[25])
289 
291 
302  #define apiGetParamFromMapByKey \
303  (*(ito::RetVal (*)(QMap<QString,ito::Param> &paramMap, const QString &key, QMap<QString,ito::Param>::iterator &found, bool errorIfReadOnly)) ito::ITOM_API_FUNCS[14])
304 
306 
324  #define apiParseParamName \
325  (*(ito::RetVal (*)(const QString &name, QString &paramName, bool &hasIndex, int &index, QString &additionalTag)) ito::ITOM_API_FUNCS[15])
326 
327  #define apiGetItemFromParamArray \
328  (*(ito::RetVal (*)(const ito::Param &arrayParam, const int index, ito::Param &itemParam)) ito::ITOM_API_FUNCS[16])
329 
330  #define apiGetParam \
331  (*(ito::Param (*)(const ito::Param &param, const bool hasIndex, const int index, ito::RetVal &ret)) ito::ITOM_API_FUNCS[20])
332 
334 
342  #define apiUpdateParameters \
343  (*(ito::RetVal (*)(QMap<QString, ito::Param> &paramMap, const QVector<QSharedPointer<ito::ParamBase> > &values)) ito::ITOM_API_FUNCS[23])
344 
345  #define apiSaveQLIST2XML \
346  (*(ito::RetVal (*)(QMap<QString, ito::Param> *paramList , QString id, QFile &paramFile)) ito::ITOM_API_FUNCS[17])
347 
348  #define apiLoadXML2QLIST \
349  (*(ito::RetVal (*)(QMap<QString, ito::Param> *paramList , QString id, QFile &paramFile)) ito::ITOM_API_FUNCS[18])
350 
352 
368  #define apiCreateFromDataObject \
369  (* (ito::DataObject* (*)(const ito::DataObject *dObj, int nrDims, ito::tDataType type, int *sizeLimits, ito::RetVal *retval)) ito::ITOM_API_FUNCS[19])
370 
372 
389  #define apiCreateFromNamedDataObject \
390  (* (ito::DataObject* (*)(const ito::DataObject *dObj, int nrDims, ito::tDataType type, const char *name, int *sizeLimits, ito::RetVal *retval)) ito::ITOM_API_FUNCS[24])
391 
393 
398  #define apiGetCurrentWorkingDir \
399  (* (QString (*)(void)) ito::ITOM_API_FUNCS[21])
400 
402 
411  #define apiShowConfigurationDialog \
412  (* (ito::RetVal (*)(ito::AddInBase *plugin, ito::AbstractAddInConfigDialog *configDialogInstance)) ito::ITOM_API_FUNCS[22])
413 
414 
415  // function moved to apiFunctionsGui
417 
428 // #define apiSendParamToPyWorkspace \
429 // (* (ito::RetVal (*)(const QString &varname, const QSharedPointer<ito::ParamBase> &value)) ito::ITOM_API_FUNCS[29])
430 
431  // function moved to apiFunctionsGui
433 
444 // #define apiSendParamsToPyWorkspace \
445 // (* (ito::RetVal (*)(const QStringList &varnames, const QVector<QSharedPointer<ito::ParamBase> > &values)) ito::ITOM_API_FUNCS[30])
446 
447  // function moved to apiFunctionsGui
449 
456 // #define apiQObjectPropertyRead \
457 // (* (ito::RetVal (*)(const QObject *object, const char* propName, QVariant &value)) ito::ITOM_API_FUNCS[32])
458 
459  // function moved to apiFunctionsGui
461 
468 // #define apiQObjectPropertyWrite \
469 // (* (ito::RetVal (*)(QObject *object, const char* propName, const QVariant &value)) ito::ITOM_API_FUNCS[33])
470 
472 
476  #define apiGetSettingsFile \
477  (* (QString (*)(void)) ito::ITOM_API_FUNCS[34])
478 
482 //#if defined(ITOM_IMPORT_API)
483 //static int importItomApi(void** apiArray)
484 //{
485 // ito::ITOM_API_FUNCS = apiArray;
486 // return 0;
487 //}
488 //#endif
489 
490 };
491 
492 #endif //Q_MOC_RUN
493 
494 #endif
Definition: apiFunctionsGraph.cpp:39