OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ | 5 #ifndef REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ |
6 #define REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ | 6 #define REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 18 matching lines...) Expand all Loading... |
29 // Implements logic for launching and monitoring a worker process in a different | 29 // Implements logic for launching and monitoring a worker process in a different |
30 // session. | 30 // session. |
31 class WtsSessionProcessDelegate | 31 class WtsSessionProcessDelegate |
32 : public base::NonThreadSafe, | 32 : public base::NonThreadSafe, |
33 public WorkerProcessLauncher::Delegate { | 33 public WorkerProcessLauncher::Delegate { |
34 public: | 34 public: |
35 WtsSessionProcessDelegate( | 35 WtsSessionProcessDelegate( |
36 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, | 36 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, |
37 std::unique_ptr<base::CommandLine> target, | 37 std::unique_ptr<base::CommandLine> target, |
38 bool launch_elevated, | 38 bool launch_elevated, |
39 const std::string& channel_security, | 39 const std::string& channel_security); |
40 const std::string& new_process_security); | |
41 ~WtsSessionProcessDelegate() override; | 40 ~WtsSessionProcessDelegate() override; |
42 | 41 |
43 // Initializes the object returning true on success. | 42 // Initializes the object returning true on success. |
44 bool Initialize(uint32_t session_id); | 43 bool Initialize(uint32_t session_id); |
45 | 44 |
46 // WorkerProcessLauncher::Delegate implementation. | 45 // WorkerProcessLauncher::Delegate implementation. |
47 void LaunchProcess(WorkerProcessLauncher* event_handler) override; | 46 void LaunchProcess(WorkerProcessLauncher* event_handler) override; |
48 void Send(IPC::Message* message) override; | 47 void Send(IPC::Message* message) override; |
49 void CloseChannel() override; | 48 void CloseChannel() override; |
50 void KillProcess() override; | 49 void KillProcess() override; |
51 | 50 |
52 private: | 51 private: |
53 // The actual implementation resides in WtsSessionProcessDelegate::Core class. | 52 // The actual implementation resides in WtsSessionProcessDelegate::Core class. |
54 class Core; | 53 class Core; |
55 scoped_refptr<Core> core_; | 54 scoped_refptr<Core> core_; |
56 | 55 |
57 DISALLOW_COPY_AND_ASSIGN(WtsSessionProcessDelegate); | 56 DISALLOW_COPY_AND_ASSIGN(WtsSessionProcessDelegate); |
58 }; | 57 }; |
59 | 58 |
60 } // namespace remoting | 59 } // namespace remoting |
61 | 60 |
62 #endif // REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ | 61 #endif // REMOTING_HOST_WIN_WTS_SESSION_PROCESS_DELEGATE_H_ |
OLD | NEW |