12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "remoting/host/ipc_input_injector.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "remoting/host/desktop_session_proxy.h"
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace remoting {
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IpcInputInjector::IpcInputInjector(
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    scoped_refptr<DesktopSessionProxy> desktop_session_proxy)
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : desktop_session_proxy_(desktop_session_proxy) {
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IpcInputInjector::~IpcInputInjector() {
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void IpcInputInjector::InjectClipboardEvent(
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    const protocol::ClipboardEvent& event) {
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  desktop_session_proxy_->InjectClipboardEvent(event);
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void IpcInputInjector::InjectKeyEvent(const protocol::KeyEvent& event) {
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  desktop_session_proxy_->InjectKeyEvent(event);
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochvoid IpcInputInjector::InjectTextEvent(const protocol::TextEvent& event) {
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  desktop_session_proxy_->InjectTextEvent(event);
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void IpcInputInjector::InjectMouseEvent(const protocol::MouseEvent& event) {
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  desktop_session_proxy_->InjectMouseEvent(event);
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void IpcInputInjector::Start(
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    scoped_ptr<protocol::ClipboardStub> client_clipboard) {
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  desktop_session_proxy_->StartInputInjector(client_clipboard.Pass());
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace remoting
42