| 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..994d016dfa347cbfd8a64cf6841c33ea1259c033 100644
|
| --- a/remoting/host/win/launch_process_with_token.h
|
| +++ b/remoting/host/win/launch_process_with_token.h
|
| @@ -10,19 +10,45 @@
|
|
|
| #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 {
|
|
|
| +// 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);
|
|
|