diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 20:16:14 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 20:16:14 +0000 |
commit | 4fc20d17c45d997b19e75bc43ca4d0ae8edac82a (patch) | |
tree | 784a0f2939de10a8ec48050b9f8c9ebcf21f9be2 /base/thread_task_runner_handle.h | |
parent | c921d46409a0f1a97c40e99a03491be527df9fc1 (diff) | |
download | chromium_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.h | 35 |
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_ |