Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Side by Side Diff: remoting/host/win/session_desktop_environment_factory.cc

Issue 11778049: Making DesktopEnvironment a factory class used by ClientSession to create audio/video capturers and… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/win/session_desktop_environment_factory.h" 5 #include "remoting/host/win/session_desktop_environment_factory.h"
6 6
7 #include "base/single_thread_task_runner.h" 7 #include "base/single_thread_task_runner.h"
8 #include "remoting/capturer/video_frame_capturer.h"
9 #include "remoting/host/audio_capturer.h"
10 #include "remoting/host/chromoting_host_context.h"
11 #include "remoting/host/desktop_environment.h"
12 #include "remoting/host/event_executor.h" 8 #include "remoting/host/event_executor.h"
9 #include "remoting/host/local_desktop_environment.h"
13 #include "remoting/host/win/session_event_executor.h" 10 #include "remoting/host/win/session_event_executor.h"
14 11
15 namespace remoting { 12 namespace remoting {
16 13
14 namespace {
15
16 scoped_ptr<EventExecutor> CreateSessionEventExecutor(
17 base::Closure inject_sas,
18 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
19 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
20 scoped_ptr<EventExecutor> event_executor = EventExecutor::Create(
21 input_task_runner, ui_task_runner);
22 event_executor.reset(new SessionEventExecutorWin(
23 input_task_runner, event_executor.Pass(), ui_task_runner, inject_sas));
24 return event_executor.Pass();
25 }
26
27 } // namespace
28
17 SessionDesktopEnvironmentFactory::SessionDesktopEnvironmentFactory( 29 SessionDesktopEnvironmentFactory::SessionDesktopEnvironmentFactory(
18 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 30 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
19 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
20 const base::Closure& inject_sas) 31 const base::Closure& inject_sas)
21 : DesktopEnvironmentFactory(input_task_runner, ui_task_runner), 32 : DesktopEnvironmentFactory(caller_task_runner),
22 inject_sas_(inject_sas) { 33 inject_sas_(inject_sas) {
23 } 34 }
24 35
25 SessionDesktopEnvironmentFactory::~SessionDesktopEnvironmentFactory() { 36 SessionDesktopEnvironmentFactory::~SessionDesktopEnvironmentFactory() {
26 } 37 }
27 38
28 scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create() { 39 scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create(
29 scoped_ptr<AudioCapturer> audio_capturer = AudioCapturer::Create(); 40 const std::string& client_jid,
30 scoped_ptr<EventExecutor> event_executor = EventExecutor::Create( 41 const base::Closure& disconnect_callback) {
31 input_task_runner_, ui_task_runner_); 42 return scoped_ptr<DesktopEnvironment>(new LocalDesktopEnvironment(
32 event_executor.reset(new SessionEventExecutorWin( 43 caller_task_runner(),
33 input_task_runner_, event_executor.Pass(), ui_task_runner_, inject_sas_)); 44 base::Bind(&CreateSessionEventExecutor, inject_sas_)));
34 scoped_ptr<VideoFrameCapturer> video_capturer(VideoFrameCapturer::Create());
35 return scoped_ptr<DesktopEnvironment>(new DesktopEnvironment(
36 audio_capturer.Pass(),
37 event_executor.Pass(),
38 video_capturer.Pass()));
39 } 45 }
40 46
41 } // namespace remoting 47 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698