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

Unified Diff: remoting/host/win/host_service.h

Issue 10796099: Introducing remoting::Stoppable helper base class implementing asynchronous shutdown on a specific t (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing case of the include file name. Created 8 years, 5 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/host_service.h
diff --git a/remoting/host/win/host_service.h b/remoting/host/win/host_service.h
index ff6d1d736b75406a8bc16d08c721f2ee6f9c7267..7dacfd3f762d0e1c18c7b020d6721d93063fba32 100644
--- a/remoting/host/win/host_service.h
+++ b/remoting/host/win/host_service.h
@@ -8,18 +8,24 @@
#include <windows.h>
#include "base/file_path.h"
+#include "base/memory/ref_counted.h"
#include "base/memory/singleton.h"
#include "base/observer_list.h"
#include "base/synchronization/waitable_event.h"
-
#include "remoting/host/win/wts_console_monitor.h"
class CommandLine;
class MessageLoop;
+namespace base {
+class SingleThreadTaskRunner;
+} // namespace base
+
namespace remoting {
+class Stoppable;
class WtsConsoleObserver;
+class WtsSessionProcessLauncher;
class HostService : public WtsConsoleMonitor {
public:
@@ -40,12 +46,14 @@ class HostService : public WtsConsoleMonitor {
HostService();
~HostService();
+ void OnLauncherShutdown();
+
// Notifies the service of changes in session state.
void OnSessionChange();
// This is a common entry point to the main service loop called by both
// RunAsService() and RunInConsole().
- void RunMessageLoop();
+ void RunMessageLoop(MessageLoop* message_loop);
// This function handshakes with the service control manager and starts
// the service.
@@ -78,11 +86,13 @@ class HostService : public WtsConsoleMonitor {
// to the physical console.
ObserverList<WtsConsoleObserver> console_observers_;
+ scoped_ptr<WtsSessionProcessLauncher> launcher_;
+
// The host binary name.
FilePath host_binary_;
// Service message loop.
- MessageLoop* message_loop_;
+ scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
// The action routine to be executed.
int (HostService::*run_routine_)();
@@ -93,9 +103,6 @@ class HostService : public WtsConsoleMonitor {
// The service status handle.
SERVICE_STATUS_HANDLE service_status_handle_;
- // True if the service is being stopped.
- bool shutting_down_;
-
// A waitable event that is used to wait until the service is stopped.
base::WaitableEvent stopped_event_;

Powered by Google App Engine
This is Rietveld 408576698