summaryrefslogtreecommitdiff
path: root/src/tasks/Task.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-04-06 23:45:24 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-04-06 23:45:24 (GMT)
commitbbfbb81086897d50b67bf1494ac150eb607add72 (patch)
tree80bab3ddb1f62f847f12947bc81fac2c091669b8 /src/tasks/Task.h
parent8f8de875c6f7a68a3e47252a8653abb72fd398c1 (diff)
downloadpowder-bbfbb81086897d50b67bf1494ac150eb607add72.zip
powder-bbfbb81086897d50b67bf1494ac150eb607add72.tar.gz
Confirmation Dialogue, Save selection and multi-delete
Diffstat (limited to 'src/tasks/Task.h')
-rw-r--r--src/tasks/Task.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/tasks/Task.h b/src/tasks/Task.h
new file mode 100644
index 0000000..90463cb
--- /dev/null
+++ b/src/tasks/Task.h
@@ -0,0 +1,38 @@
+/*
+ * Task.h
+ *
+ * Created on: Apr 6, 2012
+ * Author: Simon
+ */
+
+#ifndef TASK_H_
+#define TASK_H_
+
+#include <string>
+#include <pthread.h>
+#include "TaskListener.h"
+
+class TaskListener;
+class Task {
+public:
+ void SetTaskListener(TaskListener * listener);
+ void Start();
+ int GetProgress();
+ bool GetDone();
+ std::string GetStatus();
+ Task() {}
+ virtual ~Task();
+protected:
+ int progress;
+ bool done;
+ std::string status;
+ TaskListener * listener;
+ pthread_t doWorkThread;
+ virtual void doWork();
+ static void * doWork_helper(void * ref);
+ void notifyProgress(int progress);
+ void notifyStatus(std::string status);
+ void notifyDone();
+};
+
+#endif /* TASK_H_ */