]> git.tdb.fi Git - builder.git/blobdiff - source/task.h
Refactor transitive dependencies to work on all targets
[builder.git] / source / task.h
diff --git a/source/task.h b/source/task.h
deleted file mode 100644 (file)
index 0890007..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef TASK_H_
-#define TASK_H_
-
-#include <string>
-#include <sigc++/signal.h>
-#include <msp/fs/path.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:
-       std::list<Msp::FS::Path> files;
-       bool unlink;
-
-       Task();
-public:
-       virtual ~Task() { }
-
-       /** Associate the task with a file. */
-       void add_file(const Msp::FS::Path &);
-
-       /** If set to true, the associated files are removed before the task is
-       started. */
-       void set_unlink(bool = true);
-
-       /** 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;
-
-protected:
-       /// Ensures that the output directory exists and removes files if necessary.
-       void prepare();
-
-public:
-       /// 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