summaryrefslogtreecommitdiff
path: root/xfa/include
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-12-07 13:12:49 -0800
committerTom Sepez <tsepez@chromium.org>2015-12-07 13:12:49 -0800
commit5e4f290e939ded90a518ff8eab1db59930655e11 (patch)
treee0dadf2018083c2b2d641bc296b1b0216deba6be /xfa/include
parent6fa20c60c6ed551af55bfc879668eaac5c237805 (diff)
downloadpdfium-5e4f290e939ded90a518ff8eab1db59930655e11.tar.xz
Revert "Rename CFWL_Thread classes to ThreadImp"
This reverts commit 6fa20c60c6ed551af55bfc879668eaac5c237805. Reason for revert: broke tests TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1507893002 .
Diffstat (limited to 'xfa/include')
-rw-r--r--xfa/include/fwl/adapter/fwl_adapterthreadmgr.h19
-rw-r--r--xfa/include/fwl/core/fwl_thread.h42
2 files changed, 47 insertions, 14 deletions
diff --git a/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h b/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h
index 570e53349a..12b155db90 100644
--- a/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h
+++ b/xfa/include/fwl/adapter/fwl_adapterthreadmgr.h
@@ -4,10 +4,11 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef FWL_ADAPTERTHREADMGR_H_
-#define FWL_ADAPTERTHREADMGR_H_
-
+#ifndef _FWL_ADAPTER_THREAD_H
+#define _FWL_ADAPTER_THREAD_H
class IFWL_Thread;
+class IFWL_AdapterMutex;
+class IFWL_AdapterSemaphore;
class IFWL_AdapterThreadMgr {
public:
@@ -21,4 +22,14 @@ class IFWL_AdapterThreadMgr {
virtual FWL_ERR Stop(FWL_HTHREAD hThread, int32_t iExitCode) = 0;
virtual IFWL_Thread* GetCurrentThread() = 0;
};
-#endif // FWL_ADAPTERTHREADMGR_H_
+class IFWL_AdapterSemaphore {
+ public:
+ virtual ~IFWL_AdapterSemaphore() {}
+ static IFWL_AdapterSemaphore* Create();
+ virtual FWL_ERR Destroy() = 0;
+ virtual FWL_ERR Wait() const = 0;
+ virtual FWL_ERR Post() = 0;
+ virtual FWL_ERR Value(FX_DWORD& val) const = 0;
+ virtual FWL_ERR Reset(int32_t init) = 0;
+};
+#endif
diff --git a/xfa/include/fwl/core/fwl_thread.h b/xfa/include/fwl/core/fwl_thread.h
index f8ea2aa104..3bc5c3c289 100644
--- a/xfa/include/fwl/core/fwl_thread.h
+++ b/xfa/include/fwl/core/fwl_thread.h
@@ -4,25 +4,47 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef FWL_THREAD_H_
-#define FWL_THREAD_H_
-
+#ifndef _FWL_THREAD_H
+#define _FWL_THREAD_H
class IFWL_NoteDriver;
-
+class IFWL_Thread;
+class IFWL_NoteThread;
typedef struct _FWL_HTHREAD { void* pData; } * FWL_HTHREAD;
-
class IFWL_Thread {
public:
- virtual void Release() = 0;
- virtual FWL_ERR Run(FWL_HTHREAD hThread) = 0;
+ static IFWL_Thread* Create();
protected:
virtual ~IFWL_Thread() {}
-};
+ public:
+ virtual void Release() = 0;
+ virtual FWL_ERR Run(FWL_HTHREAD hThread) = 0;
+};
+FWL_HTHREAD FWL_StartThread(IFWL_Thread* pThread, FX_BOOL bSuspended = FALSE);
+FWL_ERR FWL_ResumeThread(FWL_HTHREAD hThread);
+FWL_ERR FWL_SuspendThread(FWL_HTHREAD hThread);
+FWL_ERR FWL_KillThread(FWL_HTHREAD hThread, int32_t iExitCode);
+FWL_ERR FWL_StopThread(FWL_HTHREAD hThread, int32_t iExitCode);
+FWL_ERR FWL_Sleep(FX_DWORD dwMilliseconds);
class IFWL_NoteThread : public IFWL_Thread {
public:
+ static IFWL_NoteThread* Create();
+ virtual FWL_ERR Run(FWL_HTHREAD hThread) = 0;
virtual IFWL_NoteDriver* GetNoteDriver() = 0;
};
-
-#endif // FWL_THREAD_H_
+typedef struct _FWL_HMUTEX { void* pData; } * FWL_HMUTEX;
+FWL_HMUTEX FWL_CreateMutex();
+FWL_ERR FWL_DestroyMutex(FWL_HMUTEX hMutex);
+FWL_ERR FWL_LockMutex(FWL_HMUTEX hMutex);
+FWL_ERR FWL_TryLockMutex(FWL_HMUTEX hMutex);
+FWL_ERR FWL_UnlockMutex(FWL_HMUTEX hMutex);
+FWL_ERR FWL_IsLockedMutex(FWL_HMUTEX hMutex, FX_BOOL& bLocked);
+typedef struct _FWL_HSEMAPHORE { void* pData; } * FWL_HSEMAPHORE;
+FWL_HSEMAPHORE FWL_CreateSemaphore();
+FWL_ERR FWL_DestroySemaphore(FWL_HSEMAPHORE hSemaphore);
+FWL_ERR FWL_WaitSemaphore(FWL_HSEMAPHORE hSemaphore);
+FWL_ERR FWL_PostSemaphore(FWL_HSEMAPHORE hSemaphore, int32_t down = 1);
+FWL_ERR FWL_GetSemaphoreValue(FWL_HSEMAPHORE hSemaphore, int32_t& value);
+FWL_ERR FWL_ResetSemaphore(FWL_HSEMAPHORE hSemaphore, int32_t init);
+#endif