+ SystemcallPrivate(std::string const & infile, std::string const & outfile,
+ std::string const & errfile);
+ ~SystemcallPrivate();
+
+ enum State {
+ Starting,
+ Running,
+ Finished,
+ Error,
+ Killed
+ };
+ State state;
+
+ bool waitWhile(State, bool processEvents, int timeout = -1);
+ void startProcess(QString const & cmd, std::string const & path,
+ std::string const & lpath, bool detach);
+
+ int exitCode();
+
+ QString errorMessage() const;
+ QString exitStatusMessage() const;
+
+ QProcess* releaseProcess();
+
+ static void killProcess(QProcess * p);
+
+ // when true, kill any running script ASAP
+ static bool kill_script;