15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "remoting/host/fake_desktop_environment.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "remoting/host/audio_capturer.h" 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "remoting/host/fake_desktop_capturer.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "remoting/host/gnubby_auth_handler.h" 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "remoting/host/input_injector.h" 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace remoting { 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeInputInjector::FakeInputInjector() {} 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeInputInjector::~FakeInputInjector() {} 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeInputInjector::Start( 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) scoped_ptr<protocol::ClipboardStub> client_clipboard) { 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeInputInjector::InjectKeyEvent(const protocol::KeyEvent& event) { 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeInputInjector::InjectTextEvent(const protocol::TextEvent& event) { 255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeInputInjector::InjectMouseEvent(const protocol::MouseEvent& event) { 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeInputInjector::InjectClipboardEvent( 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const protocol::ClipboardEvent& event) { 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeScreenControls::FakeScreenControls() {} 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeScreenControls::~FakeScreenControls() {} 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeScreenControls::SetScreenResolution( 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const ScreenResolution& resolution) { 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeDesktopEnvironment::FakeDesktopEnvironment() {} 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeDesktopEnvironment::~FakeDesktopEnvironment() {} 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// DesktopEnvironment implementation. 465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<AudioCapturer> FakeDesktopEnvironment::CreateAudioCapturer() { 475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return scoped_ptr<AudioCapturer>(); 485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<InputInjector> FakeDesktopEnvironment::CreateInputInjector() { 515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return scoped_ptr<InputInjector>(new FakeInputInjector()); 525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<ScreenControls> FakeDesktopEnvironment::CreateScreenControls() { 555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return scoped_ptr<ScreenControls>(new FakeScreenControls()); 565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 586e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)scoped_ptr<webrtc::DesktopCapturer> 595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeDesktopEnvironment::CreateVideoCapturer() { 606e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) scoped_ptr<FakeDesktopCapturer> result(new FakeDesktopCapturer()); 615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (!frame_generator_.is_null()) 625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) result->set_frame_generator(frame_generator_); 636e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return result.PassAs<webrtc::DesktopCapturer>(); 646e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} 656e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 666e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)scoped_ptr<webrtc::MouseCursorMonitor> 676e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)FakeDesktopEnvironment::CreateMouseCursorMonitor() { 686e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) return scoped_ptr<webrtc::MouseCursorMonitor>(new FakeMouseCursorMonitor()); 695f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 705f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 715f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)std::string FakeDesktopEnvironment::GetCapabilities() const { 725f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return std::string(); 735f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 745f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 755f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeDesktopEnvironment::SetCapabilities(const std::string& capabilities) {} 765f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 775f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<GnubbyAuthHandler> FakeDesktopEnvironment::CreateGnubbyAuthHandler( 785f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) protocol::ClientStub* client_stub) { 795f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return scoped_ptr<GnubbyAuthHandler>(); 805f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 815f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 825f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeDesktopEnvironmentFactory::FakeDesktopEnvironmentFactory() {} 835f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)FakeDesktopEnvironmentFactory::~FakeDesktopEnvironmentFactory() {} 845f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 855f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// DesktopEnvironmentFactory implementation. 865f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)scoped_ptr<DesktopEnvironment> FakeDesktopEnvironmentFactory::Create( 875f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) base::WeakPtr<ClientSessionControl> client_session_control) { 885f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) scoped_ptr<FakeDesktopEnvironment> result(new FakeDesktopEnvironment()); 895f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) result->set_frame_generator(frame_generator_); 905f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return result.PassAs<DesktopEnvironment>(); 915f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 925f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 935f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeDesktopEnvironmentFactory::SetEnableCurtaining(bool enable) {} 945f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 955f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)bool FakeDesktopEnvironmentFactory::SupportsAudioCapture() const { 965f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return false; 975f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 985f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 995f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void FakeDesktopEnvironmentFactory::SetEnableGnubbyAuth(bool enable) {} 1005f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 1015f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 1025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace remoting 103