#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.
+*/
class Task
{
public:
public:
virtual ~Task() { }
+ virtual std::string get_command() const = 0;
+ virtual void start() = 0;
virtual Status check() = 0;
};