--- /dev/null
+#ifndef TASK_H_
+#define TASK_H_
+
+#include <sigc++/signal.h>
+
+class Task
+{
+public:
+ enum Status
+ {
+ RUNNING,
+ SUCCESS,
+ ERROR
+ };
+
+ sigc::signal<void, bool> signal_finished;
+
+protected:
+ Task() { }
+public:
+ virtual ~Task() { }
+
+ virtual Status check() = 0;
+};
+
+#endif