itom  4.1.0
apiFunctions.h
1 /* ********************************************************************
2  itom software
3  URL: http://www.uni-stuttgart.de/ito
4  Copyright (C) 2020, Institut fuer Technische Optik (ITO),
5  Universitaet Stuttgart, Germany
6 
7  This file is part of itom.
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  itom is distributed in the hope that it will be useful, but
15  WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
17  General Public Licence for more details.
18 
19  You should have received a copy of the GNU Library General Public License
20  along with itom. If not, see <http://www.gnu.org/licenses/>.
21 *********************************************************************** */
22 
23 #ifndef APIFUNCTIONS_H
24 #define APIFUNCTINOS_H
25 
26 #include "../common/apiFunctionsInc.h"
27 
28 namespace ito
29 {
30  class AbstractAddInConfigDialog;
31 
32  class ApiFunctions
33  {
34  public:
35  ApiFunctions();
36  ~ApiFunctions();
37 
40  const QString &name,
41  ito::AddInAlgo::FilterDef *&FilterDef);
42 
44  static ito::RetVal mfilterCall(
45  const QString &name,
46  QVector<ito::ParamBase> *paramsMand,
47  QVector<ito::ParamBase> *paramsOpt,
48  QVector<ito::ParamBase> *paramsOut);
49 
52  const QString &name,
53  QVector<ito::ParamBase> *paramsMand,
54  QVector<ito::ParamBase> *paramsOpt,
55  QVector<ito::ParamBase> *paramsOut,
56  QSharedPointer<ito::FunctionCancellationAndObserver> observer);
57 
60  const QString &name,
61  QVector<ito::ParamBase> *paramsMand,
62  QVector<ito::ParamBase> *paramsOpt,
63  QVector<ito::ParamBase> *paramsOut);
64 
67  const QString &name,
68  QVector<ito::Param> *paramsMand,
69  QVector<ito::Param> *paramsOpt,
70  QVector<ito::Param> *paramsOut);
71 
73  static ito::RetVal mfilterVersion(const QString &name, int &version);
74 
76  static ito::RetVal mfilterAuthor(const QString &name, QString &author);
77 
79  static ito::RetVal mfilterPluginName(const QString &name, QString &pluginName);
80 
83  const QString &name,
84  const int pluginType,
85  int *pluginNum,
86  QVector<ito::Param> *&paramsMand,
87  QVector<ito::Param> *&paramsOpt);
88 
91  const QString &name,
92  const int pluginNum,
93  const bool autoLoadParams,
94  QVector<ito::ParamBase> *paramsMand,
95  QVector<ito::ParamBase> *paramsOpt,
96  ito::AddInActuator *&instance);
97 
100  const QString &name,
101  const int pluginNum,
102  const bool autoLoadParams,
103  QVector<ito::ParamBase> *paramsMand,
104  QVector<ito::ParamBase> *paramsOpt,
105  ito::AddInDataIO *&instance);
106 
108  static ito::RetVal maddInClose(ito::AddInBase *instance);
109 
112  const ito::DataObject *dObj,
113  int nrDims,
114  ito::tDataType type,
115  int *sizeLimits = NULL,
116  ito::RetVal *retval = NULL);
117 
120  const ito::DataObject *dObj,
121  int nrDims,
122  ito::tDataType type,
123  const char *name = NULL,
124  int *sizeLimits = NULL,
125  ito::RetVal *retval = NULL);
126 
128  static QString getCurrentWorkingDir(void);
129 
132  ito::AddInBase *plugin,
133  ito::AbstractAddInConfigDialog *configDialogInstance);
134 
136  // function moved to apiFunctionsGui
137  //static ito::RetVal sendParamToPyWorkspaceThreadSafe(const QString &varname, const QSharedPointer<ito::ParamBase> &value);
138 
140  // function moved to apiFunctionsGui
141  //static ito::RetVal sendParamsToPyWorkspaceThreadSafe(const QStringList &varnames, const QVector<QSharedPointer<ito::ParamBase> > &values);
142 
144  static ito::RetVal removed(...);
145 
147  static QString getSettingsFile(void);
148 
150  static ito::RetVal setSettingsFile(QString settingsFile);
151 
152  private:
153  int m_loadFPointer;
154  static QString m_settingsFile;
155  };
156 }
157 
158 #endif //APIFUNTIONS_H
static ito::RetVal removed(...)
function called by apiSendParamToPyWorkspace
Definition: apiFunctions.cpp:245
base class for all actuator plugin classes
Definition: addInInterface.h:738
dataObject contains a n-dimensional matrix
Definition: dataobj.h:511
static ito::RetVal maddInOpenDataIO(const QString &name, const int pluginNum, const bool autoLoadParams, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, ito::AddInDataIO *&instance)
function called by apiAddInOpenDataIO
Definition: apiFunctions.cpp:539
static ito::RetVal mfilterVersion(const QString &name, int &version)
function called by apiFilterVersion
Definition: apiFunctions.cpp:430
static QString getCurrentWorkingDir(void)
function called by apiGetCurrentWorkingDir
Definition: apiFunctions.cpp:654
static ito::RetVal mfilterParamBase(const QString &name, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, QVector< ito::ParamBase > *paramsOut)
function called by apiFilterParamBase
Definition: apiFunctions.cpp:347
Class for managing status values (like errors or warning)
Definition: retVal.h:54
Definition: apiFunctions.h:32
base class for all dataIO plugin classes
Definition: addInInterface.h:661
Base class for all plugins.
Definition: addInInterface.h:385
static ito::RetVal maddInOpenActuator(const QString &name, const int pluginNum, const bool autoLoadParams, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, ito::AddInActuator *&instance)
function called by apiAddInOpenActuator
Definition: apiFunctions.cpp:518
static ito::RetVal mshowConfigurationDialog(ito::AddInBase *plugin, ito::AbstractAddInConfigDialog *configDialogInstance)
function called by apiShowConfigurationDialog
Definition: apiFunctions.cpp:660
static ito::RetVal mfilterAuthor(const QString &name, QString &author)
function called by apiFilterAuthor
Definition: apiFunctions.cpp:453
static QString getSettingsFile(void)
get itom settings file
Definition: apiFunctions.cpp:734
Definition: apiFunctionsGraph.cpp:39
static ito::RetVal mfilterParam(const QString &name, QVector< ito::Param > *paramsMand, QVector< ito::Param > *paramsOpt, QVector< ito::Param > *paramsOut)
function called by apiFilterParam
Definition: apiFunctions.cpp:395
static ito::DataObject * mcreateFromNamedDataObject(const ito::DataObject *dObj, int nrDims, ito::tDataType type, const char *name=NULL, int *sizeLimits=NULL, ito::RetVal *retval=NULL)
function called by apiCreateFromNamedDataObject
Definition: apiFunctions.cpp:585
static ito::RetVal mfilterGetFunc(const QString &name, ito::AddInAlgo::FilterDef *&FilterDef)
function called by apiFilterGetFunc
Definition: apiFunctions.cpp:251
static ito::RetVal mfilterCall(const QString &name, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, QVector< ito::ParamBase > *paramsOut)
function called by apiFilterCall
Definition: apiFunctions.cpp:273
static ito::RetVal setSettingsFile(QString settingsFile)
setter function only used on AddInManager startup
Definition: apiFunctions.cpp:740
static ito::RetVal maddInGetInitParams(const QString &name, const int pluginType, int *pluginNum, QVector< ito::Param > *&paramsMand, QVector< ito::Param > *&paramsOpt)
function called by apiAddInGetInitParams
Definition: apiFunctions.cpp:499
static ito::RetVal mfilterPluginName(const QString &name, QString &pluginName)
function called by apiFilterPluginName
Definition: apiFunctions.cpp:476
abstract base class for configuration dialogs of plugins
Definition: abstractAddInConfigDialog.h:77
static ito::RetVal mfilterCallExt(const QString &name, QVector< ito::ParamBase > *paramsMand, QVector< ito::ParamBase > *paramsOpt, QVector< ito::ParamBase > *paramsOut, QSharedPointer< ito::FunctionCancellationAndObserver > observer)
function called by apiFilterCallExt
Definition: apiFunctions.cpp:303
tDataType
Definition: typeDefs.h:87
static ito::DataObject * mcreateFromDataObject(const ito::DataObject *dObj, int nrDims, ito::tDataType type, int *sizeLimits=NULL, ito::RetVal *retval=NULL)
function called by apiCreateFromDataObject
Definition: apiFunctions.cpp:579
static ito::RetVal maddInClose(ito::AddInBase *instance)
function called by apiAddInClose
Definition: apiFunctions.cpp:560
container for publishing filters provided by any plugin
Definition: addInInterface.h:973