1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "remoting/protocol/clipboard_thread_proxy.h" 6 7#include "base/bind.h" 8#include "base/message_loop/message_loop.h" 9#include "remoting/proto/event.pb.h" 10 11namespace remoting { 12namespace protocol { 13 14ClipboardThreadProxy::~ClipboardThreadProxy() { 15} 16 17ClipboardThreadProxy::ClipboardThreadProxy( 18 const base::WeakPtr<ClipboardStub>& clipboard_stub, 19 scoped_refptr<base::TaskRunner> clipboard_stub_task_runner) 20 : clipboard_stub_(clipboard_stub), 21 clipboard_stub_task_runner_(clipboard_stub_task_runner) { 22} 23 24void ClipboardThreadProxy::InjectClipboardEvent(const ClipboardEvent& event) { 25 clipboard_stub_task_runner_->PostTask(FROM_HERE, base::Bind( 26 &ClipboardThreadProxy::InjectClipboardEventStatic, 27 clipboard_stub_, 28 event)); 29} 30 31void ClipboardThreadProxy::InjectClipboardEventStatic( 32 const base::WeakPtr<ClipboardStub>& clipboard_stub, 33 const ClipboardEvent& event) { 34 if (clipboard_stub.get()) { 35 clipboard_stub->InjectClipboardEvent(event); 36 } 37} 38 39} // namespace protocol 40} // namespace remoting 41