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

Side by Side Diff: ipc/ipc_channel.h

Issue 553283002: IPC::ChannelMojo: Introduce IPC::MojoBootstrap for Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing windows build error Created 6 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 unified diff | Download patch
OLDNEW
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 IPC_IPC_CHANNEL_H_ 5 #ifndef IPC_IPC_CHANNEL_H_
6 #define IPC_IPC_CHANNEL_H_ 6 #define IPC_IPC_CHANNEL_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #if defined(OS_POSIX) 10 #if defined(OS_POSIX)
11 #include <sys/types.h> 11 #include <sys/types.h>
12 #endif 12 #endif
13 13
14 #include "base/compiler_specific.h" 14 #include "base/compiler_specific.h"
15 #include "base/process/process.h" 15 #include "base/process/process.h"
16 #include "base/process/process_handle.h"
16 #include "ipc/ipc_channel_handle.h" 17 #include "ipc/ipc_channel_handle.h"
17 #include "ipc/ipc_message.h" 18 #include "ipc/ipc_message.h"
18 #include "ipc/ipc_sender.h" 19 #include "ipc/ipc_sender.h"
19 20
20 namespace IPC { 21 namespace IPC {
21 22
22 class Listener; 23 class Listener;
23 24
24 //------------------------------------------------------------------------------ 25 //------------------------------------------------------------------------------
25 // See 26 // See
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 virtual base::ProcessId GetPeerPID() const = 0; 172 virtual base::ProcessId GetPeerPID() const = 0;
172 173
173 // Get its own process id. This value is told to the peer. 174 // Get its own process id. This value is told to the peer.
174 virtual base::ProcessId GetSelfPID() const = 0; 175 virtual base::ProcessId GetSelfPID() const = 0;
175 176
176 // Return connected ChannelHandle which the channel has owned. 177 // Return connected ChannelHandle which the channel has owned.
177 // This method transfers the ownership to the caller 178 // This method transfers the ownership to the caller
178 // so the channel isn't valid after the call. 179 // so the channel isn't valid after the call.
179 virtual ChannelHandle TakePipeHandle() WARN_UNUSED_RESULT = 0; 180 virtual ChannelHandle TakePipeHandle() WARN_UNUSED_RESULT = 0;
180 181
182 // Tell the server channel its client process handle.
viettrungluu 2014/09/15 20:19:43 "the" -> "a"
Hajime Morrita 2014/09/15 22:01:36 Done.
183 // A Channel implementation needs this to establish the connection
viettrungluu 2014/09/15 20:19:43 "needs" -> "may need"
Hajime Morrita 2014/09/15 22:01:36 Done.
184 // to the client. This only has to be called on server-side channel.
viettrungluu 2014/09/15 20:19:43 Probably be a little more explicit: "This only ...
Hajime Morrita 2014/09/15 22:01:36 Done.
185 virtual void OnClientLaunched(base::ProcessHandle handle);
186
181 // Send a message over the Channel to the listener on the other end. 187 // Send a message over the Channel to the listener on the other end.
182 // 188 //
183 // |message| must be allocated using operator new. This object will be 189 // |message| must be allocated using operator new. This object will be
184 // deleted once the contents of the Message have been sent. 190 // deleted once the contents of the Message have been sent.
185 virtual bool Send(Message* message) = 0; 191 virtual bool Send(Message* message) = 0;
186 192
187 #if defined(OS_POSIX) && !defined(OS_NACL) 193 #if defined(OS_POSIX) && !defined(OS_NACL)
188 // On POSIX an IPC::Channel wraps a socketpair(), this method returns the 194 // On POSIX an IPC::Channel wraps a socketpair(), this method returns the
189 // FD # for the client end of the socket. 195 // FD # for the client end of the socket.
190 // This method may only be called on the server side of a channel. 196 // This method may only be called on the server side of a channel.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 237
232 #if defined(OS_POSIX) 238 #if defined(OS_POSIX)
233 // SocketPair() creates a pair of socket FDs suitable for using with 239 // SocketPair() creates a pair of socket FDs suitable for using with
234 // IPC::Channel. 240 // IPC::Channel.
235 IPC_EXPORT bool SocketPair(int* fd1, int* fd2); 241 IPC_EXPORT bool SocketPair(int* fd1, int* fd2);
236 #endif 242 #endif
237 243
238 } // namespace IPC 244 } // namespace IPC
239 245
240 #endif // IPC_IPC_CHANNEL_H_ 246 #endif // IPC_IPC_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698