| 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_PROXY_H_ | 5 #ifndef IPC_IPC_CHANNEL_PROXY_H_ |
| 6 #define IPC_IPC_CHANNEL_PROXY_H_ | 6 #define IPC_IPC_CHANNEL_PROXY_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 void AddFilter(MessageFilter* filter); | 112 void AddFilter(MessageFilter* filter); |
| 113 void RemoveFilter(MessageFilter* filter); | 113 void RemoveFilter(MessageFilter* filter); |
| 114 | 114 |
| 115 // Called to clear the pointer to the IPC task runner when it's going away. | 115 // Called to clear the pointer to the IPC task runner when it's going away. |
| 116 void ClearIPCTaskRunner(); | 116 void ClearIPCTaskRunner(); |
| 117 | 117 |
| 118 // Get the process ID for the connected peer. | 118 // Get the process ID for the connected peer. |
| 119 // Returns base::kNullProcessId if the peer is not connected yet. | 119 // Returns base::kNullProcessId if the peer is not connected yet. |
| 120 base::ProcessId GetPeerPID() const { return context_->peer_pid_; } | 120 base::ProcessId GetPeerPID() const { return context_->peer_pid_; } |
| 121 | 121 |
| 122 // Tell the client process handle to the server channel. |
| 123 // See Channel::OnClientLaunched for details. |
| 124 void OnClientLaunched(base::ProcessHandle handle); |
| 125 |
| 122 #if defined(OS_POSIX) && !defined(OS_NACL) | 126 #if defined(OS_POSIX) && !defined(OS_NACL) |
| 123 // Calls through to the underlying channel's methods. | 127 // Calls through to the underlying channel's methods. |
| 124 int GetClientFileDescriptor(); | 128 int GetClientFileDescriptor(); |
| 125 int TakeClientFileDescriptor(); | 129 int TakeClientFileDescriptor(); |
| 126 #endif // defined(OS_POSIX) | 130 #endif // defined(OS_POSIX) |
| 127 | 131 |
| 128 protected: | 132 protected: |
| 129 class Context; | 133 class Context; |
| 130 // A subclass uses this constructor if it needs to add more information | 134 // A subclass uses this constructor if it needs to add more information |
| 131 // to the internal state. | 135 // to the internal state. |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 friend class ChannelProxy; | 183 friend class ChannelProxy; |
| 180 friend class SendCallbackHelper; | 184 friend class SendCallbackHelper; |
| 181 | 185 |
| 182 // Create the Channel | 186 // Create the Channel |
| 183 void CreateChannel(scoped_ptr<ChannelFactory> factory); | 187 void CreateChannel(scoped_ptr<ChannelFactory> factory); |
| 184 | 188 |
| 185 // Methods called on the IO thread. | 189 // Methods called on the IO thread. |
| 186 void OnSendMessage(scoped_ptr<Message> message_ptr); | 190 void OnSendMessage(scoped_ptr<Message> message_ptr); |
| 187 void OnAddFilter(); | 191 void OnAddFilter(); |
| 188 void OnRemoveFilter(MessageFilter* filter); | 192 void OnRemoveFilter(MessageFilter* filter); |
| 193 void OnClientLaunched(base::ProcessHandle); |
| 189 | 194 |
| 190 // Methods called on the listener thread. | 195 // Methods called on the listener thread. |
| 191 void AddFilter(MessageFilter* filter); | 196 void AddFilter(MessageFilter* filter); |
| 192 void OnDispatchConnected(); | 197 void OnDispatchConnected(); |
| 193 void OnDispatchError(); | 198 void OnDispatchError(); |
| 194 void OnDispatchBadMessage(const Message& message); | 199 void OnDispatchBadMessage(const Message& message); |
| 195 | 200 |
| 196 scoped_refptr<base::SingleThreadTaskRunner> listener_task_runner_; | 201 scoped_refptr<base::SingleThreadTaskRunner> listener_task_runner_; |
| 197 Listener* listener_; | 202 Listener* listener_; |
| 198 | 203 |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 // that involves this data. | 237 // that involves this data. |
| 233 scoped_refptr<Context> context_; | 238 scoped_refptr<Context> context_; |
| 234 | 239 |
| 235 // Whether the channel has been initialized. | 240 // Whether the channel has been initialized. |
| 236 bool did_init_; | 241 bool did_init_; |
| 237 }; | 242 }; |
| 238 | 243 |
| 239 } // namespace IPC | 244 } // namespace IPC |
| 240 | 245 |
| 241 #endif // IPC_IPC_CHANNEL_PROXY_H_ | 246 #endif // IPC_IPC_CHANNEL_PROXY_H_ |
| OLD | NEW |