00001 #ifndef __CThreadManager__
00002 #define __CThreadManager__
00003
00004 #include "IThread.hpp"
00005
00006
00007
00008 using Exponent::Threading::IThread;
00009
00010
00011
00012 namespace Exponent
00013 {
00014 namespace Threading
00015 {
00033 class CThreadManager
00034 {
00035 public:
00036
00048 static void startThread(IThread *thread);
00049
00054 static void stopThread(IThread *thread);
00055
00060 static void terminateThread(IThread *thread);
00061
00062
00063
00064 protected:
00065
00066
00067
00068 #ifdef WIN32
00069
00073 static unsigned long __stdcall threadCallback(void *data);
00074 #else
00075
00080 static void *threadCallback(void *data);
00081 #endif
00082 };
00083 }
00084 }
00085 #endif // End of CThreadManager.hpp