| Index: mojo/public/utility/bindings_support_impl.cc
|
| diff --git a/mojo/public/utility/bindings_support_impl.cc b/mojo/public/utility/bindings_support_impl.cc
|
| deleted file mode 100644
|
| index b78f782ff6228edaec562f5b8b7eefebf06164fc..0000000000000000000000000000000000000000
|
| --- a/mojo/public/utility/bindings_support_impl.cc
|
| +++ /dev/null
|
| @@ -1,111 +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/public/utility/bindings_support_impl.h"
|
| -
|
| -#include <assert.h>
|
| -
|
| -#include "mojo/public/bindings/lib/buffer.h"
|
| -#include "mojo/public/utility/run_loop.h"
|
| -#include "mojo/public/utility/run_loop_handler.h"
|
| -#include "mojo/public/utility/thread_local.h"
|
| -
|
| -namespace mojo {
|
| -namespace internal {
|
| -namespace {
|
| -
|
| -ThreadLocalPointer<Buffer>* tls_buffer = NULL;
|
| -
|
| -// RunLoopHandler implementation used for a request to AsyncWait(). There are
|
| -// two ways RunLoopHandlerImpl is deleted:
|
| -// . when the handle is ready (or errored).
|
| -// . when BindingsSupport::CancelWait() is invoked.
|
| -class RunLoopHandlerImpl : public RunLoopHandler {
|
| - public:
|
| - RunLoopHandlerImpl(const Handle& handle,
|
| - BindingsSupport::AsyncWaitCallback* callback)
|
| - : handle_(handle),
|
| - callback_(callback) {}
|
| - virtual ~RunLoopHandlerImpl() {
|
| - RunLoop::current()->RemoveHandler(handle_);
|
| - }
|
| -
|
| - // RunLoopHandler:
|
| - virtual void OnHandleReady(const Handle& handle) MOJO_OVERRIDE {
|
| - NotifyCallback(MOJO_RESULT_OK);
|
| - }
|
| -
|
| - virtual void OnHandleError(const Handle& handle,
|
| - MojoResult result) MOJO_OVERRIDE {
|
| - NotifyCallback(result);
|
| - }
|
| -
|
| - private:
|
| - void NotifyCallback(MojoResult result) {
|
| - // Delete this to unregister the handle. That way if the callback
|
| - // reregisters everything is ok.
|
| - BindingsSupport::AsyncWaitCallback* callback = callback_;
|
| - delete this;
|
| -
|
| - callback->OnHandleReady(result);
|
| - }
|
| -
|
| - const Handle handle_;
|
| - BindingsSupport::AsyncWaitCallback* callback_;
|
| -
|
| - MOJO_DISALLOW_COPY_AND_ASSIGN(RunLoopHandlerImpl);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -BindingsSupportImpl::BindingsSupportImpl() {
|
| -}
|
| -
|
| -BindingsSupportImpl::~BindingsSupportImpl() {
|
| -}
|
| -
|
| -// static
|
| -void BindingsSupportImpl::SetUp() {
|
| - assert(!tls_buffer);
|
| - tls_buffer = new ThreadLocalPointer<Buffer>;
|
| -}
|
| -
|
| -// static
|
| -void BindingsSupportImpl::TearDown() {
|
| - assert(tls_buffer);
|
| - delete tls_buffer;
|
| - tls_buffer = NULL;
|
| -}
|
| -
|
| -Buffer* BindingsSupportImpl::GetCurrentBuffer() {
|
| - return tls_buffer->Get();
|
| -}
|
| -
|
| -Buffer* BindingsSupportImpl::SetCurrentBuffer(Buffer* buf) {
|
| - Buffer* old_buf = tls_buffer->Get();
|
| - tls_buffer->Set(buf);
|
| - return old_buf;
|
| -}
|
| -
|
| -BindingsSupport::AsyncWaitID BindingsSupportImpl::AsyncWait(
|
| - const Handle& handle,
|
| - MojoWaitFlags flags,
|
| - AsyncWaitCallback* callback) {
|
| - RunLoop* run_loop = RunLoop::current();
|
| - assert(run_loop);
|
| - // |run_loop_handler| is destroyed either when the handle is ready or if
|
| - // CancelWait is invoked.
|
| - RunLoopHandlerImpl* run_loop_handler =
|
| - new RunLoopHandlerImpl(handle, callback);
|
| - run_loop->AddHandler(run_loop_handler, handle, flags,
|
| - MOJO_DEADLINE_INDEFINITE);
|
| - return run_loop_handler;
|
| -}
|
| -
|
| -void BindingsSupportImpl::CancelWait(AsyncWaitID async_wait_id) {
|
| - delete static_cast<RunLoopHandlerImpl*>(async_wait_id);
|
| -}
|
| -
|
| -} // namespace internal
|
| -} // namespace mojo
|
|
|