Index: webrtc/base/platform_thread.h |
diff --git a/webrtc/base/platform_thread.h b/webrtc/base/platform_thread.h |
index ed26ca03cc70d1e2d05814b05733c02d34241de8..626d66fc0713c93f9a3d4805616b2cacfd0b7a8f 100644 |
--- a/webrtc/base/platform_thread.h |
+++ b/webrtc/base/platform_thread.h |
@@ -11,114 +11,9 @@ |
#ifndef WEBRTC_BASE_PLATFORM_THREAD_H_ |
#define WEBRTC_BASE_PLATFORM_THREAD_H_ |
-#include <string> |
-#include "webrtc/base/constructormagic.h" |
-#include "webrtc/base/event.h" |
-#include "webrtc/base/platform_thread_types.h" |
-#include "webrtc/base/thread_checker.h" |
- |
-namespace rtc { |
- |
-PlatformThreadId CurrentThreadId(); |
-PlatformThreadRef CurrentThreadRef(); |
- |
-// Compares two thread identifiers for equality. |
-bool IsThreadRefEqual(const PlatformThreadRef& a, const PlatformThreadRef& b); |
- |
-// Sets the current thread name. |
-void SetCurrentThreadName(const char* name); |
- |
-// Callback function that the spawned thread will enter once spawned. |
-// A return value of false is interpreted as that the function has no |
-// more work to do and that the thread can be released. |
-typedef bool (*ThreadRunFunctionDeprecated)(void*); |
-typedef void (*ThreadRunFunction)(void*); |
- |
-enum ThreadPriority { |
-#ifdef WEBRTC_WIN |
- kLowPriority = THREAD_PRIORITY_BELOW_NORMAL, |
- kNormalPriority = THREAD_PRIORITY_NORMAL, |
- kHighPriority = THREAD_PRIORITY_ABOVE_NORMAL, |
- kHighestPriority = THREAD_PRIORITY_HIGHEST, |
- kRealtimePriority = THREAD_PRIORITY_TIME_CRITICAL |
-#else |
- kLowPriority = 1, |
- kNormalPriority = 2, |
- kHighPriority = 3, |
- kHighestPriority = 4, |
- kRealtimePriority = 5 |
-#endif |
-}; |
- |
-// Represents a simple worker thread. The implementation must be assumed |
-// to be single threaded, meaning that all methods of the class, must be |
-// called from the same thread, including instantiation. |
-class PlatformThread { |
- public: |
- PlatformThread(ThreadRunFunctionDeprecated func, |
- void* obj, |
- const char* thread_name); |
- PlatformThread(ThreadRunFunction func, |
- void* obj, |
- const char* thread_name, |
- ThreadPriority priority = kNormalPriority); |
- virtual ~PlatformThread(); |
- |
- const std::string& name() const { return name_; } |
- |
- // Spawns a thread and tries to set thread priority according to the priority |
- // from when CreateThread was called. |
- void Start(); |
- |
- bool IsRunning() const; |
- |
- // Returns an identifier for the worker thread that can be used to do |
- // thread checks. |
- PlatformThreadRef GetThreadRef() const; |
- |
- // Stops (joins) the spawned thread. |
- void Stop(); |
- |
- // Set the priority of the thread. Must be called when thread is running. |
- // TODO(tommi): Make private and only allow public support via ctor. |
- bool SetPriority(ThreadPriority priority); |
- |
- protected: |
-#if defined(WEBRTC_WIN) |
- // Exposed to derived classes to allow for special cases specific to Windows. |
- bool QueueAPC(PAPCFUNC apc_function, ULONG_PTR data); |
-#endif |
- |
- private: |
- void Run(); |
- |
- ThreadRunFunctionDeprecated const run_function_deprecated_ = nullptr; |
- ThreadRunFunction const run_function_ = nullptr; |
- const ThreadPriority priority_ = kNormalPriority; |
- void* const obj_; |
- // TODO(pbos): Make sure call sites use string literals and update to a const |
- // char* instead of a std::string. |
- const std::string name_; |
- rtc::ThreadChecker thread_checker_; |
- rtc::ThreadChecker spawned_thread_checker_; |
-#if defined(WEBRTC_WIN) |
- static DWORD WINAPI StartThread(void* param); |
- |
- bool stop_ = false; |
- HANDLE thread_ = nullptr; |
- DWORD thread_id_ = 0; |
-#else |
- static void* StartThread(void* param); |
- |
- // An atomic flag that we use to stop the thread. Only modified on the |
- // controlling thread and checked on the worker thread. |
- volatile int stop_flag_ = 0; |
- pthread_t thread_ = 0; |
-#endif // defined(WEBRTC_WIN) |
- RTC_DISALLOW_COPY_AND_ASSIGN(PlatformThread); |
-}; |
- |
-} // namespace rtc |
+// This header is deprecated and is just left here temporarily during |
+// refactoring. See https://bugs.webrtc.org/7634 for more details. |
+#include "webrtc/rtc_base/platform_thread.h" |
#endif // WEBRTC_BASE_PLATFORM_THREAD_H_ |