5 #include <sigc++/signal.h>
8 Tasks are used to manage other programs and worker threads involved in the
9 build process. They are run asynchronously by default, but a wait() method is
10 provided should it be necessary to wait for a task to finish.
22 sigc::signal<void, bool> signal_finished;
29 /** Returns the command being executed for this task. Only makes sense if
30 an external command is involved. */
31 virtual std::string get_command() const = 0;
34 virtual void start() = 0;
36 /// Checks the status of the task and immediately returns.
37 virtual Status check() = 0;
39 /// Waits for the task to finish and returns its final status.
40 virtual Status wait() = 0;