| Index: remoting/host/ipc_desktop_environment_factory.h
|
| diff --git a/remoting/host/ipc_desktop_environment_factory.h b/remoting/host/ipc_desktop_environment_factory.h
|
| index 17ee31478fd08d333979f6f7349f923bac5447a4..80bc9447dbbe87993c4642aafd97448a1e395813 100644
|
| --- a/remoting/host/ipc_desktop_environment_factory.h
|
| +++ b/remoting/host/ipc_desktop_environment_factory.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "remoting/host/desktop_environment_factory.h"
|
| #include "remoting/host/desktop_session_connector.h"
|
|
|
| @@ -30,15 +31,13 @@ class IpcDesktopEnvironmentFactory
|
| // Passes a reference to the IPC channel connected to the daemon process and
|
| // relevant task runners. |daemon_channel| must outlive this object.
|
| IpcDesktopEnvironmentFactory(
|
| - IPC::ChannelProxy* daemon_channel,
|
| - scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner);
|
| + scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
|
| + IPC::ChannelProxy* daemon_channel);
|
| virtual ~IpcDesktopEnvironmentFactory();
|
|
|
| - virtual scoped_ptr<DesktopEnvironment> Create() OVERRIDE;
|
| + virtual scoped_ptr<DesktopEnvironment> Create(
|
| + const std::string& client_jid,
|
| + const base::Closure& disconnect_callback) OVERRIDE;
|
|
|
| // DesktopSessionConnector implementation.
|
| virtual void ConnectTerminal(
|
| @@ -52,23 +51,20 @@ class IpcDesktopEnvironmentFactory
|
| virtual void OnTerminalDisconnected(int terminal_id) OVERRIDE;
|
|
|
| private:
|
| + // Task runner on which public methods of this class should be called.
|
| + scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
|
| +
|
| // IPC channel connected to the daemon process.
|
| IPC::ChannelProxy* daemon_channel_;
|
|
|
| - // Task runner used to run the audio capturer.
|
| - scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner_;
|
| -
|
| - // Task runner used to service calls to the DesktopSessionConnector APIs.
|
| - scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
|
| -
|
| - // Task runner used to run the video capturer.
|
| - scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner_;
|
| -
|
| // List of DesktopEnvironment instances we've told the daemon process about.
|
| typedef std::map<int, scoped_refptr<DesktopSessionProxy> >
|
| ActiveConnectionsList;
|
| ActiveConnectionsList active_connections_;
|
|
|
| + // Factory for weak pointers to DesktopSessionConnector interface.
|
| + base::WeakPtrFactory<DesktopSessionConnector> connector_factory_;
|
| +
|
| // Next desktop session ID. IDs are allocated sequentially starting from 0.
|
| // This gives us more than 67 years of unique IDs assuming a new ID is
|
| // allocated every second.
|
|
|