QGIS/python/core/qgspythonrunner.sip
Nyall Dawson c49b5b777f Change a lot of arguments to const references in core/gui
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
2015-10-07 12:02:04 +11:00

32 lines
1012 B
Plaintext

class QgsPythonRunner
{
%TypeHeaderCode
#include <qgspythonrunner.h>
%End
public:
/** Returns true if the runner has an instance
(and thus is able to run commands) */
static bool isValid();
/** Execute a python statement */
static bool run( const QString& command, const QString& messageOnError = QString() );
/** Eval a python statement */
static bool eval( const QString& command, QString& result );
/** Assign an instance of python runner so that run() can be used.
This method should be called during app initialization.
Takes ownership of the object, deletes previous instance. */
static void setInstance( QgsPythonRunner* runner /Transfer/ );
protected:
/** Protected constructor: can be instantiated only from children */
QgsPythonRunner();
virtual ~QgsPythonRunner();
virtual bool runCommand( QString command, QString messageOnError = QString() ) = 0;
virtual bool evalCommand( QString command, QString& result ) = 0;
};