| Index: remoting/host/chromoting_host.h
|
| diff --git a/remoting/host/chromoting_host.h b/remoting/host/chromoting_host.h
|
| index ee745c84c9278264e7cac4dca50ee1f0d97a21c5..9391b4ef6bb297728c622489a44f63fefb7c0f94 100644
|
| --- a/remoting/host/chromoting_host.h
|
| +++ b/remoting/host/chromoting_host.h
|
| @@ -14,7 +14,6 @@
|
| #include "net/base/backoff_entry.h"
|
| #include "remoting/base/encoder.h"
|
| #include "remoting/host/client_session.h"
|
| -#include "remoting/host/desktop_environment.h"
|
| #include "remoting/host/host_key_pair.h"
|
| #include "remoting/host/host_status_observer.h"
|
| #include "remoting/host/mouse_move_observer.h"
|
| @@ -31,13 +30,8 @@ class SessionConfig;
|
| class CandidateSessionConfig;
|
| } // namespace protocol
|
|
|
| -class AudioEncoder;
|
| -class AudioScheduler;
|
| class ChromotingHostContext;
|
| -class DesktopEnvironment;
|
| -class Encoder;
|
| -class ScreenRecorder;
|
| -class VideoFrameCapturer;
|
| +class DesktopEnvironmentFactory;
|
|
|
| // A class to implement the functionality of a host process.
|
| //
|
| @@ -69,10 +63,11 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
|
| public:
|
| // The caller must ensure that |context|, |signal_strategy| and
|
| // |environment| out-live the host.
|
| - ChromotingHost(ChromotingHostContext* context,
|
| - SignalStrategy* signal_strategy,
|
| - DesktopEnvironment* environment,
|
| - scoped_ptr<protocol::SessionManager> session_manager);
|
| + ChromotingHost(
|
| + ChromotingHostContext* context,
|
| + SignalStrategy* signal_strategy,
|
| + DesktopEnvironmentFactory* desktop_environment_factory,
|
| + scoped_ptr<protocol::SessionManager> session_manager);
|
|
|
| // Asynchronously start the host process.
|
| //
|
| @@ -163,20 +158,9 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
|
| kStopped,
|
| };
|
|
|
| - // Creates encoder for the specified configuration.
|
| - static Encoder* CreateEncoder(const protocol::SessionConfig& config);
|
| -
|
| - // Creates an audio encoder for the specified configuration.
|
| - static scoped_ptr<AudioEncoder> CreateAudioEncoder(
|
| - const protocol::SessionConfig& config);
|
| -
|
| virtual ~ChromotingHost();
|
|
|
| - void StopScreenRecorder();
|
| - void StopAudioScheduler();
|
| - void OnRecorderStopped();
|
| -
|
| - // Called from Shutdown() or OnScreenRecorderStopped() to finish shutdown.
|
| + // Called from Shutdown() to finish shutdown.
|
| void ShutdownFinish();
|
|
|
| // Unless specified otherwise all members of this class must be
|
| @@ -184,7 +168,7 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
|
|
|
| // Parameters specified when the host was created.
|
| ChromotingHostContext* context_;
|
| - DesktopEnvironment* desktop_environment_;
|
| + DesktopEnvironmentFactory* desktop_environment_factory_;
|
| scoped_ptr<protocol::SessionManager> session_manager_;
|
|
|
| // Connection objects.
|
| @@ -196,16 +180,6 @@ class ChromotingHost : public base::RefCountedThreadSafe<ChromotingHost>,
|
| // The connections to remote clients.
|
| ClientList clients_;
|
|
|
| - // Schedulers for audio and video capture.
|
| - // TODO(sergeyu): Do we need to have one set of schedulers per client?
|
| - scoped_refptr<ScreenRecorder> recorder_;
|
| - scoped_refptr<AudioScheduler> audio_scheduler_;
|
| -
|
| - // Number of screen recorders and audio schedulers that are currently being
|
| - // stopped. Used to delay shutdown if one or more recorders/schedulers are
|
| - // asynchronously shutting down.
|
| - int stopping_recorders_;
|
| -
|
| // Tracks the internal state of the host.
|
| State state_;
|
|
|
|
|