|
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * vim: sw=2 ts=8 et : |
|
3 */ |
|
4 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
5 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
7 |
|
8 #ifndef mozilla_ipc_Transport_h |
|
9 #define mozilla_ipc_Transport_h 1 |
|
10 |
|
11 #include "base/process_util.h" |
|
12 #include "chrome/common/ipc_channel.h" |
|
13 |
|
14 #ifdef OS_POSIX |
|
15 # include "mozilla/ipc/Transport_posix.h" |
|
16 #elif OS_WIN |
|
17 # include "mozilla/ipc/Transport_win.h" |
|
18 #endif |
|
19 |
|
20 namespace mozilla { |
|
21 namespace ipc { |
|
22 |
|
23 class FileDescriptor; |
|
24 |
|
25 typedef IPC::Channel Transport; |
|
26 |
|
27 bool CreateTransport(base::ProcessHandle aProcOne, base::ProcessHandle aProcTwo, |
|
28 TransportDescriptor* aOne, TransportDescriptor* aTwo); |
|
29 |
|
30 Transport* OpenDescriptor(const TransportDescriptor& aTd, |
|
31 Transport::Mode aMode); |
|
32 |
|
33 Transport* OpenDescriptor(const FileDescriptor& aFd, |
|
34 Transport::Mode aMode); |
|
35 |
|
36 void CloseDescriptor(const TransportDescriptor& aTd); |
|
37 |
|
38 } // namespace ipc |
|
39 } // namespace mozilla |
|
40 |
|
41 #endif // mozilla_ipc_Transport_h |