Index: remoting/host/win/wts_session_process_launcher.h |
diff --git a/remoting/host/win/wts_session_process_launcher.h b/remoting/host/win/wts_session_process_launcher.h |
index d52d98f54bd704cba3963ce70797d7357ba45505..c4dce87d03eaefb741db2238665685f17de49011 100644 |
--- a/remoting/host/win/wts_session_process_launcher.h |
+++ b/remoting/host/win/wts_session_process_launcher.h |
@@ -18,11 +18,11 @@ |
#include "base/win/scoped_handle.h" |
#include "base/win/object_watcher.h" |
#include "ipc/ipc_channel.h" |
- |
+#include "remoting/base/stoppable.h" |
#include "remoting/host/win/wts_console_observer.h" |
namespace base { |
-class MessageLoopProxy; |
+class SingleThreadTaskRunner; |
} // namespace base |
namespace IPC { |
@@ -39,7 +39,8 @@ class SasInjector; |
class WtsConsoleMonitor; |
class WtsSessionProcessLauncher |
- : public base::win::ObjectWatcher::Delegate, |
+ : public Stoppable, |
+ public base::win::ObjectWatcher::Delegate, |
public IPC::Listener, |
public WtsConsoleObserver { |
public: |
@@ -48,10 +49,11 @@ class WtsSessionProcessLauncher |
// |monitor| should happen on |main_message_loop|. |ipc_message_loop| has |
// to be an I/O message loop. |
WtsSessionProcessLauncher( |
+ const base::Closure& stopped_callback, |
WtsConsoleMonitor* monitor, |
const FilePath& host_binary, |
- scoped_refptr<base::MessageLoopProxy> main_message_loop, |
- scoped_refptr<base::MessageLoopProxy> ipc_message_loop); |
+ scoped_refptr<base::SingleThreadTaskRunner> main_message_loop, |
+ scoped_refptr<base::SingleThreadTaskRunner> ipc_message_loop); |
virtual ~WtsSessionProcessLauncher(); |
@@ -65,6 +67,10 @@ class WtsSessionProcessLauncher |
virtual void OnSessionAttached(uint32 session_id) OVERRIDE; |
virtual void OnSessionDetached() OVERRIDE; |
+ protected: |
+ // Stoppable implementation. |
+ virtual void DoStop() OVERRIDE; |
+ |
private: |
// Attempts to launch the host process in the current console session. |
// Schedules next launch attempt if creation of the process fails for any |
@@ -88,10 +94,10 @@ class WtsSessionProcessLauncher |
base::OneShotTimer<WtsSessionProcessLauncher> timer_; |
// The main service message loop. |
- scoped_refptr<base::MessageLoopProxy> main_message_loop_; |
+ scoped_refptr<base::SingleThreadTaskRunner> main_message_loop_; |
// Message loop used by the IPC channel. |
- scoped_refptr<base::MessageLoopProxy> ipc_message_loop_; |
+ scoped_refptr<base::SingleThreadTaskRunner> ipc_message_loop_; |
// This pointer is used to unsubscribe from session attach and detach events. |
WtsConsoleMonitor* monitor_; |