QGIS API Documentation  3.6.0-Noosa (5873452)
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 
33 class CORE_EXPORT QgsPythonRunner
34 {
35  public:
36 
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 
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
static QgsPythonRunner * sInstance
Utility class for running Python commands from various parts of QGIS.
#define SIP_TRANSFER
Definition: qgis_sip.h:36
#define SIP_OUT
Definition: qgis_sip.h:51