]> git.tdb.fi Git - builder.git/blobdiff - source/externaltask.h
Move the bpk files into a subdirectory and install them
[builder.git] / source / externaltask.h
index a5f10ec0b0c1486ce6b7b951d8dd10e668923cfb..cb8464beab873ef24146b49a5ab02bd6a9aaa21c 100644 (file)
@@ -17,9 +17,9 @@ class ExternalTask: public Task
 public:
        enum Destination
        {
-               PASSTHROUGH,
-               CAPTURE,
-               IGNORE
+               PASSTHROUGH,  //< Do not touch the stream
+               CAPTURE,      //< Capture the stream
+               IGNORE        //< Redirect the stream to oblivion
        };
 
        typedef std::vector<std::string> Arguments;
@@ -45,13 +45,19 @@ public:
        virtual std::string get_command() const;
        virtual void start();
        virtual Status check();
-       Status wait();
+       virtual Status wait();
 private:
        Status do_wait(bool);
 
 public:
+       /// Sets destination for stdout.  Has no effect after the task is started.
        void set_stdout(Destination);
+
+       /// Sets destination for stderr.  Has no effect after the task is started.
        void set_stderr(Destination);
+
+       /** Returns captured output, if any.  This may be called while the task is
+       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