util
commandexecutor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef COMMANDEXECUTOR_H
00022 #define COMMANDEXECUTOR_H
00023
00024 #include <QtCore/QObject>
00025 #include <QtCore/QProcess>
00026 #include "utilexport.h"
00027
00028 namespace KDevelop
00029 {
00030
00047 class KDEVPLATFORMUTIL_EXPORT CommandExecutor : public QObject
00048 {
00049 Q_OBJECT
00050 public:
00056 explicit CommandExecutor( const QString& command, QObject* parent = 0 );
00057 ~CommandExecutor();
00058
00062 void setArguments( const QStringList& args );
00066 void setEnvironment( const QMap<QString,QString>& env );
00067
00071 void setWorkingDirectory( const QString& dir );
00072
00076 void start();
00077
00081 void kill();
00082
00086 void setCommand( const QString& command );
00087
00088 Q_SIGNALS:
00089 void receivedStandardError( const QStringList& );
00090 void receivedStandardOutput( const QStringList& );
00091 void failed();
00092 void completed();
00093 private:
00094 Q_PRIVATE_SLOT( d, void procError( QProcess::ProcessError ) )
00095 Q_PRIVATE_SLOT( d, void procFinished( int, QProcess::ExitStatus ) )
00096 class CommandExecutorPrivate* const d;
00097 friend class CommandExecutorPrivate;
00098 };
00099
00100 }
00101
00102 #endif