X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fcore%2Fthread.h;fp=source%2Fcore%2Fthread.h;h=8d323b328441896a6c3a928ec51fc560ed84847b;hp=ef095c6a0ce0ab8bf1a591e8714f2d469c4603f0;hb=cfc8e0b7b15ea505bd6a6a9599cbc5ce1e316963;hpb=7db1e6d50594b47a32ecca5a349a4e8540f890c0 diff --git a/source/core/thread.h b/source/core/thread.h index ef095c6..8d323b3 100644 --- a/source/core/thread.h +++ b/source/core/thread.h @@ -4,6 +4,7 @@ This file is part of libmspcore Copyright © 2006 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ + #ifndef MSP_CORE_THREAD_H_ #define MSP_CORE_THREAD_H_ @@ -20,23 +21,24 @@ is started. */ class Thread { +private: + ThreadHandle thread_; + bool launched_; + +protected: + Thread(): launched_(false) { } public: + virtual ~Thread(); + 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_; - - Thread(const Thread &); - Thread &operator=(const Thread &); +private: static #ifdef WIN32 DWORD WINAPI @@ -44,6 +46,9 @@ private: void * #endif main_(void *t) { (reinterpret_cast(t))->main(); return 0; } + + Thread(const Thread &); + Thread &operator=(const Thread &); }; } // namespace Msp