]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/threadengines/threadengine_pthread.h
Document SendMetaData.
[user/henk/code/inspircd.git] / include / threadengines / threadengine_pthread.h
index 7e4d4ec3f1dc6867253243bc9095fdd843acdb01..bd07f0ea9a3865fce08757921773eed28d196641 100644 (file)
@@ -23,14 +23,16 @@ class InspIRCd;
 
 class CoreExport PThreadEngine : public ThreadEngine
 {
+ private:
+       
+       bool Mutex(bool enable);
+
  public:
 
        PThreadEngine(InspIRCd* Instance);
 
        virtual ~PThreadEngine();
 
-       bool Mutex(bool enable);
-
        void Run();
 
        static void* Entry(void* parameter);
@@ -38,9 +40,14 @@ class CoreExport PThreadEngine : public ThreadEngine
        void Create(Thread* thread_to_init);
 
        void FreeThread(Thread* thread);
+
+       const std::string GetName()
+       {
+               return "posix-thread";
+       }
 };
 
-class ThreadEngineFactory : public classbase
+class CoreExport ThreadEngineFactory : public classbase
 {
  public:
        ThreadEngine* Create(InspIRCd* ServerInstance)
@@ -49,4 +56,23 @@ class ThreadEngineFactory : public classbase
        }
 };
 
+class CoreExport PosixMutex : public Mutex
+{
+ private:
+       pthread_mutex_t putex;
+ public:
+       PosixMutex(InspIRCd* Instance);
+       virtual void Enable(bool enable);
+       ~PosixMutex();
+};
+
+class CoreExport MutexFactory : public Extensible
+{
+ protected:
+       InspIRCd* ServerInstance;
+ public:
+       MutexFactory(InspIRCd* Instance);
+       Mutex* CreateMutex();
+};
+
 #endif