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

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

Issue 10911267: [Chromoting] Don't use a job object to control the me2me host process on Windows XP. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: made compilable on VS2008. Created 8 years, 3 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
« no previous file with comments | « no previous file | remoting/host/win/wts_session_process_launcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 097e5884106e718c20844c28fb2c7765bc79677a..040a4f3bf80d5a813837d78322353248ba95d822 100644
--- a/remoting/host/win/wts_session_process_launcher.h
+++ b/remoting/host/win/wts_session_process_launcher.h
@@ -31,12 +31,11 @@ class SingleThreadTaskRunner;
namespace remoting {
class WtsConsoleMonitor;
+class WtsSessionProcessLauncherImpl;
class WtsSessionProcessLauncher
- : public base::MessagePumpForIO::IOHandler,
- public Stoppable,
+ : public Stoppable,
public WorkerProcessIpcDelegate,
- public WorkerProcessLauncher::Delegate,
public WtsConsoleObserver {
public:
// Constructs a WtsSessionProcessLauncher object. |stopped_callback| and
@@ -51,21 +50,10 @@ class WtsSessionProcessLauncher
virtual ~WtsSessionProcessLauncher();
- // base::MessagePumpForIO::IOHandler implementation.
- virtual void OnIOCompleted(base::MessagePumpForIO::IOContext* context,
- DWORD bytes_transferred,
- DWORD error) OVERRIDE;
-
// WorkerProcessIpcDelegate implementation.
virtual void OnChannelConnected() OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
- // WorkerProcessLauncher::Delegate implementation.
- virtual bool DoLaunchProcess(
- const std::string& channel_name,
- base::win::ScopedHandle* process_exit_event_out) OVERRIDE;
- virtual void DoKillProcess(DWORD exit_code) OVERRIDE;
-
// WtsConsoleObserver implementation.
virtual void OnSessionAttached(uint32 session_id) OVERRIDE;
virtual void OnSessionDetached() OVERRIDE;
@@ -75,22 +63,6 @@ class WtsSessionProcessLauncher
virtual void DoStop() OVERRIDE;
private:
- // Drains the completion port queue to make sure that all job object
- // notifications has been received.
- void DrainJobNotifications();
-
- // Notifies that the completion port queue has been drained.
- void DrainJobNotificationsCompleted();
-
- // Creates and initializes the job object that will sandbox the launched child
- // processes.
- void InitializeJob();
-
- // Notifies that the job object initialization is complete.
- void InitializeJobCompleted(scoped_ptr<base::win::ScopedHandle> job);
-
- void OnJobNotification(DWORD message, DWORD pid);
-
// Attempts to launch the host process in the current console session.
// Schedules next launch attempt if creation of the process fails for any
// reason.
@@ -102,6 +74,10 @@ class WtsSessionProcessLauncher
// |true| if this object is currently attached to the console session.
bool attached_;
+ // The specific code knowing how to launch and control a child process
+ // implemented by |WtsSessionProcessLauncherImpl|.
+ scoped_refptr<WtsSessionProcessLauncherImpl> impl_;
+
// Time of the last launch attempt.
base::Time launch_time_;
@@ -122,27 +98,6 @@ class WtsSessionProcessLauncher
scoped_ptr<WorkerProcessLauncher> launcher_;
- // The job object used to control the lifetime of child processes.
- base::win::ScopedHandle job_;
-
- // A waiting handle that becomes signalled once all process associated with
- // the job have been terminated.
- base::win::ScopedHandle process_exit_event_;
-
- enum JobState {
- kJobUninitialized,
- kJobRunning,
- kJobStopping,
- kJobStopped
- };
-
- JobState job_state_;
-
- base::win::ScopedHandle worker_process_;
-
- // The token to be used to launch a process in a different session.
- base::win::ScopedHandle session_token_;
-
DISALLOW_COPY_AND_ASSIGN(WtsSessionProcessLauncher);
};
« no previous file with comments | « no previous file | remoting/host/win/wts_session_process_launcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698