]> git.tdb.fi Git - builder.git/blob - source/task.h
Give tasks the ability to return the relevant shell command
[builder.git] / source / task.h
1 #ifndef TASK_H_
2 #define TASK_H_
3
4 #include <string>
5 #include <sigc++/signal.h>
6
7 class Task
8 {
9 public:
10         enum Status
11         {
12                 RUNNING,
13                 SUCCESS,
14                 ERROR
15         };
16
17         sigc::signal<void, bool> signal_finished;
18
19 protected:
20         Task() { }
21 public:
22         virtual ~Task() { }
23
24         virtual std::string get_command() const = 0;
25         virtual void start() = 0;
26         virtual Status check() = 0;
27 };
28
29 #endif