X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fthreadengines%2Fthreadengine_win32.h;h=1915ecc7b4826f790b27dae0a23f0d0dd47505c8;hb=0d2b6637ca369166629576f160ef1fd376078e5a;hp=696948d19b3717ab4db4f759d9d1710ee2dfe32b;hpb=a6f16dd4d0ecf27255be2c93f473fae987eeff91;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/threadengines/threadengine_win32.h b/include/threadengines/threadengine_win32.h index 696948d19..1915ecc7b 100644 --- a/include/threadengines/threadengine_win32.h +++ b/include/threadengines/threadengine_win32.h @@ -11,10 +11,9 @@ * --------------------------------------------------- */ -#ifndef __THREADENGINE_PTHREAD__ -#define __THREADENGINE_PTHREAD__ +#ifndef __THREADENGINE_WIN32THREAD__ +#define __THREADENGINE_WIN32THREAD__ -#include #include "inspircd_config.h" #include "base.h" #include "threadengine.h" @@ -23,14 +22,16 @@ class InspIRCd; class CoreExport Win32ThreadEngine : public ThreadEngine { + protected: + + bool Mutex(bool enable); + public: Win32ThreadEngine(InspIRCd* Instance); virtual ~Win32ThreadEngine(); - bool Mutex(bool enable); - void Run(); static DWORD WINAPI Entry(void* parameter); @@ -45,7 +46,7 @@ class CoreExport Win32ThreadEngine : public ThreadEngine } }; -class ThreadEngineFactory : public classbase +class CoreExport ThreadEngineFactory : public classbase { public: ThreadEngine* Create(InspIRCd* ServerInstance) @@ -54,5 +55,24 @@ class ThreadEngineFactory : public classbase } }; +class CoreExport Win32Mutex : public Mutex +{ + private: + CRITICAL_SECTION wutex; + public: + Win32Mutex(InspIRCd* Instance); + virtual void Enable(bool enable); + ~Win32Mutex(); +}; + +class CoreExport MutexFactory : public Extensible +{ + protected: + InspIRCd* ServerInstance; + public: + MutexFactory(InspIRCd* Instance); + virtual Mutex* CreateMutex(); +}; + #endif