Index: base/thread.h |
diff --git a/base/thread.h b/base/thread.h |
deleted file mode 100644 |
index bf576b9620f7e69e84ff7b54772d943e082ab8c2..0000000000000000000000000000000000000000 |
--- a/base/thread.h |
+++ /dev/null |
@@ -1,105 +0,0 @@ |
-// Copyright 2004-2009 Google Inc. |
-// |
-// Licensed under the Apache License, Version 2.0 (the "License"); |
-// you may not use this file except in compliance with the License. |
-// You may obtain a copy of the License at |
-// |
-// http://www.apache.org/licenses/LICENSE-2.0 |
-// |
-// Unless required by applicable law or agreed to in writing, software |
-// distributed under the License is distributed on an "AS IS" BASIS, |
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-// See the License for the specific language governing permissions and |
-// limitations under the License. |
-// ======================================================================== |
-// |
-// Defines interface Runnable and class Thread. |
-// |
-// Thread encapsulates win32 primitives of creating and |
-// manipulating win32 threads. |
- |
-#ifndef OMAHA_COMMON_THREAD_H__ |
-#define OMAHA_COMMON_THREAD_H__ |
- |
-#include "omaha/base/synchronized.h" |
- |
-namespace omaha { |
- |
-// Any class which requires part of its execution in a |
-// separate thread should be derived from Runnable interface. |
-// It can have member variable of type Thread. When the |
-// thread needs to be launched one does something like that. |
-// A::func() { |
-// thread_.start(this); |
-// } |
- |
-class Runnable { |
- friend class Thread; |
- protected: |
- Runnable() {} |
- virtual ~Runnable() {} |
- virtual void Run() = 0; |
- private: |
- DISALLOW_EVIL_CONSTRUCTORS(Runnable); |
-}; |
- |
-// Any class devived from this one will be able to call |
-// Thread function QueueApc and have the function OnApc get |
-// executed in context of this thread. Thread must be in alertable |
-// state to be able to execute the apc function. |
-class ApcReceiver { |
- friend class Thread; |
- protected: |
- ApcReceiver() {} |
- virtual ~ApcReceiver() {} |
- virtual void OnApc(ULONG_PTR param) = 0; |
- private: |
- DISALLOW_EVIL_CONSTRUCTORS(ApcReceiver); |
-}; |
- |
-// This class encapsulates win32 thread management functions. |
-class Thread { |
- public: |
- Thread(); |
- ~Thread(); |
- |
- bool Start(Runnable* runner); |
- bool Suspend(); |
- bool Resume(); |
- bool Terminate(int exit_code); |
- bool SetPriority(int priority); |
- bool GetPriority(int* priority) const; |
- DWORD GetThreadId() const; |
- HANDLE GetThreadHandle() const; |
- |
- // Checks if the thread is running. |
- bool Running() const; |
- |
- // Waits until thread exits. |
- bool WaitTillExit(DWORD msec) const; |
- |
- // Queues an APC to the ApcReceiver. |
- bool QueueApc(ApcReceiver* receiver, ULONG_PTR param); |
- |
- // Posts message to a thread. |
- bool PostMessage(UINT msg, WPARAM wparam, LPARAM lparam); |
- private: |
- static DWORD __stdcall Prepare(void* thisPointer); // Thread proc. |
- static void __stdcall APCProc(ULONG_PTR dwParam); |
- |
- Runnable* runner_; // Interface to work with. |
- HANDLE thread_; |
- DWORD thread_id_; |
- Gate start_gate_; // Synchronizes the thread start. |
- |
- struct ApcInfo { |
- ApcReceiver* receiver_; |
- ULONG_PTR param_; |
- }; |
- |
- DISALLOW_EVIL_CONSTRUCTORS(Thread); |
-}; |
- |
-} // namespace omaha |
- |
-#endif // OMAHA_COMMON_THREAD_H__ |