X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fexternaltask.h;h=80796139da36d9bf27b62f731d3dbc5b3aea3233;hb=bde362811368647047f3ca13bdec596f092ecffe;hp=00465f3af4f3ba501952f1a7bf29ce149d04865a;hpb=4b075b4a7ed921be62740c302edeebcd8b06ca29;p=builder.git diff --git a/source/externaltask.h b/source/externaltask.h index 00465f3..8079613 100644 --- a/source/externaltask.h +++ b/source/externaltask.h @@ -31,6 +31,7 @@ private: Msp::FS::Path work_dir; Msp::Process *process; int exit_code; + StreamAction stdin_action; Msp::FS::Path stdin_file; StreamAction stdout_action; Msp::FS::Path stdout_file; @@ -44,12 +45,12 @@ public: name. If the working directory is not specified, no chdir is done. */ ExternalTask(const Arguments &, const Msp::FS::Path & = Msp::FS::Path()); - virtual ~ExternalTask(); + ~ExternalTask(); - virtual std::string get_command() const; - virtual void start(); - virtual Status check(); - virtual Status wait(); + std::string get_command() const override; + void start() override; + Status check() override; + Status wait() override; private: Status do_wait(bool); @@ -70,9 +71,9 @@ public: still running, but it will always return all output. */ const std::string &get_output() const { return output; } - /** Executes a command and captures its output. Stderr is ignored, but if - the command exits with a nonzero status, an exception is thrown. */ - static std::string run_and_capture_output(const Arguments &, const Msp::FS::Path & = Msp::FS::Path()); + /** Executes a command and captures its output. If the command exits with + a nonzero status, an exception is thrown. */ + static std::string run_and_capture_output(const Arguments &, const Msp::FS::Path & = Msp::FS::Path(), bool = false); }; #endif