• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
11 namespace remoting {
12 namespace protocol {
13 
~ClipboardThreadProxy()14 ClipboardThreadProxy::~ClipboardThreadProxy() {
15 }
16 
ClipboardThreadProxy(const base::WeakPtr<ClipboardStub> & clipboard_stub,scoped_refptr<base::TaskRunner> clipboard_stub_task_runner)17 ClipboardThreadProxy::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 
InjectClipboardEvent(const ClipboardEvent & event)24 void 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 
InjectClipboardEventStatic(const base::WeakPtr<ClipboardStub> & clipboard_stub,const ClipboardEvent & event)31 void 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