]> git.tdb.fi Git - builder.git/blobdiff - source/task.h
Include cpu in the build signature
[builder.git] / source / task.h
index 531316be71d1ee98a46d3f86bcd55a8b8b796b39..e7e37e3f04423d525afdf44e00a2e9c854c5c4b1 100644 (file)
@@ -4,6 +4,11 @@
 #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:
@@ -21,9 +26,18 @@ protected:
 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