* http://www.pulse-eight.net/
*/
-#include "../threads.h"
+#pragma warning(disable:4005) // Disable "warning C4005: '_WINSOCKAPI_' : macro redefinition"
+#include <winsock2.h>
+#pragma warning(default:4005)
-namespace CEC
-{
- class CMutex : public IMutex
- {
- public:
- CMutex(bool bRecursive = true);
- virtual ~CMutex(void);
+#include <sys/timeb.h>
+#include <io.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stddef.h>
+#include <process.h>
- virtual bool TryLock(void);
- virtual bool Lock(void);
- virtual void Unlock(void);
+typedef signed __int8 int8_t;
+typedef signed __int16 int16_t;
+typedef signed __int32 int32_t;
+typedef signed __int64 int64_t;
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
- pthread_mutex_t m_mutex;
+#define snprintf _snprintf
- private:
- static pthread_mutexattr_t *GetMutexAttribute();
- };
+#if defined(_MSC_VER)
+#pragma warning (push)
+#endif
- class CCondition : public ICondition
- {
- public:
- CCondition(void);
- virtual ~CCondition(void);
+#define NOGDI
+#if defined(_MSC_VER) /* prevent inclusion of wingdi.h */
+#pragma warning (pop)
+#endif
- virtual void Broadcast(void);
- virtual void Signal(void);
- virtual bool Wait(IMutex *mutex, uint32_t iTimeout = 0);
-
- private:
- pthread_cond_t m_cond;
- };
-
- class CThread : public IThread
- {
- public:
- CThread(void) { };
- virtual ~CThread(void) { };
-
- virtual bool CreateThread(bool bWait = true);
- virtual bool StopThread(bool bWaitForExit = true);
-
- static void *ThreadHandler(CThread *thread);
-
- private:
- pthread_t m_thread;
- };
-};
+#pragma warning(disable:4189) /* disable 'defined but not used' */
+#pragma warning(disable:4100) /* disable 'unreferenced formal parameter' */