2009-04-13 12:29:59 +00:00
|
|
|
|
|
|
|
/** \ingroup core
|
|
|
|
* A class that executes an external program/script.
|
|
|
|
* It can optionally capture the standard output and error from the
|
|
|
|
* process and displays them in a dialog box.
|
|
|
|
*/
|
2012-09-24 02:28:15 +02:00
|
|
|
class QgsRunProcess : QObject /NoDefaultCtors/
|
2009-04-13 12:29:59 +00:00
|
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsrunprocess.h>
|
|
|
|
%End
|
|
|
|
|
|
|
|
public:
|
|
|
|
// This class deletes itself, so to ensure that it is only created
|
|
|
|
// using new, the Named Consturctor Idiom is used, and one needs to
|
|
|
|
// use the create() static function to get an instance of this class.
|
|
|
|
|
|
|
|
// The action argument contains string with the command.
|
|
|
|
// If capture is true, the standard output and error from the process
|
|
|
|
// will be sent to QgsMessageOuptut - usually a dialog box.
|
2012-09-24 02:28:15 +02:00
|
|
|
static QgsRunProcess* create( const QString& action, bool capture ) /Factory/;
|
2009-04-13 12:29:59 +00:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
void stdoutAvailable();
|
|
|
|
void stderrAvailable();
|
|
|
|
void processError( QProcess::ProcessError );
|
|
|
|
void processExit( int, QProcess::ExitStatus );
|
|
|
|
void dialogGone();
|
|
|
|
|
|
|
|
private:
|
|
|
|
QgsRunProcess( const QString& action, bool capture );
|
|
|
|
~QgsRunProcess();
|
|
|
|
};
|