X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Fthread.h;h=ac7169ff0250c509260f7303834d34fb7fb83155;hb=fc1475d88018934a61df890c192a404a105308fd;hp=2b0766c68ba7fbd0d443265d30d58628ddda76f8;hpb=e1ea831a640fba534e7e42e399f04cdf681ef8d3;p=libs%2Fcore.git diff --git a/source/core/thread.h b/source/core/thread.h index 2b0766c..ac7169f 100644 --- a/source/core/thread.h +++ b/source/core/thread.h @@ -1,12 +1,5 @@ -/* -This file is part of libmspframework -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