QGIS API Documentation  3.21.0-Master (5b68dc587e)
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 
40  static bool isValid();
41 
43  static bool run( const QString &command, const QString &messageOnError = QString() );
44 
46  static bool eval( const QString &command, QString &result SIP_OUT );
47 
53  static void setInstance( QgsPythonRunner *runner SIP_TRANSFER );
54 
55  protected:
57  QgsPythonRunner() = default;
58  virtual ~QgsPythonRunner() = default;
59 
60  virtual bool runCommand( QString command, QString messageOnError = QString() ) = 0;
61 
62  virtual bool evalCommand( QString command, QString &result ) = 0;
63 
65 };
66 
67 #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