+++ /dev/null
-#ifndef TASK_H_
-#define TASK_H_
-
-#include <string>
-#include <sigc++/signal.h>
-
-/**
-Tasks are used to manage other programs and worker threads involved in the
-build process. They are run asynchronously by default, but a wait() method is
-provided should it be necessary to wait for a task to finish.
-*/
-class Task
-{
-public:
- enum Status
- {
- RUNNING,
- SUCCESS,
- ERROR
- };
-
- sigc::signal<void, bool> signal_finished;
-
-protected:
- Task() { }
-public:
- virtual ~Task() { }
-
- /** Returns the command being executed for this task. Only makes sense if
- an external command is involved. */
- virtual std::string get_command() const = 0;
-
- /// Starts the task.
- virtual void start() = 0;
-
- /// Checks the status of the task and immediately returns.
- virtual Status check() = 0;
-
- /// Waits for the task to finish and returns its final status.
- virtual Status wait() = 0;
-};
-
-#endif