Chromium Code Reviews| Index: base/threading/post_task_and_reply_impl.h |
| diff --git a/base/threading/post_task_and_reply_impl.h b/base/threading/post_task_and_reply_impl.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c0b4f648a6c2b6167c15901d4ab9c691396e793c |
| --- /dev/null |
| +++ b/base/threading/post_task_and_reply_impl.h |
| @@ -0,0 +1,43 @@ |
| +// Copyright (c) 2011 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. |
| + |
| +// This file contains the implementation shared by |
| +// MessageLoopProxy::PostTaskAndReply and WorkerPool::PostTaskAndReply. |
| + |
| +#ifndef BASE_THREADING_POST_TASK_AND_REPLY_IMPL_H_ |
| +#define BASE_THREADING_POST_TASK_AND_REPLY_IMPL_H_ |
| +#pragma once |
| + |
| +#include "base/bind.h" |
| +#include "base/location.h" |
| + |
| +namespace base { |
| +namespace internal { |
| + |
| +// Inherit from this in a class that implements PostTask appropriately |
| +// for sending to a destination thread. |
| +// |
| +// Note that 'reply' will always get posted back to your current |
| +// MessageLoop. |
| +// |
| +// If you're looking for a concrete implementation of |
| +// PostTaskAndReply, you probably want base::MessageLoopProxy, or you |
| +// may want base::WorkerPool. |
| +class PostTaskAndReplyImpl { |
| + public: |
| + // Implementation for MessageLoopProxy::PostTaskAndReply and |
| + // WorkerPool::PostTaskAndReply. |
| + bool PostTaskAndReply(const tracked_objects::Location& from_here, |
| + const Closure& task, |
| + const Closure& reply); |
| + |
| + protected: |
|
willchan no longer on Chromium
2011/10/13 19:36:38
Why is this protected instead of private? Is a sub
Jói
2011/10/13 20:27:58
Subclasses override this.
Jói
2011/10/13 22:46:07
Made it private, it is only overridden.
|
| + virtual bool PostTask(const tracked_objects::Location& from_here, |
| + const Closure& task) = 0; |
| +}; |
| + |
| +} // namespace internal |
| +} // namespace base |
| + |
| +#endif // BASE_THREADING_POST_TASK_AND_REPLY_IMPL_H_ |