1// Copyright 2014 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#ifndef REMOTING_HOST_SINGLE_WINDOW_DESKTOP_ENVIRONMENT_H_ 6#define REMOTING_HOST_SINGLE_WINDOW_DESKTOP_ENVIRONMENT_H_ 7 8#include "remoting/host/basic_desktop_environment.h" 9#include "third_party/webrtc/modules/desktop_capture/desktop_capture_types.h" 10 11namespace remoting { 12 13// Passed to the ChromotingHost to remote an individual window's contents, 14// rather than a whole desktop. 15class SingleWindowDesktopEnvironmentFactory 16 : public BasicDesktopEnvironmentFactory { 17 public: 18 SingleWindowDesktopEnvironmentFactory( 19 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 20 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 21 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, 22 webrtc::WindowId window_id); 23 virtual ~SingleWindowDesktopEnvironmentFactory(); 24 25 // DesktopEnvironmentFactory interface. 26 virtual scoped_ptr<DesktopEnvironment> Create( 27 base::WeakPtr<ClientSessionControl> client_session_control) OVERRIDE; 28 29 private: 30 webrtc::WindowId window_id_; 31 32 DISALLOW_COPY_AND_ASSIGN(SingleWindowDesktopEnvironmentFactory); 33}; 34 35} // namespace remoting 36 37#endif // REMOTING_HOST_SINGLE_WINDOW_DESKTOP_ENVIRONMENT_H_ 38