Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Unified Diff: webrtc/base/platform_thread.h

Issue 2877023002: Move webrtc/{base => rtc_base} (Closed)
Patch Set: update presubmit.py and DEPS include rules Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/platform_file.cc ('k') | webrtc/base/platform_thread.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « webrtc/base/platform_file.cc ('k') | webrtc/base/platform_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698