QGIS API Documentation  3.18.1-Zürich (202f1bf7e5)
qgspythonrunner.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgspythonrunner.h
3  ---------------------
4  begin : May 2011
5  copyright : (C) 2011 by Martin Dobias
6  email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef QGSPYTHONRUNNER_H
16 #define QGSPYTHONRUNNER_H
17 
18 #include <QString>
19 #include "qgis_sip.h"
20 
21 #include "qgis_core.h"
22 
32 class CORE_EXPORT QgsPythonRunner
33 {
34  public:
35 
39  static bool isValid();
40 
42  static bool run( const QString &command, const QString &messageOnError = QString() );
43 
45  static bool eval( const QString &command, QString &result SIP_OUT );
46 
52  static void setInstance( QgsPythonRunner *runner SIP_TRANSFER );
53 
54  protected:
56  QgsPythonRunner() = default;
57  virtual ~QgsPythonRunner() = default;
58 
59  virtual bool runCommand( QString command, QString messageOnError = QString() ) = 0;
60 
61  virtual bool evalCommand( QString command, QString &result ) = 0;
62 
64 };
65 
66 #endif // QGSPYTHONRUNNER_H
Utility class for running Python commands from various parts of QGIS.
virtual bool evalCommand(QString command, QString &result)=0
virtual bool runCommand(QString command, QString messageOnError=QString())=0
virtual ~QgsPythonRunner()=default
static QgsPythonRunner * sInstance
QgsPythonRunner()=default
Protected constructor: can be instantiated only from children.
#define SIP_TRANSFER
Definition: qgis_sip.h:36
#define SIP_OUT
Definition: qgis_sip.h:58