Index: remoting/host/win/launch_process_with_token.h |
diff --git a/remoting/host/win/launch_process_with_token.h b/remoting/host/win/launch_process_with_token.h |
index 8f462199b893db7ae9d7761038a9f581f1471c7f..8130eacc2ed7471325e46c62bc4e5bfdd19bfa3b 100644 |
--- a/remoting/host/win/launch_process_with_token.h |
+++ b/remoting/host/win/launch_process_with_token.h |
@@ -10,19 +10,49 @@ |
#include "base/command_line.h" |
#include "base/file_path.h" |
+#include "base/memory/ref_counted.h" |
+#include "base/memory/scoped_ptr.h" |
#include "base/win/scoped_handle.h" |
+namespace base { |
+class SingleThreadTaskRunner; |
+} // namespace base |
+ |
+namespace IPC { |
+class ChannelProxy; |
+class Listener; |
+} // namespace IPC |
+ |
namespace remoting { |
+// Pipe name prefix used by Chrome IPC channels to convert a channel name into |
+// a pipe name. |
+extern const char kChromePipeNamePrefix[]; |
+ |
+// Creates the server end of the IPC channel and applies the security |
+// descriptor |pipe_security_descriptor| to it. The created channel proxy will |
+// invoke methods of |delegate| on the calling thread while using |
+// |io_task_runner| to send and receive messages in the background. |
+bool CreateIpcChannel( |
+ const std::string& channel_name, |
+ const std::string& pipe_security_descriptor, |
+ scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, |
+ IPC::Listener* delegate, |
+ scoped_ptr<IPC::ChannelProxy>* channel_out); |
+ |
// Creates a copy of the current process token for the given |session_id| so |
// it can be used to launch a process in that session. |
bool CreateSessionToken(uint32 session_id, base::win::ScopedHandle* token_out); |
+// Generates a unique IPC channel name. |
+std::string GenerateIpcChannelName(void* client); |
+ |
// Launches |binary| in the security context of the user represented by |
// |user_token|. The session ID specified by the token is respected as well. |
bool LaunchProcessWithToken(const FilePath& binary, |
const CommandLine::StringType& command_line, |
HANDLE user_token, |
+ bool inherit_handles, |
DWORD creation_flags, |
base::win::ScopedHandle* process_out, |
base::win::ScopedHandle* thread_out); |