1 #ifndef Header_ExecProgram 2 #define Header_ExecProgram 3 4 #include "mostQtHeaders.h" 5 6 class ExecProgram 7 { 8 public: 9 ExecProgram(void); 10 ExecProgram(const QString &shellCommandLine, const QString &additionalSearchPaths, const QString &workingDirectory = QString()); 11 ExecProgram(const QString &progName, const QStringList &arguments, const QString &additionalSearchPaths = QString(), const QString &workingDirectory = QString()); 12 13 bool execAndWait(void); 14 void execAndNoWait(QProcess &proc) const; 15 bool execDetached(void) const; 16 17 // Input parameters 18 QString m_program; 19 QStringList m_arguments; 20 QString m_additionalSearchPaths; 21 QString m_workingDirectory; 22 #ifdef Q_OS_WIN 23 QProcess::CreateProcessArgumentModifier m_winProcModifier; 24 #endif 25 26 // Output parameters. Only assigned by synchronous execAndWait 27 bool m_normalRun; // If false then program either did not run or crashed 28 int m_exitCode; 29 QString m_standardOutput; 30 QString m_standardError; 31 32 private: 33 void setProgramAndArguments(const QString &progNameAndArguments); 34 QString pathExtend(void) const; 35 static void pathSet(const QString &path); 36 void setWinProcModifier(QProcess &proc) const; 37 }; 38 39 #endif // EXECPROGRAM_H 40