X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftask.h;h=183deee40e5c8d0b6b3b60455a2e3f14e933fdb5;hb=HEAD;hp=0732453bfd460b0f0fe8ae881899c6d33581d89a;hpb=33d74db3e99f35a8984d4ad9b703f709d07d44c5;p=builder.git diff --git a/source/task.h b/source/task.h deleted file mode 100644 index 0732453..0000000 --- a/source/task.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef TASK_H_ -#define TASK_H_ - -#include -#include -#include - -/** -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 signal_finished; - - Msp::FS::Path file; - bool unlink; - -protected: - Task(); -public: - virtual ~Task() { } - - /** Associate the task with a file. */ - void set_file(const Msp::FS::Path &); - - /** If set to true, the associated file is 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 the file 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