Home | History | Annotate | Download | only in protocol
      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 
     14 ClipboardThreadProxy::~ClipboardThreadProxy() {
     15 }
     16 
     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 
     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 
     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