summaryrefslogtreecommitdiffstats
path: root/base/thread_task_runner_handle.h
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:16:14 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-09 20:16:14 +0000
commit4fc20d17c45d997b19e75bc43ca4d0ae8edac82a (patch)
tree784a0f2939de10a8ec48050b9f8c9ebcf21f9be2 /base/thread_task_runner_handle.h
parentc921d46409a0f1a97c40e99a03491be527df9fc1 (diff)
downloadchromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.zip
chromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.tar.gz
chromium_src-4fc20d17c45d997b19e75bc43ca4d0ae8edac82a.tar.bz2
Add base::ThreadTaskRunnerHandler class.
The class will be used to hold a reference to the thread's task runner. Review URL: https://chromiumcodereview.appspot.com/10380016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136110 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/thread_task_runner_handle.h')
-rw-r--r--base/thread_task_runner_handle.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/base/thread_task_runner_handle.h b/base/thread_task_runner_handle.h
new file mode 100644
index 0000000..599d15b
--- /dev/null
+++ b/base/thread_task_runner_handle.h
@@ -0,0 +1,35 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef BASE_THREAD_TASK_RUNNER_HANDLE_H_
+#define BASE_THREAD_TASK_RUNNER_HANDLE_H_
+
+#include "base/base_export.h"
+#include "base/memory/ref_counted.h"
+
+namespace base {
+
+class SingleThreadTaskRunner;
+
+// ThreadTaskRunnerHandle stores a reference to the main task runner
+// for each thread. Not more than one of these objects can be created
+// per thread. After an instance of this object is created the Get()
+// function will return the |task_runner| specified in the
+// constructor.
+class BASE_EXPORT ThreadTaskRunnerHandle {
+ public:
+ // Gets the SingleThreadTaskRunner for the current thread.
+ static scoped_refptr<SingleThreadTaskRunner> Get();
+
+ ThreadTaskRunnerHandle(
+ const scoped_refptr<SingleThreadTaskRunner>& task_runner);
+ ~ThreadTaskRunnerHandle();
+
+ private:
+ scoped_refptr<SingleThreadTaskRunner> task_runner_;
+};
+
+} // namespace base
+
+#endif // BASE_THREAD_TASK_RUNNER_HANDLE_H_