]> git.tdb.fi Git - libs/core.git/blobdiff - source/core/thread.h
Drop copyright and license notices from source files
[libs/core.git] / source / core / thread.h
index 937d161938b20aad593653bbe99ed882aeb77156..ac7169ff0250c509260f7303834d34fb7fb83155 100644 (file)
@@ -1,12 +1,5 @@
-/*
-This file is part of libmspcore
-Copyright © 2006 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-#ifndef MSP_FRAMEWORK_THREAD_H_
-#define MSP_FRAMEWORK_THREAD_H_
-
-#include "types.h"
+#ifndef MSP_CORE_THREAD_H_
+#define MSP_CORE_THREAD_H_
 
 namespace Msp {
 
@@ -19,30 +12,25 @@ is started.
 */
 class Thread
 {
-public:
-       void join();
-       void cancel();
-       void kill();
-       virtual ~Thread();
-protected:
-       Thread(): launched_(false) { }
-       void launch();
-       virtual void main()=0;
-       void check_cancel();
 private:
-       ThreadHandle thread_;
-       bool         launched_;
+       struct Private;
+
+       Private *priv_;
+       bool launched_;
 
+protected:
+       Thread();
+private:
        Thread(const Thread &);
        Thread &operator=(const Thread &);
+public:
+       virtual ~Thread();
 
-#ifdef WIN32
-#      define THREAD_RETURN_ DWORD WINAPI
-#else
-#      define THREAD_RETURN_ void *
-#endif
-       static THREAD_RETURN_ main_(void *t) { ((Thread *)t)->main(); return 0; }
-#undef THREAD_RETURN_
+       void join();
+       void kill();
+protected:
+       void launch();
+       virtual void main() = 0;
 };
 
 } // namespace Msp