QGIS API Documentation  2.99.0-Master (0a63d1f)
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 
20 #include "qgis_core.h"
21 
31 class CORE_EXPORT QgsPythonRunner
32 {
33  public:
34 
37  static bool isValid();
38 
40  static bool run( const QString& command, const QString& messageOnError = QString() );
41 
43  static bool eval( const QString& command, QString& result );
44 
48  static void setInstance( QgsPythonRunner* runner );
49 
50  protected:
53  virtual ~QgsPythonRunner() = default;
54 
55  virtual bool runCommand( QString command, QString messageOnError = QString() ) = 0;
56 
57  virtual bool evalCommand( QString command, QString& result ) = 0;
58 
60 };
61 
62 #endif // QGSPYTHONRUNNER_H
static QgsPythonRunner * sInstance
Utility class for running python commands from various parts of QGIS.