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

Side by Side Diff: ipc/ipc_channel_nacl.cc

Issue 2493623002: Remove IPC::Endpoint. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « ipc/ipc_channel_nacl.h ('k') | ipc/ipc_channel_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "ipc/ipc_channel_nacl.h" 5 #include "ipc/ipc_channel_nacl.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <sys/types.h> 10 #include <sys/types.h>
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 LOG(WARNING) << "Unable to create pipe named \"" << channel_handle.name 137 LOG(WARNING) << "Unable to create pipe named \"" << channel_handle.name
138 << "\" in " << modestr << " mode"; 138 << "\" in " << modestr << " mode";
139 } 139 }
140 } 140 }
141 141
142 ChannelNacl::~ChannelNacl() { 142 ChannelNacl::~ChannelNacl() {
143 CleanUp(); 143 CleanUp();
144 Close(); 144 Close();
145 } 145 }
146 146
147 base::ProcessId ChannelNacl::GetPeerPID() const {
148 // This shouldn't actually get used in the untrusted side of the proxy, and we
149 // don't have the real pid anyway.
150 return -1;
151 }
152
153 bool ChannelNacl::Connect() { 147 bool ChannelNacl::Connect() {
154 WillConnect(); 148 WillConnect();
155 149
156 if (pipe_ == -1) { 150 if (pipe_ == -1) {
157 DLOG(WARNING) << "Channel creation failed: " << pipe_name_; 151 DLOG(WARNING) << "Channel creation failed: " << pipe_name_;
158 return false; 152 return false;
159 } 153 }
160 154
161 // Note that Connect is called on the "Channel" thread (i.e., the same thread 155 // Note that Connect is called on the "Channel" thread (i.e., the same thread
162 // where Channel::Send will be called, and the same thread that should receive 156 // where Channel::Send will be called, and the same thread that should receive
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } 302 }
309 303
310 // Message sent OK! 304 // Message sent OK!
311 DVLOG(2) << "sent message @" << msg.get() << " with type " << msg->type() 305 DVLOG(2) << "sent message @" << msg.get() << " with type " << msg->type()
312 << " on fd " << pipe_; 306 << " on fd " << pipe_;
313 } 307 }
314 return true; 308 return true;
315 } 309 }
316 310
317 void ChannelNacl::CallOnChannelConnected() { 311 void ChannelNacl::CallOnChannelConnected() {
318 listener()->OnChannelConnected(GetPeerPID()); 312 listener()->OnChannelConnected(-1);
319 } 313 }
320 314
321 ChannelNacl::ReadState ChannelNacl::ReadData( 315 ChannelNacl::ReadState ChannelNacl::ReadData(
322 char* buffer, 316 char* buffer,
323 int buffer_len, 317 int buffer_len,
324 int* bytes_read) { 318 int* bytes_read) {
325 *bytes_read = 0; 319 *bytes_read = 0;
326 if (pipe_ == -1) 320 if (pipe_ == -1)
327 return READ_FAILED; 321 return READ_FAILED;
328 if (read_queue_.empty()) 322 if (read_queue_.empty())
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 // When the input data buffer is empty, the fds should be too. 365 // When the input data buffer is empty, the fds should be too.
372 return input_fds_.empty(); 366 return input_fds_.empty();
373 } 367 }
374 368
375 void ChannelNacl::HandleInternalMessage(const Message& msg) { 369 void ChannelNacl::HandleInternalMessage(const Message& msg) {
376 // The trusted side IPC::Channel should handle the "hello" handshake; we 370 // The trusted side IPC::Channel should handle the "hello" handshake; we
377 // should not receive the "Hello" message. 371 // should not receive the "Hello" message.
378 NOTREACHED(); 372 NOTREACHED();
379 } 373 }
380 374
381 base::ProcessId ChannelNacl::GetSenderPID() {
382 // The untrusted side of the IPC::Channel should never have to worry about
383 // sender's process id.
384 return base::kNullProcessId;
385 }
386
387 // Channel's methods 375 // Channel's methods
388 376
389 // static 377 // static
390 std::unique_ptr<Channel> Channel::Create( 378 std::unique_ptr<Channel> Channel::Create(
391 const IPC::ChannelHandle& channel_handle, 379 const IPC::ChannelHandle& channel_handle,
392 Mode mode, 380 Mode mode,
393 Listener* listener) { 381 Listener* listener) {
394 return base::WrapUnique(new ChannelNacl(channel_handle, mode, listener)); 382 return base::WrapUnique(new ChannelNacl(channel_handle, mode, listener));
395 } 383 }
396 384
397 } // namespace IPC 385 } // namespace IPC
OLDNEW
« no previous file with comments | « ipc/ipc_channel_nacl.h ('k') | ipc/ipc_channel_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698