Index: mojo/common/bindings_support_impl.cc |
diff --git a/mojo/common/bindings_support_impl.cc b/mojo/common/bindings_support_impl.cc |
deleted file mode 100644 |
index 0e1f6a1ea30acbcf29157f74bdc209d33b2f1e27..0000000000000000000000000000000000000000 |
--- a/mojo/common/bindings_support_impl.cc |
+++ /dev/null |
@@ -1,80 +0,0 @@ |
-// Copyright 2013 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. |
- |
-#include "mojo/common/bindings_support_impl.h" |
- |
-#include "base/atomic_ref_count.h" |
-#include "base/bind.h" |
-#include "base/lazy_instance.h" |
-#include "base/threading/thread_local.h" |
-#include "mojo/common/handle_watcher.h" |
- |
-namespace mojo { |
-namespace common { |
-namespace { |
-base::LazyInstance<base::ThreadLocalPointer<Buffer> >::Leaky lazy_tls_ptr = |
- LAZY_INSTANCE_INITIALIZER; |
-} |
- |
-// Context is used to track the number of HandleWatcher objects in use by a |
-// particular BindingsSupportImpl instance. |
-class BindingsSupportImpl::Context |
- : public base::RefCountedThreadSafe<BindingsSupportImpl::Context> { |
- public: |
- void CallOnHandleReady(HandleWatcher* watcher, |
- AsyncWaitCallback* callback, |
- MojoResult result) { |
- delete watcher; |
- callback->OnHandleReady(result); |
- } |
- |
- private: |
- friend class base::RefCountedThreadSafe<Context>; |
- virtual ~Context() {} |
-}; |
- |
-BindingsSupportImpl::BindingsSupportImpl() |
- : context_(new Context()) { |
-} |
- |
-BindingsSupportImpl::~BindingsSupportImpl() { |
- // All HandleWatcher instances created through this interface should have |
- // been destroyed. |
- DCHECK(context_->HasOneRef()); |
-} |
- |
-Buffer* BindingsSupportImpl::GetCurrentBuffer() { |
- return lazy_tls_ptr.Pointer()->Get(); |
-} |
- |
-Buffer* BindingsSupportImpl::SetCurrentBuffer(Buffer* buf) { |
- Buffer* old_buf = lazy_tls_ptr.Pointer()->Get(); |
- lazy_tls_ptr.Pointer()->Set(buf); |
- return old_buf; |
-} |
- |
-BindingsSupport::AsyncWaitID BindingsSupportImpl::AsyncWait( |
- const Handle& handle, |
- MojoWaitFlags flags, |
- AsyncWaitCallback* callback) { |
- // This instance will be deleted when done or cancelled. |
- HandleWatcher* watcher = new HandleWatcher(); |
- |
- watcher->Start(handle, |
- flags, |
- MOJO_DEADLINE_INDEFINITE, |
- base::Bind(&Context::CallOnHandleReady, |
- context_, |
- watcher, |
- callback)); |
- return watcher; |
-} |
- |
-void BindingsSupportImpl::CancelWait(AsyncWaitID async_wait_id) { |
- HandleWatcher* watcher = static_cast<HandleWatcher*>(async_wait_id); |
- delete watcher; |
-} |
- |
-} // namespace common |
-} // namespace mojo |