util
commandexecutor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef COMMANDEXECUTOR_H
00021 #define COMMANDEXECUTOR_H
00022
00023 #include <QtCore/QObject>
00024 #include <QtCore/QProcess>
00025 #include "utilexport.h"
00026
00027 namespace KDevelop
00028 {
00029
00046 class KDEVPLATFORMUTIL_EXPORT CommandExecutor : public QObject
00047 {
00048 Q_OBJECT
00049 public:
00055 explicit CommandExecutor( const QString& command, QObject* parent = 0 );
00056 ~CommandExecutor();
00057
00061 void setArguments( const QStringList& args );
00065 void setEnvironment( const QMap<QString,QString>& env );
00066
00070 void setWorkingDirectory( const QString& dir );
00071
00075 void start();
00076
00080 void kill();
00081
00085 void setCommand( const QString& command );
00086
00090 bool useShell() const;
00091
00095 void setUseShell( bool shell );
00096
00097 Q_SIGNALS:
00098 void receivedStandardError( const QStringList& );
00099 void receivedStandardOutput( const QStringList& );
00100 void failed();
00101 void completed();
00102 private:
00103 Q_PRIVATE_SLOT( d, void procError( QProcess::ProcessError ) )
00104 Q_PRIVATE_SLOT( d, void procFinished( int, QProcess::ExitStatus ) )
00105 class CommandExecutorPrivate* const d;
00106 friend class CommandExecutorPrivate;
00107 };
00108
00109 }
00110
00111 #endif