QGIS API Documentation  2.99.0-Master (7d4f81d)
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.h"
20 
21 #include "qgis_core.h"
22 
32 class CORE_EXPORT QgsPythonRunner
33 {
34  public:
35 
38  static bool isValid();
39 
41  static bool run( const QString &command, const QString &messageOnError = QString() );
42 
44  static bool eval( const QString &command, QString &result SIP_OUT );
45 
49  static void setInstance( QgsPythonRunner *runner SIP_TRANSFER );
50 
51  protected:
53  QgsPythonRunner() = default;
54  virtual ~QgsPythonRunner() = default;
55 
56  virtual bool runCommand( QString command, QString messageOnError = QString() ) = 0;
57 
58  virtual bool evalCommand( QString command, QString &result ) = 0;
59 
61 };
62 
63 #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