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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: remoting/host/win/session_desktop_environment_factory.cc
diff --git a/remoting/host/win/session_desktop_environment_factory.cc b/remoting/host/win/session_desktop_environment_factory.cc
index e0c8fb795779d1f074ec269ac4cc7302039a327c..142c965a796c2367e107e34013b1b7d8666cb666 100644
--- a/remoting/host/win/session_desktop_environment_factory.cc
+++ b/remoting/host/win/session_desktop_environment_factory.cc
@@ -5,37 +5,43 @@
#include "remoting/host/win/session_desktop_environment_factory.h"
#include "base/single_thread_task_runner.h"
-#include "remoting/capturer/video_frame_capturer.h"
-#include "remoting/host/audio_capturer.h"
-#include "remoting/host/chromoting_host_context.h"
-#include "remoting/host/desktop_environment.h"
#include "remoting/host/event_executor.h"
+#include "remoting/host/local_desktop_environment.h"
#include "remoting/host/win/session_event_executor.h"
namespace remoting {
-SessionDesktopEnvironmentFactory::SessionDesktopEnvironmentFactory(
+namespace {
+
+scoped_ptr<EventExecutor> CreateSessionEventExecutor(
+ base::Closure inject_sas,
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
+ scoped_ptr<EventExecutor> event_executor = EventExecutor::Create(
+ input_task_runner, ui_task_runner);
+ event_executor.reset(new SessionEventExecutorWin(
+ input_task_runner, event_executor.Pass(), ui_task_runner, inject_sas));
+ return event_executor.Pass();
+}
+
+} // namespace
+
+SessionDesktopEnvironmentFactory::SessionDesktopEnvironmentFactory(
+ scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
const base::Closure& inject_sas)
- : DesktopEnvironmentFactory(input_task_runner, ui_task_runner),
+ : DesktopEnvironmentFactory(caller_task_runner),
inject_sas_(inject_sas) {
}
SessionDesktopEnvironmentFactory::~SessionDesktopEnvironmentFactory() {
}
-scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create() {
- scoped_ptr<AudioCapturer> audio_capturer = AudioCapturer::Create();
- scoped_ptr<EventExecutor> event_executor = EventExecutor::Create(
- input_task_runner_, ui_task_runner_);
- event_executor.reset(new SessionEventExecutorWin(
- input_task_runner_, event_executor.Pass(), ui_task_runner_, inject_sas_));
- scoped_ptr<VideoFrameCapturer> video_capturer(VideoFrameCapturer::Create());
- return scoped_ptr<DesktopEnvironment>(new DesktopEnvironment(
- audio_capturer.Pass(),
- event_executor.Pass(),
- video_capturer.Pass()));
+scoped_ptr<DesktopEnvironment> SessionDesktopEnvironmentFactory::Create(
+ const std::string& client_jid,
+ const base::Closure& disconnect_callback) {
+ return scoped_ptr<DesktopEnvironment>(new LocalDesktopEnvironment(
+ caller_task_runner(),
+ base::Bind(&CreateSessionEventExecutor, inject_sas_)));
}
} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698