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 IPC_IPC_CHANNEL_NACL_H_ | 5 #ifndef IPC_IPC_CHANNEL_NACL_H_ |
6 #define IPC_IPC_CHANNEL_NACL_H_ | 6 #define IPC_IPC_CHANNEL_NACL_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/memory/linked_ptr.h" | 13 #include "base/memory/linked_ptr.h" |
14 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
15 #include "base/process/process.h" | 15 #include "base/process/process.h" |
16 #include "base/threading/simple_thread.h" | 16 #include "base/threading/simple_thread.h" |
17 #include "ipc/ipc_channel.h" | 17 #include "ipc/ipc_channel.h" |
18 #include "ipc/ipc_channel_reader.h" | 18 #include "ipc/ipc_channel_reader.h" |
19 | 19 |
20 namespace IPC { | 20 namespace IPC { |
21 | 21 |
| 22 class MessageAttachment; |
| 23 |
22 // Contains the results from one call to imc_recvmsg (data and file | 24 // Contains the results from one call to imc_recvmsg (data and file |
23 // descriptors). | 25 // descriptors). |
24 struct MessageContents; | 26 struct MessageContents; |
25 | 27 |
26 // Similar to the ChannelPosix but for Native Client code. | 28 // Similar to the ChannelPosix but for Native Client code. |
27 // This is somewhat different because sendmsg/recvmsg here do not follow POSIX | 29 // This is somewhat different because sendmsg/recvmsg here do not follow POSIX |
28 // semantics. Instead, they are implemented by a custom embedding of | 30 // semantics. Instead, they are implemented by a custom embedding of |
29 // NaClDescCustom. See NaClIPCAdapter for the trusted-side implementation. | 31 // NaClDescCustom. See NaClIPCAdapter for the trusted-side implementation. |
30 // | 32 // |
31 // We don't need to worry about complicated set up and READWRITE mode for | 33 // We don't need to worry about complicated set up and READWRITE mode for |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 std::deque<linked_ptr<Message> > output_queue_; | 106 std::deque<linked_ptr<Message> > output_queue_; |
105 | 107 |
106 base::WeakPtrFactory<ChannelNacl> weak_ptr_factory_; | 108 base::WeakPtrFactory<ChannelNacl> weak_ptr_factory_; |
107 | 109 |
108 DISALLOW_IMPLICIT_CONSTRUCTORS(ChannelNacl); | 110 DISALLOW_IMPLICIT_CONSTRUCTORS(ChannelNacl); |
109 }; | 111 }; |
110 | 112 |
111 } // namespace IPC | 113 } // namespace IPC |
112 | 114 |
113 #endif // IPC_IPC_CHANNEL_NACL_H_ | 115 #endif // IPC_IPC_CHANNEL_NACL_H_ |
OLD | NEW |