// 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. #ifndef MOJO_COMMON_BINDINGS_SUPPORT_IMPL_H_ #define MOJO_COMMON_BINDINGS_SUPPORT_IMPL_H_ #include "mojo/public/bindings/lib/bindings_support.h" #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" #include "mojo/common/mojo_common_export.h" namespace mojo { namespace common { class MOJO_COMMON_EXPORT BindingsSupportImpl : NON_EXPORTED_BASE(public BindingsSupport) { public: BindingsSupportImpl(); virtual ~BindingsSupportImpl(); // BindingsSupport methods: virtual Buffer* GetCurrentBuffer() OVERRIDE; virtual Buffer* SetCurrentBuffer(Buffer* buf) OVERRIDE; virtual AsyncWaitID AsyncWait(const Handle& handle, MojoWaitFlags flags, AsyncWaitCallback* callback) OVERRIDE; virtual void CancelWait(AsyncWaitID async_wait_id) OVERRIDE; private: class Context; scoped_refptr<Context> context_; DISALLOW_COPY_AND_ASSIGN(BindingsSupportImpl); }; } // namespace common } // namespace mojo #endif // MOJO_COMMON_BINDINGS_SUPPORT_IMPL_H_