namespace Mf {
+
//
// The detach function detaches a separate thread by calling 'func' with
// the 'arg' parameter.
}
+class AsyncTask
+{
+public:
+
+ virtual ~AsyncTask() {}
+
+ virtual bool isDone() const = 0;
+
+ virtual void run() = 0;
+ virtual int wait() = 0;
+};
+
+class ThreadedTask
+{
+public:
+
+ ThreadedTask() :
+ mThread(0) {}
+
+ Thread thread() const { return mThread; }
+
+ int wait()
+ {
+ int code = waitOnThread(mThread);
+ mThread = 0;
+ return code;
+ }
+
+
+protected:
+
+ Thread mThread;
+};
+
+
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Mutex