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

Side by Side Diff: device/serial/serial_io_handler_posix.cc

Issue 1107013002: [device] Replace MessageLoopProxy usage with ThreadTaskRunnerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Review Comments : Removal of message_loop_proxy header file Created 5 years, 7 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
« no previous file with comments | « device/serial/serial_io_handler_posix.h ('k') | device/serial/serial_io_handler_win.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "device/serial/serial_io_handler_posix.h" 5 #include "device/serial/serial_io_handler_posix.h"
6 6
7 #include <sys/ioctl.h> 7 #include <sys/ioctl.h>
8 #include <termios.h> 8 #include <termios.h>
9 9
10 #include "base/posix/eintr_wrapper.h" 10 #include "base/posix/eintr_wrapper.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 return false; 122 return false;
123 #endif 123 #endif
124 } 124 }
125 125
126 } // namespace 126 } // namespace
127 127
128 namespace device { 128 namespace device {
129 129
130 // static 130 // static
131 scoped_refptr<SerialIoHandler> SerialIoHandler::Create( 131 scoped_refptr<SerialIoHandler> SerialIoHandler::Create(
132 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop, 132 scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
133 scoped_refptr<base::MessageLoopProxy> ui_thread_message_loop) { 133 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner) {
134 return new SerialIoHandlerPosix(file_thread_message_loop, 134 return new SerialIoHandlerPosix(file_thread_task_runner,
135 ui_thread_message_loop); 135 ui_thread_task_runner);
136 } 136 }
137 137
138 void SerialIoHandlerPosix::RequestAccess( 138 void SerialIoHandlerPosix::RequestAccess(
139 const std::string& port, 139 const std::string& port,
140 scoped_refptr<base::MessageLoopProxy> file_message_loop, 140 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
141 scoped_refptr<base::MessageLoopProxy> ui_message_loop) { 141 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
142 #if defined(OS_LINUX) && defined(OS_CHROMEOS) 142 #if defined(OS_LINUX) && defined(OS_CHROMEOS)
143 if (base::SysInfo::IsRunningOnChromeOS()) { 143 if (base::SysInfo::IsRunningOnChromeOS()) {
144 chromeos::PermissionBrokerClient* client = 144 chromeos::PermissionBrokerClient* client =
145 chromeos::DBusThreadManager::Get()->GetPermissionBrokerClient(); 145 chromeos::DBusThreadManager::Get()->GetPermissionBrokerClient();
146 if (!client) { 146 if (!client) {
147 DVLOG(1) << "Could not get permission_broker client."; 147 DVLOG(1) << "Could not get permission_broker client.";
148 OnRequestAccessComplete(port, false /* failure */); 148 OnRequestAccessComplete(port, false /* failure */);
149 return; 149 return;
150 } 150 }
151 // PermissionBrokerClient should be called on the UI thread. 151 // PermissionBrokerClient should be called on the UI thread.
152 ui_message_loop->PostTask( 152 ui_task_runner->PostTask(
153 FROM_HERE, 153 FROM_HERE,
154 base::Bind( 154 base::Bind(
155 &chromeos::PermissionBrokerClient::RequestPathAccess, 155 &chromeos::PermissionBrokerClient::RequestPathAccess,
156 base::Unretained(client), 156 base::Unretained(client), port, -1,
157 port,
158 -1,
159 base::Bind(&SerialIoHandler::OnRequestAccessComplete, this, port))); 157 base::Bind(&SerialIoHandler::OnRequestAccessComplete, this, port)));
160 } else { 158 } else {
161 OnRequestAccessComplete(port, true /* success */); 159 OnRequestAccessComplete(port, true /* success */);
162 return; 160 return;
163 } 161 }
164 #else 162 #else
165 OnRequestAccessComplete(port, true /* success */); 163 OnRequestAccessComplete(port, true /* success */);
166 #endif // defined(OS_LINUX) && defined(OS_CHROMEOS) 164 #endif // defined(OS_LINUX) && defined(OS_CHROMEOS)
167 } 165 }
168 166
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 } 270 }
273 271
274 if (tcsetattr(file().GetPlatformFile(), TCSANOW, &config) != 0) { 272 if (tcsetattr(file().GetPlatformFile(), TCSANOW, &config) != 0) {
275 VPLOG(1) << "Failed to set port attributes"; 273 VPLOG(1) << "Failed to set port attributes";
276 return false; 274 return false;
277 } 275 }
278 return true; 276 return true;
279 } 277 }
280 278
281 SerialIoHandlerPosix::SerialIoHandlerPosix( 279 SerialIoHandlerPosix::SerialIoHandlerPosix(
282 scoped_refptr<base::MessageLoopProxy> file_thread_message_loop, 280 scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
283 scoped_refptr<base::MessageLoopProxy> ui_thread_message_loop) 281 scoped_refptr<base::SingleThreadTaskRunner> ui_thread_task_runner)
284 : SerialIoHandler(file_thread_message_loop, ui_thread_message_loop), 282 : SerialIoHandler(file_thread_task_runner, ui_thread_task_runner),
285 is_watching_reads_(false), 283 is_watching_reads_(false),
286 is_watching_writes_(false) { 284 is_watching_writes_(false) {
287 } 285 }
288 286
289 SerialIoHandlerPosix::~SerialIoHandlerPosix() { 287 SerialIoHandlerPosix::~SerialIoHandlerPosix() {
290 } 288 }
291 289
292 void SerialIoHandlerPosix::OnFileCanReadWithoutBlocking(int fd) { 290 void SerialIoHandlerPosix::OnFileCanReadWithoutBlocking(int fd) {
293 DCHECK(CalledOnValidThread()); 291 DCHECK(CalledOnValidThread());
294 DCHECK_EQ(fd, file().GetPlatformFile()); 292 DCHECK_EQ(fd, file().GetPlatformFile());
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 (config.c_cflag & CSTOPB) ? serial::STOP_BITS_TWO : serial::STOP_BITS_ONE; 452 (config.c_cflag & CSTOPB) ? serial::STOP_BITS_TWO : serial::STOP_BITS_ONE;
455 info->cts_flow_control = (config.c_cflag & CRTSCTS) != 0; 453 info->cts_flow_control = (config.c_cflag & CRTSCTS) != 0;
456 return info.Pass(); 454 return info.Pass();
457 } 455 }
458 456
459 std::string SerialIoHandler::MaybeFixUpPortName(const std::string& port_name) { 457 std::string SerialIoHandler::MaybeFixUpPortName(const std::string& port_name) {
460 return port_name; 458 return port_name;
461 } 459 }
462 460
463 } // namespace device 461 } // namespace device
OLDNEW
« no previous file with comments | « device/serial/serial_io_handler_posix.h ('k') | device/serial/serial_io_handler_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698